先决条件

1. 设置许可证管理器和购买支持

首先,完成许可证管理器设置的第一步。 然后,转到 AWS Marketplace。找到 “Rancher Premium Support Billing Container Starter Pack”。最后,购买至少一项 Entitlement。

如果你已使用 “Rancher Setup” AWS Marketplace 产品安装了 Rancher,请跳至步骤 4

注意:每项 Entitlement 都对一定数量的节点授予访问支持的权限。你可以后续根据需要购买更多许可证。

2. 创建 EKS 集群

按照 Rancher 文档创建 EKS 集群。进行到安装 Rancher Helm Chart(最后一步)时,停止并返回此页面。该集群需要满足以下要求:

  • EKS 1.22 版本。
  • 集群中的每个节点都可以访问包含 Rancher 及其相关镜像的镜像仓库。
  • 集群中的每个节点都可以访问存储 CSP Adapter 的 ECR 仓库。
  • 集群中的每个节点都可以访问许可证管理器服务。
  • 集群中的每个节点都可以访问 STS 服务的全局端点。

3. 安装 Rancher

除了在 Rancher 文档中指定的 Rancher 安装选项外,你还需要启用其它指标。 你可以通过 Helm CLI 使用以下选项来完成:

  1. --set extraEnv\[0\].name="CATTLE_PROMETHEUS_METRICS" --set-string extraEnv\[0\].value=true

你还可以使用 values.yaml,如下所示:

  1. extraEnv:
  2. - name: "CATTLE_PROMETHEUS_METRICS"
  3. value: "true"

你还需要安装 Rancher 2.6.7 或更高版本。

4. 创建 OIDC 提供程序

按照 AWS 文档为上一节中指定的集群创建 OIDC 提供程序。

5. 创建 IAM 角色

CSP Adapter 需要 IAM 角色才能签入/签出 Entitlement。

首先,配置如下的信任策略。你需要将 MY_AWS_ACC 替换为你的 AWS 帐号,将 MY_AWS_REGION 替换为你的 AWS 区域,并将 MY_OIDC_PROVIDER 替换为你的 OIDC 提供商 ID:

  1. {
  2. "Version": "2012-10-17",
  3. "Statement": [
  4. {
  5. "Effect": "Allow",
  6. "Principal": {
  7. "Federated": "arn:aws:iam::${MY_AWS_ACC}:oidc-provider/oidc.eks.${MY_AWS_REGION}.amazonaws.com/id/${MY_OIDC_PROVIDER}"
  8. },
  9. "Action": "sts:AssumeRoleWithWebIdentity",
  10. "Condition": {
  11. "StringEquals": {
  12. "oidc.eks.${MY_AWS_REGION}.amazonaws.com/id/${MY_OIDC_PROVIDER}:sub": "system:serviceaccount:cattle-csp-adapter-system:rancher-csp-adapter",
  13. "oidc.eks.${MY_AWS_REGION}.amazonaws.com/id/${MY_OIDC_PROVIDER}:aud": "sts.amazonaws.com"
  14. }
  15. }
  16. }
  17. ]
  18. }

接下来,为具有以下权限的角色使用策略:

  1. {
  2. "Version": "2012-10-17",
  3. "Statement": [
  4. {
  5. "Sid": "RancherCSPAdapterPermissions",
  6. "Effect": "Allow",
  7. "Action": [
  8. "license-manager:ListReceivedLicenses",
  9. "license-manager:CheckoutLicense",
  10. "license-manager:ExtendLicenseConsumption",
  11. "license-manager:CheckInLicense",
  12. "license-manager:GetLicense",
  13. "license-manager:GetLicenseUsage"
  14. ],
  15. "Resource": "*"
  16. }
  17. ]
  18. }

保存角色的名称。稍后安装 CSP Adapter 时将需要它。