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/80
Linux 主机上的端口。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/rancher
并rancher/rancher-agent
在同一节点上
SUSE Rancher 国内服务商,提供最佳实践,欢迎来咨询:W-X:FM0058 ,Q-Q:80815877