安裝適配器
重要: 如果您嘗試重新安裝適配器,可能會在最多一小時內遇到錯誤的不合規訊息。
Rancher 與適配器相容性矩陣
不同版本的 CSP 適配器依賴於特定版本 Rancher 中的功能。 為了成功部署和運行適配器,您需要確保其版本與所需的 Rancher 版本相對應。
| Rancher 版本 | 適配器版本 |
|---|---|
| v2.13.0 | 108.0.0+up8.0.0 |
1. 獲取本地叢集的存取權限
注意: 只有管理員使用者應該有權存取本地叢集。由於 CSP 適配器必須安裝在本地叢集中,因此此安裝必須由管理員使用者執行。
首先,點擊本地叢集並下載 kubeconfig 權杖。然後您可以使用以下命令設定您的 CLI 使用此新權杖,將 $TOKEN_PATH 替換為您檔案系統上下載權杖的路徑:
export KUBECONFIG=$TOKEN_PATH
2. 建立適配器命名空間
建立將安裝適配器的命名空間。
kubectl create ns cattle-csp-adapter-system
3. 建立憑證 Secret
適配器需要存取 Rancher 用於與 Rancher 伺服器通訊的根 CA。您可以在 chart 選項頁面中閱讀更多關於 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
然後,建立一個使用此憑證的 secret:
kubectl -n cattle-csp-adapter-system create secret generic tls-ca-additional --from-file=ca-additional.pem
重要: 不要更改檔案或建立的 secret 的名稱。更改這些值可能會導致適配器運行時出現錯誤。
4. 安裝 Chart
首先,使用以下命令新增 rancher/charts 儲存庫:
helm repo add rancher-charts https://charts.rancher.io
接下來,安裝 CSP 適配器。您必須指定多個值,包括帳號號碼以及在先決條件中建立的角色名稱。
確保您使用的 CSP 適配器版本與您正在運行的 Rancher 版本相符,如上文所定義。
對於以下指示,將 $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中建立儲存自訂憑證的 secret,則需要隨著憑證輪換而定期更新此 secret。
首先,使用以下命令刪除 cattle-csp-adapter-system 命名空間中的原始 secret:
kubectl delete secret tls-ca-additional -n cattle-csp-adapter-system
然後,遵循步驟 3中的原始安裝步驟,將 secret 的內容替換為更新後的值。
最後,重新啟動 rancher-csp-adapter 部署,以確保適配器可以使用更新後的值:
kubectl rollout restart deploy rancher-csp-adapter -n cattle-csp-adapter-system
注意: 諸如 cert-manager 的 trust operator 等方法可以讓您自動化其中一些任務。雖然這些方法不受官方支援,但它們可以減少您需要手動輪換憑證的頻率。