在阿里云容器服務Kubernetes(ACK)中配置集群的核心步驟可分為以下六大關鍵環節,涵蓋架構設計到運維管理:
1. 集群規劃與基礎配置
- 集群類型選擇
- 托管版:Master節點由阿里云托管(推薦生產環境)
- 專有版:自行管控Master節點
- Serverless版:無節點管理,按Pod計費
- 關鍵參數
集群名稱 | 地域/可用區 | Kubernetes版本 | 時區 | 是否啟用RBAC
2. 網絡架構設計(最核心步驟,創建后不可修改)
VPC與交換機
- 新建或使用現有VPC
- 交換機分配:
- 節點交換機:Worker節點IP來源
- Pod交換機:Pod IP地址池(每個可用區至少1個,如
10.0.0.0/19
) - Service CIDR:Service網段(如
172.21.0.0/20
)
網絡插件
- Terway(推薦):阿里云自研高性能網絡
- 支持ENI直通/VPC路由/IPvlan模式
- Flannel:傳統Overlay網絡
?? Pod網絡CIDR不能與VPC/Service CIDR重疊
3. 節點與節點池配置
節點規格
- 選擇ECS實例類型(如
ecs.g7.large
) - 磁盤配置:
- 系統盤:SSD(≥100 GiB)
- 數據盤:高效云盤/ESSD(建議≥200 GiB)
節點池策略
自動伸縮:開啟 | 實例數量范圍(min/max)| 伸縮組策略
操作系統:Alibaba Cloud Linux 3
登錄方式:SSH密鑰對 | 自定義密碼
4. 關鍵組件啟用
組件 | 作用 | 必選建議 |
---|---|---|
Ingress控制器 | 對外暴露HTTP服務 | 推薦Nginx Ingress |
CSI存儲插件 | 掛載云盤/NAS/OSS | 必選 |
CoreDNS | 集群內服務發現 | 默認啟用 |
監控組件 | 對接Prometheus/ARMS | 生產環境必選 |
日志服務SLS | 日志采集 | 生產環境必選 |
5. 安全加固配置
- RAM角色綁定:
- 為Worker節點分配最小權限RAM角色(如
KubernetesWorkerRole
)
- 為Worker節點分配最小權限RAM角色(如
- 密鑰管理:
- 啟用KMS加密Etcd數據盤
- 密鑰服務選擇(阿里云KMS或自建)
- 安全組策略:
- 限制22/6443端口訪問源IP
- 節點安全組開放
NodePort范圍
(默認30000-32767)
6. 創建后必要操作
- 連接集群:
# 獲取kubeconfig aliyun cs GetClusterKubeConfig --ClusterId=<集群ID> > ~/.kube/config
- 驗證狀態:
kubectl get nodes # 確認節點Ready kubectl get pod -n kube-system # 檢查核心組件
- 配置網絡策略:
- 安裝NetworkPolicy插件(如Calico)
- 通過控制臺配置安全組規則
- 對接鏡像服務ACR:
- 綁定容器鏡像實例
- 配置Pull憑證
kubectl create secret docker-registry acr-secret \--docker-server=registry.<region>.aliyuncs.com \--docker-username=<username> \--docker-password=<password>
關鍵實踐建議
- 高可用設計:
- 多可用區部署(至少2個AZ)
- Worker節點跨區分布
- 備份恢復:
- 啟用Etcd備份(控制臺:運維管理 > 備份中心)
- 成本優化:
- 使用搶占式實例節點池
- 配置HPA/VPA自動伸縮
- 審計合規:
- 開啟操作審計(ActionTrail)
- 啟用策略治理中心(OPA/Gatekeeper)
📌 避坑提示:
- 提前規劃IP地址池(避免與已有環境沖突)
- 生產環境務必啟用日志/監控組件
- 使用Terraform/OpenAPI實現IaC管理(https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/cs_kubernetes)
通過以上步驟,即可完成一個符合生產標準的ACK集群搭建,后續可通過ArgoCD/GitOps實現持續部署。