本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

安装适配器

如果您尝试重新安装适配器,您可能会遇到长达一个小时的错误不合规消息。

Rancher vs.适配器兼容性矩阵

重要说明:

不同版本的CSP适配器依赖于特定版本的Rancher中找到的功能。 为了成功部署和运行适配器,您需要确保其版本与所需的Rancher版本相对应。

Rancher 版本 适配器版本

v2.14.2

v109.0.0+up9.0.0

v2.14.1

v109.0.0+up9.0.0

v2.13.3

v108.0.0+up8.0.0

v2.13.2

v108.0.0+up8.0.0

v2.13.1

v108.0.0+up8.0.0

v2.13.0

v108.0.0+up8.0.0

1.访问本地群集

只有管理员用户应有权访问本地群集。由于CSP适配器必须安装在本地群集中,因此此安装必须由管理员用户执行。

首先,单击本地群集并下载kubeconfig令牌。然后,您可以使用以下命令配置您的CLI以使用此新令牌,将`$TOKEN_PATH`替换为您 的文件系统中下载的令牌的路径:

export KUBECONFIG=$TOKEN_PATH

2.创建适配器名称空间

创建适配器将要安装的名称空间。

kubectl create ns cattle-csp-adapter-system

3.创建证书密钥

适配器需要访问Rancher用于与Rancher服务器通信的根CA。您可以在图表选项页面中阅读有关Rancher支持的证书选项的更多信息。

如果您的Rancher安装使用由受认可的证书颁发机构(如Let’s Encrypt)签署的证书,则可以安全地跳到第4步

但是,如果您的Rancher安装使用自定义证书,例如Rancher生成的证书或由私有证书颁发机构签署的证书,则需要以PEM编码格式提供该机构的证书,以便适配器可以与Rancher通信。

首先,检索 Rancher 正在使用的证书,并将其放置在名为 ca-additional.pem 的文件中。如果您使用 Rancher 生成的证书选项,可以使用以下命令完成此操作:

kubectl get secret tls-rancher -n cattle-system -o jsonpath="{.data.tls\.crt}" | base64 -d  >> ca-additional.pem

然后,创建一个使用此证书的密钥:

kubectl -n cattle-csp-adapter-system create secret generic tls-ca-additional --from-file=ca-additional.pem
请勿更改文件或创建的密钥的名称。更改这些值可能会导致适配器运行时出现错误。

4.安装 Chart

首先,使用以下命令添加 rancher/charts 仓库:

helm repo add rancher-charts https://charts.rancher.io

接下来,安装 CSP 适配器。您必须指定多个值,包括账户号码和在先决条件中创建的角色名称。

确保使用与您正在运行的 Rancher 版本匹配的 CSP 适配器版本,如 上面 所定义。

对于以下说明,将 $MY_ACC_NUM 替换为您的 AWS 账户号码,将 $MY_ROLE_NAME 替换为在先决条件中创建的角色名称。此外,将 $CSP_ADAPTER_VERSION 替换为与您的 Rancher 版本匹配的版本,参见 版本矩阵

如果您使用 shell 变量,请勿指定引号。例如,MY_ACC_NUM=123456789012 将有效,但 MY_ACC_NUM="123456789012" 将失败。
使用 AWS Marketplace 列表的欧盟和英国账户需要指定额外的 --set image.repository=rancher/rancher-csp-adapter-eu 选项。要查看在安装适配器时您的账户是否需要此选项,请参考市场列表的使用说明。
  • Let’s Encrypt/公共证书颁发机构

  • 私有 CA 机构 / Rancher 生成的证书

  helm install rancher-csp-adapter rancher-charts/rancher-csp-adapter --namespace cattle-csp-adapter-system --set aws.enabled=true --set aws.roleName=$MY_ROLE_NAME --set-string aws.accountNumber=$MY_ACC_NUM --version $CSP_ADAPTER_VERSION

或者,您可以使用 values.yaml 并指定如下选项:

  aws:
    enabled: true
    accountNumber: "$MY_ACC_NUM"
    roleName: $MY_ROLE_NAME
账户号码需要以字符串格式指定,如上所示,否则安装将失败。

然后,您可以使用以下命令安装适配器:

  helm install rancher-csp-adapter rancher-charts/rancher-csp-adapter -f values.yaml --version $CSP_ADAPTER_VERSION
  helm install rancher-csp-adapter rancher-charts/rancher-csp-adapter --namespace cattle-csp-adapter-system --set aws.enabled=true --set aws.roleName=$MY_ROLE_NAME --set-string aws.accountNumber=$MY_ACC_NUM --set additionalTrustedCAs=true --version $CSP_ADAPTER_VERSION

或者,您可以使用一个 values.yaml 并指定以下选项:

  aws:
    enabled: true
    accountNumber: "$MY_ACC_NUM"
    roleName: $MY_ROLE_NAME
  additionalTrustedCAs: true
账户号码需要以字符串格式指定,如上所示,否则安装将失败。

然后,您可以使用以下命令安装适配器:

  helm install rancher-csp-adapter rancher-charts/rancher-csp-adapter -f values.yaml --version $CSP_ADAPTER_VERSION

5.管理证书更新

如果您需要在步骤 3中创建一个存储自定义证书的密钥,您需要随着证书的轮换而定期更新此密钥。

首先,使用以下命令删除 cattle-csp-adapter-system 名称空间中的原始密钥:

kubectl delete secret tls-ca-additional -n cattle-csp-adapter-system

然后,按照 步骤 3 中的原始安装步骤,用更新的值替换密钥的内容。

最后,重启 rancher-csp-adapter 部署,以确保更新的值可供适配器使用:

kubectl rollout restart deploy rancher-csp-adapter -n cattle-csp-adapter-system
像 cert-manager 的 信任操作员 这样的方式可以让您自动化其中一些任务。尽管这些方法没有官方支持,但它们可以减少您手动轮换证书的频率。