|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
4.安装 SUSE Rancher Prime
本节介绍如何在高可用性 Kubernetes 安装中为您的隔离环境部署 Rancher。隔离环境可能是指 Rancher 服务器将在离线状态下安装,位于防火墙后面或代理后面。
Rancher 的特权访问
当 Rancher 服务器在 Docker 容器中部署时,会在容器内安装一个本地 Kubernetes 集群供 Rancher 使用。由于 Rancher 的许多功能以部署的形式运行,并且在容器内运行容器需要特权模式,因此您需要使用 --privileged 选项安装 Rancher。
Kubernetes 指令
Rancher 建议在 Kubernetes 集群上安装 Rancher。高可用性 Kubernetes 安装由三个节点组成,这些节点在 Kubernetes 集群上运行 Rancher 服务器组件。持久性层(etcd)也在这三个节点上进行复制,以提供冗余和数据重复,以防其中一个节点发生故障。
1.添加 Helm 图表储存库
从可以访问互联网的系统中获取最新的 Helm 图表,并将生成的清单复制到可以访问 Rancher 服务器集群的系统中。
-
如果您还没有,请在可以访问互联网的工作站上本地安装
helm。注意:请参考 Helm 版本要求 以选择要安装 Rancher 的 Helm 版本。 -
使用
helm repo add命令添加包含安装 Rancher Prime 的图表的 Helm 图表储存库。helm repo add rancher-prime <helm-chart-repo-url>To learn more about the Rancher Prime Helm chart repository URL, see our Prime-only documentation. Authentication is required. Use your SUSE Customer Center (SCC) credentials to log in.
-
获取 SUSE Rancher Prime 图表。这将下载图表并将其保存在当前目录中,文件格式为
.tgz。-
要获取最新版本:
helm fetch rancher-prime/rancher -
要获取特定版本:
-
检查可用的 Rancher Prime 版本。
helm search repo --versions rancher-prime -
通过指定
--version参数获取特定版本:helm fetch rancher-prime/rancher --version=<version>
-
-
2.选择您的 SSL 配置
Rancher 服务器默认设计为安全,并需要 SSL/TLS 配置。
当 Rancher 安装在隔离的 Kubernetes 集群上时,推荐有两种证书来源选项。
|
如果您想在外部终止 SSL/TLS,请参见 在外部负载均衡器上进行 TLS 终止。 |
| 配置 | 图表选项 | 说明 | 需要 cert-manager |
|---|---|---|---|
Rancher 生成的自签名证书 |
|
使用 Rancher 生成的 CA(自签名)颁发的证书 |
是 |
来自文件的证书 |
|
通过创建Kubernetes Secret(s)使用您自己的证书文件。 |
否 |
用于隔离安装的Helm Chart选项
在设置Rancher Helm模板时,Helm图表中有几个选项专门为隔离安装设计。
| 图表选项 | 图表值 | 说明 |
|---|---|---|
|
|
根据运行的cert-manager版本配置适当的Rancher TLS发行者。 |
|
|
配置Rancher服务器在配置集群时始终从您的私有注册表中拉取。 |
|
|
配置Rancher服务器使用打包的Helm系统图表副本。 系统图表存储库包含监控、日志记录、警报和全局DNS等功能所需的所有目录项。这些 Helm图表位于GitHub上,但由于您处于隔离环境中,使用Rancher中捆绑的图表比设置Git镜像要容易得多。 |
3.获取Cert-Manager图表
根据您在2中做出的选择。选择您的SSL配置,完成以下其中一个程序。
选项A:默认自签名证书
默认情况下,Rancher生成CA并使用cert-manager颁发证书以访问Rancher服务器界面。
|
对cert-manager的最近更改需要升级。如果您正在升级Rancher并使用版本低于v0.11.0的cert-manager,请查看我们的升级cert-manager文档。 |
1.添加 cert-manager 储存库
从连接到互联网的系统中,将cert-manager储存库添加到Helm:
helm repo add jetstack https://charts.jetstack.io
helm repo update
2.获取cert-manager图表
从 Helm图表储存库获取最新的cert-manager图表。
helm fetch jetstack/cert-manager --version v1.11.0
4.安装 Rancher
将获取的图表复制到可以访问Rancher服务器集群的系统以完成安装。
1.安装cert-manager
使用安装图表时相同的选项安装cert-manager。请记得将`image.repository`选项设置为从您的私有注册表中拉取镜像。
|
要查看如何自定义cert-manager安装的选项(包括在您的集群使用PodSecurityPolicies的情况下),请参见 cert-manager文档。 |
点击展开
如果您使用自签名证书,请安装cert-manager:
-
为 cert-manager 创建名称空间。
kubectl create namespace cert-manager -
创建cert-manager的自定义资源定义(CRD)。
kubectl apply -f cert-manager-crd.yaml -
安装cert-manager。
helm install cert-manager ./cert-manager-v1.11.0.tgz \ --namespace cert-manager \ --set image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-controller \ --set webhook.image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-webhook \ --set cainjector.image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-cainjector \ --set startupapicheck.image.repository=<REGISTRY.YOURDOMAIN.COM:PORT>/quay.io/jetstack/cert-manager-ctl
2.安装 Rancher
首先,请参考 添加 TLS secrets 以发布证书文件,以便 Rancher 和入口控制器可以使用它们。
然后,使用kubectl为Rancher创建名称空间:
kubectl create namespace cattle-system
接下来,安装Rancher,声明您选择的选项。使用下面的参考表替换每个占位符。需要配置 Rancher 以使用私有注册表,以便为任何 Rancher 启动的 Kubernetes 集群或 Rancher 工具提供服务。
| 占位符 | 说明 |
|---|---|
|
输出 tarball 的版本号。 |
|
您指向负载均衡器的 DNS 名称。 |
|
您私有注册表的 DNS 名称。 |
|
在 k8s 集群上运行的 Cert-manager 版本。 |
helm install rancher ./rancher-<VERSION>.tgz \
--namespace cattle-system \
--set hostname=<RANCHER.YOURDOMAIN.COM> \
--set certmanager.version=<CERTMANAGER_VERSION> \
--set image.registry=<REGISTRY.YOURDOMAIN.COM:PORT> \
--set systemDefaultRegistry=<REGISTRY.YOURDOMAIN.COM:PORT> \ # Set a default private registry to be used in Rancher
--set useBundledSystemChart=true # Use the packaged Rancher system charts
可选:要安装特定的 Rancher 版本,请设置 image.tag 值,例如:--set image.tag=v2.14.1
选项 B:使用 Kubernetes Secrets 从文件中获取证书
1.创建 Secrets
从您自己的证书创建 Kubernetes secrets 供 Rancher 使用。证书的通用名称需要与下面命令中的 hostname 选项匹配,否则入口控制器将无法为 Rancher 提供站点。
2.安装 Rancher
安装 Rancher,声明您选择的选项。使用下面的参考表替换每个占位符。需要配置 Rancher 以使用私有注册表,以便为任何 Rancher 启动的 Kubernetes 集群或 Rancher 工具提供服务。
| 占位符 | 说明 |
|---|---|
|
输出 tarball 的版本号。 |
|
您指向负载均衡器的 DNS 名称。 |
|
您私有注册表的 DNS 名称。 |
helm install rancher ./rancher-<VERSION>.tgz \
--namespace cattle-system \
--set hostname=<RANCHER.YOURDOMAIN.COM> \
--set image.registry=<REGISTRY.YOURDOMAIN.COM:PORT> \
--set ingress.tls.source=secret \
--set systemDefaultRegistry=<REGISTRY.YOURDOMAIN.COM:PORT> \ # Set a default private registry to be used in Rancher
--set useBundledSystemChart=true # Use the packaged Rancher system charts
如果您使用的是私有 CA 签名的证书,请在 --set ingress.tls.source=secret 后添加 --set privateCA=true:
helm install rancher ./rancher-<VERSION>.tgz \
--namespace cattle-system \
--set hostname=<RANCHER.YOURDOMAIN.COM> \
--set image.registry=<REGISTRY.YOURDOMAIN.COM:PORT> \
--set ingress.tls.source=secret \
--set privateCA=true \
--set systemDefaultRegistry=<REGISTRY.YOURDOMAIN.COM:PORT> \ # Set a default private registry to be used in Rancher
--set useBundledSystemChart=true # Use the packaged Rancher system charts
安装完成。