ALB Ingress Controller提供強大的Ingress流量管理功能。本文介紹如何授予自建叢集ALB Ingress Controller許可權,使得自建叢集可以使用ALB Ingress Controller的流量管理功能。
操作流程
步驟一:建立RAM使用者
使用阿里雲帳號登入RAM控制台。
在左側導覽列,選擇身份管理>使用者,在右側頁面單擊建立使用者。
在建立使用者頁面,輸入登入名稱稱,顯示名稱,選中使用永久AccessKey訪問,然後單擊確定。
在建立使用者頁面,複製AccessKey ID和AccessKey Secret。
步驟二:建立權限原則,並授予RAM使用者
建立調用ALB Ingress Controller組件的權限原則。
在RAM控制台左側導覽列,選擇許可權管理>權限原則,在右側頁面單擊建立權限原則。
單擊指令碼編輯頁簽,將以下內容複寫到代碼框,單擊確定。
在建立權限原則對話方塊,輸入名稱,單擊確定。
授予RAM使用者調用ALB Ingress Controller組件的權限原則。
在左側導覽列,選擇身份管理>使用者。
在使用者頁面,找到步驟一:建立RAM使用者建立的RAM使用者,在該RAM使用者右側操作列,單擊添加許可權。
在新增授權面板,在權限原則地區選取項目自訂策略,選擇已建立的權限原則,其他採用預設配置,單擊確認新增授權。
單擊關閉。
步驟三:在自建叢集配置AccessKey ID與AccessKey Secret
對AccessKey ID與AccessKey Secret進行Base64編碼。
在Base64輸入AccessKey ID,單擊編碼,擷取AccessKey ID編碼後的結果。
輸入AccessKey Secret,單擊編碼,擷取AccessKey Secret編碼後的結果。
執行以下命令,在自建叢集的load-balancer-config ConfigMap輸入Base64編碼後的AccessKey ID與AccessKey Secret,儲存load-balancer-config ConfigMap。
vim <load-balancer-config ConfigMap檔案名稱>load-balancer-config ConfigMap程式碼範例如下:
apiVersion: v1 kind: ConfigMap metadata: name: load-balancer-config namespace: kube-system data: cloud-config.conf: |- { "Global": { "AccessKeyID": "<YOUR_ACCESS_KEY_ID>", # 填寫Base64編碼後的AccessKey ID "AccessKeySecret": "<YOUR_ACCESS_KEY_SECRET>" # 填寫Base64編碼後的AccessKey Secret } }執行以下命令,部署load-balancer-config ConfigMap。
kubectl apply -f <load-balancer-config ConfigMap檔案名稱>重啟load-balancer-controller的Pod,使配置生效。
執行以下命令,擷取load-balancer-controller的Pod名稱。
kubectl get pod -n kube-system|grep load-balancer-controller執行以下命令,刪除load-balancer-controller的Pod。
kubectl delete pod -n kube-system load-balancer-controller-***預期輸出:
pod load-balancer-controller-*** deleted執行以下命令,查看重建後load-balancer-controller的Pod狀態。
kubectl get pod -n kube-system|grep load-balancer-controller預期輸出:
load-balancer-controller-0o9s*** 1/1 Running 0 10s
相關文檔
教程:
自建Kubernetes叢集使用ALB Ingress最佳實務
源碼文檔: