Rancher 可以通过运行单个 Docker 容器来安装。

在此安装场景中,您将在单个 Linux 主机上安装 Docker,然后使用单个 Docker 容器在您的主机上部署 Rancher。

建议仅出于开发和测试目的使用 Docker 安装 Rancher。能否将Rancher迁移到高可用集群取决于Rancher版本:

当Rancher服务器部署在Docker容器中时,容器内会安装一个本地的Kubernetes集群供Rancher使用。由于 Rancher 的许多功能都作为部署运行,并且需要特权模式才能在容器内运行容器,因此您需要使用该--privileged选项来安装 Rancher。

SUSE Rancher 国内服务商,提供最佳实践,欢迎来咨询:W-X:FM0058 ,Q-Q:80815877

1. 配置Linux主机

根据我们的要求配置单个 Linux 主机来启动您的 Rancher 服务器。

2. 选择 SSL 选项并安装Rancher

出于安全目的,使用 Rancher 时需要 SSL(安全套接字层)。SSL 可保护所有 Rancher 网络通信的安全,例如当您登录集群或与集群交互时。

从以下选项中进行选择:

选项 A:默认 Rancher 生成的自签名证书
选项 B:自带自签名证书
选项 C:携带您自己的证书,由公认的 CA 签名
选项 D:让我们加密证书
选项 E:本地主机隧道,无证书

选项 A:默认 Rancher 生成的自签名证书

如果您在不关心身份验证的开发或测试环境中安装 Rancher,请使用它生成的自签名证书安装 Rancher。此安装选项省去了您自己生成证书的麻烦。

登录到您的主机,然后运行以下命令:

docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  --privileged \
  rancher/rancher:latest

SUSE Rancher 国内服务商,提供最佳实践,欢迎来咨询:W-X:FM0058 ,Q-Q:80815877

选项 B:携带您自己的自签名

在您的团队将访问 Rancher 服务器的开发或测试环境中,创建一个用于您的安装的自签名证书,以便您的团队可以验证他们正在连接到您的 Rancher 实例。

先决条件:
使用OpenSSL或您选择的其他方法创建自签名证书。
  • 证书文件必须为 PEM 格式。
  • 在您的证书文件中,包含链中的所有中间证书。首先订购您的证书,然后是中间证书。

创建证书后,运行下面的 Docker 命令来安装 Rancher。使用该-v标志并提供证书的路径以将它们安装到容器中。

占位符描述
<CERT_DIRECTORY>包含证书文件的目录的路径。
<FULL_CHAIN.pem>完整证书链的路径。
<PRIVATE_KEY.pem>您的证书的私钥的路径。
<CA_CERTS.pem>证书颁发机构的证书的路径。

登录到您的主机,然后运行以下命令:

docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  -v /<CERT_DIRECTORY>/<FULL_CHAIN.pem>:/etc/rancher/ssl/cert.pem \
  -v /<CERT_DIRECTORY>/<PRIVATE_KEY.pem>:/etc/rancher/ssl/key.pem \
  -v /<CERT_DIRECTORY>/<CA_CERTS.pem>:/etc/rancher/ssl/cacerts.pem \
  --privileged \
  rancher/rancher:latest

选项 C:携带您自己的证书,由认可的CA

在公开公开应用程序的生产环境中,您将使用由公认的 CA 签名的证书,以便您的用户群不会遇到安全警告。

不建议在生产环境中安装 Docker。这些说明仅供测试和开发之用。

先决条件:
  • 证书文件必须为 PEM 格式。
  • 在您的证书文件中,包含由公认的 CA 提供的所有中间证书。首先订购您的证书,然后是中间证书。

获取证书后,运行以下 Docker 命令。

  • 使用该-v标志并提供证书的路径以将它们安装到容器中。由于您的证书是由公认的 CA 签署的,因此无需安装额外的 CA 证书文件。
  • 使用--no-cacerts容器的 as 参数来禁用 Rancher 生成的默认 CA 证书。
占位符描述
<CERT_DIRECTORY>包含证书文件的目录的路径。
<FULL_CHAIN.pem>完整证书链的路径。
<PRIVATE_KEY.pem>您的证书的私钥的路径。

登录到您的主机,然后运行以下命令:

docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  -v /<CERT_DIRECTORY>/<FULL_CHAIN.pem>:/etc/rancher/ssl/cert.pem \
  -v /<CERT_DIRECTORY>/<PRIVATE_KEY.pem>:/etc/rancher/ssl/key.pem \
  --privileged \
  rancher/rancher:latest \
  --no-cacerts

选项 D:让我们加密证书


警告:Let's Encrypt 提供了请求新证书的速率限制。因此,请限制创建或销毁容器的频率。有关更多信息,请参阅有关速率限制的 Let's Encrypt 文档。

对于生产环境,您还可以选择使用Let's Encrypt证书。

Let's Encrypt 使用 http-01 质询来验证您是否拥有对域的控制权。您可以通过将要用于 Rancher 访问的主机名(例如rancher.mydomain.com)指向其运行的计算机的 IP 来确认您控制域。您可以通过在 DNS 中创建 A 记录将主机名绑定到 IP 地址。

不建议在生产环境中安装 Docker。这些说明仅供测试和开发之用。

先决条件:
  • Let's Encrypt 是一项互联网服务。因此,此选项不能在内部/气隙网络中使用。
  • 在 DNS 中创建一条记录,将您的 Linux 主机 IP 地址绑定到您要用于 Rancher 访问的主机名(rancher.mydomain.com例如)。
  • 打开TCP/80Linux 主机上的端口。Let's Encrypt http-01 质询可以来自任何源 IP 地址,因此端口TCP/80必须对所有 IP 地址开放。

满足先决条件后,您可以通过运行以下命令使用 Let's Encrypt 证书安装 Rancher。

占位符描述
<YOUR.DNS.NAME>您的域名地址

登录到您的主机,然后运行以下命令:

docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  --privileged \
  rancher/rancher:latest \
  --acme-domain <YOUR.DNS.NAME>

选项 E:本地主机隧道,无证书

如果您在运行本地主机隧道解决方案(例如ngrok )的开发或测试环境中安装 Rancher ,请避免生成证书。此安装选项不需要证书。

  • 您将--no-cacerts在参数中使用来禁用 Rancher 生成的默认 CA 证书。

登录到您的主机,然后运行以下命令:

docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  --privileged \
  rancher/rancher:latest \
  --no-cacerts

高级选项

当使用 Docker 在单个节点上安装 Rancher 时,可以启用几个高级选项:

  • 自定义 CA 证书
  • API审核日志
  • TLS 设置
  • 气隙
  • 持久数据
  • 运行rancher/rancherrancher/rancher-agent在同一节点上

SUSE Rancher 国内服务商,提供最佳实践,欢迎来咨询:W-X:FM0058 ,Q-Q:80815877

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐