Skip to main content

安装指南

在开发和测试环境中,您可以运行单个 Docker 容器安装 Rancher。在这种安装方案中,您将 Docker 安装在单个 Linux 主机上,然后使用一个 Docker 容器在您的主机上部署 Rancher。

如果要使用外部负载均衡器,请参阅使用外部负载均器的单节点安装

单节点安装的 Rancher 只推荐用于开发和测试目的。能否将 Rancher 迁移到高可用集群取决于 Rancher 版本:

Rancher backup operator 可用于将 Rancher 从单节点安装的容器迁移到高可用 Kubernetes 集群上的安装。有关详细信息,请参阅有关将 Rancher 迁移到新集群的文档。

Rancher v2.5+ 的特权访问#

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

操作系统、Docker、硬件和网络的要求#

确保您的节点满足常规的操作系统、Docker、硬件和网络的要求

配置 Linux 主机#

根据我们的操作系统、Docker、硬件和网络的要求配置一个 Linux 主机,用于启动 Rancher Server。

选择一个 SSL 选项并安装 Rancher#

为了安全起见,使用 Rancher 时需要 SSL。SSL 保护所有 Rancher 网络通信的安全,例如在您登录集群或与集群交互时。

也许你想要……

从以下选项中选择证书进行安装:

  • 选项 A:默认 Rancher 生成的自签名证书
  • 选项 B:自带证书,自签名
  • 选项 C:自带证书,由认可的 CA 签名
  • 选项 D:让我们加密证书

选项 A - 使用 Rancher 生成的自签名证书#

如果要在不涉及身份验证的开发或测试环境中安装 Rancher,可以使用 Rancher 生成的自签名证书安装 Rancher。此安装选项省去了自己生成证书的麻烦。

登录到您的 Linux 主机,然后运行下面的最小安装命令。

从 Rancher v2.5 开始,需要特权访问

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

选项 B - 使用已有的自签名证书#

在开发或测试环境中,您的团队需要访问您的 Rancher Server 时,您可以创建一个自签名证书来提供您的 Rancher Server 使用。

先决条件

使用 OpenSSL 或其他方法创建自签名证书.

  • 证书文件必须为 PEM 格式
  • 在您的证书文件中,需要包含证书链中的所有中间证书。您需要对您的证书进行排序,把您的证书放在最前面,后面跟着中间证书。有关示例,请参见SSL 常见问题解答/故障排查

创建证书后,运行下面的 Docker 命令安装 Rancher。使用 -v 标志将证书挂载到容器中。

占位符描述
<CERT_DIRECTORY>证书文件所在目录。
<FULL_CHAIN.pem>证书链文件路径。
<PRIVATE_KEY.pem>证书私有密钥路径。
<CA_CERTS.pem>证书颁发机构的证书的路径。

从 Rancher v2.5 开始,需要特权访问

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 签名的证书,这样您的用户就不会遇到安全警告。

先决条件
  • 证书文件必须为 PEM 格式
  • 在您的证书文件中,需要包含证书链中的所有中间证书。您需要对您的证书进行排序,把您的证书放在最前面,后面跟着中间证书。有关示例,请参见SSL 常见问题解答/故障排查

获得证书后,运行下面的 Docker 命令:

  • 使用该 -v 标志并根据提供的证书路径,将其挂载到容器中,由于您的证书是由权威的 CA 签名的,因此不需要安装其他 CA 证书文件。
  • 使用 --no-cacerts 作为容器的参数,来禁用由 Rancher 生成的默认 CA 证书。
占位符描述
<CERT_DIRECTORY>证书文件所在目录。
<FULL_CHAIN.pem>证书链文件路径。
<PRIVATE_KEY.pem>证书私有密钥路径。

从 Rancher v2.5 开始,需要特权访问

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 证书。Let's Encrypt 使用 http-01 challenge 来验证您对域名的控制权。您可以通过将要用于 Rancher 访问的主机名(例如 rancher.mydomain.com)指向运行该计算机的 IP 来确认您控制该域。您可以通过在 DNS 中创建 A 记录来将主机名绑定到 IP 地址。

先决条件:

  • Let's Encrypt 证书是一项 Internet 服务。因此,不能在离线环境中使用。
  • 在 DNS 中创建一条记录,该记录将 Linux 主机 IP 地址绑定到要用于 Rancher 访问的主机名 (例如,rancher.mydomain.com)。
  • 在 Linux 主机上打开 TCP/80 端口。Let's Encrypt 的 http-01 challenge 可以来自任何源 IP 地址,因此端口 TCP/80 必须开放给所有 IP 地址。

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

占位符描述
<YOUR.DNS.NAME>您的域名
重要

在使用单节点安装时,Rancher Server 的数据默认保存在容器里。这意味着,在 Rancher Server 容器被删除时,Rancher Server 的数据将会丢失。您可以通过添加 -v 参数以挂载目录的方式将数据保存在 Rancher Server 所在的主机上。详情请参阅 Rancher 单节点数据持久化

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

高级选项#

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

  • 自定义 CA 根证书
  • API 升级日志
  • TLS 配置
  • 离线安装
  • 持久化数据
  • 在同一个节点上运行 Rancher Server 和 Rancher Agent

有关详情,请参阅此页面

故障排查#

请参阅此页面,以获取常见问题和问题排查的提示。

后续步骤#

Last updated on by kingsd041