在阿里云容器服务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实现持续部署。