各家公有云K8S的优劣比较
基础设施
云服务器,按量付费,玄虚付费,买就行。阿里云运维,维护底层,上层应用软件开发
https://www.aliyun.com/product/kubernetes
API 工程师,开发也好,运维也要,一切API数据,HTTP暴露
111111有多少人在听课
https://support.huaweicloud.com/kubernetes.html
https://cloud.tencent.com/product/tke
很多中小公司,大公司,自建k8S集群,云上买。
数据库中间件,缓存,监控,CICD,日志,all in k8s ,3个懂K8S
核心维度比较
- 托管程度:全托管 vs. 半托管
- 成本模型:控制平面收费、节点计费、网络费用
- 生态集成:与云厂商其他服务(存储、网络、AI/大数据等)的兼容性
- 功能特性:自动扩缩、多集群管理、GPU支持、安全能力
- 适用场景:全球化部署、混合云、行业合规性
6666666666
各厂商K8S服务优劣分析
1. AWS EKS(Elastic Kubernetes Service) • 优势
• 深度集成AWS服务(如RDS、S3、IAM),适合已有AWS生态的用户。
• 支持混合云部署(EKS Anywhere)。
• 社区资源丰富,全球节点覆盖广,适合全球化业务。
• 劣势
• 控制平面按小时收费,中小型集群成本较高。
• 配置复杂度较高,需手动管理节点组、网络策略。
2. Google GKE(Google Kubernetes Engine) • 优势
• 原生K8S支持最佳,版本更新最快(接近上游社区)。
• 自动扩缩(Cluster Autoscaler、Vertical Pod Autoscaler)成熟。
• 提供免费控制平面,仅按节点和网络用量收费。
• 劣势
• 依赖Google Cloud生态,非GCP用户迁移成本高。
• 国内无节点区域,需配合其他云厂商使用。
3. Azure AKS(Azure Kubernetes Service) • 优势
• 无缝集成Azure Active Directory(AAD)安全体系。
• 支持Windows容器和.NET应用场景。
• 混合云方案成熟(Azure Arc)。
• 劣势
• 网络配置复杂(默认使用kubenet,需手动配置CNI插件)。
• 部分高级功能(如自动节点修复)需付费版本。
4. 阿里云 ACK(Alibaba Cloud Container Service) • 优势
• 国内合规性强(等保、金融云支持)。
• 高性价比(计算节点折扣、灵活竞价实例)。
• 集成阿里云日志服务、区块链等本地化功能。
• 劣势
• 国际节点覆盖有限,全球化部署需多云协同。
• 文档和社区支持以中文为主。
5. 华为云 CCE(Cloud Container Engine) • 优势
• 国产化适配(鲲鹏ARM架构支持)。
• 政企行业定制方案(如政务云、私有化部署)。
• 本地技术支持响应快。
• 劣势
• 社区活跃度较低,开源工具兼容性需验证。
• 定价模式复杂(按集群规模叠加计费)。
6. 腾讯云 TKE(Tencent Kubernetes Engine) • 优势
• 高度优化游戏/音视频场景(集成腾讯云CDN、直播SDK)。
• 按需付费的Serverless集群(EKS),无节点管理成本。
• 国内网络延迟低,适合社交、泛娱乐行业。
• 劣势
• 控制台功能分散,学习成本较高。
• 多集群管理功能较弱。
总结表格
| 云厂商 | 服务名称 | 托管程度 | 核心优势 | 主要劣势 | 适用场景 | 典型计费模型 |
|---|---|---|---|---|---|---|
| AWS | EKS | 全托管 | AWS生态集成,混合云支持 | 控制平面收费,配置复杂 | 全球化业务、混合云 | 按集群+节点+网络流量 |
| GKE | 全托管 | 原生K8S支持,免费控制平面 | 依赖GCP生态 | 快速迭代、AI/ML场景 | 按节点+网络流量 | |
| Azure | AKS | 全托管 | Windows容器支持,Azure Arc混合云 | 网络配置复杂,部分功能需付费 | 混合云、微软技术栈企业 | 按节点+网络流量 |
| 阿里云 | ACK | 全托管/Serverless | 本地化合规,低成本 | 国际化弱,文档以中文为主 | 国内政企、金融行业 | 按节点+存储+网络流量 |
| 华为云 | CCE | 全托管/混合云 | 国产化适配,政企支持 | 社区资源少,定价复杂 | 政务云、ARM架构需求 | 按集群规模+节点+流量 |
| 腾讯云 | TKE | 全托管/Serverless | 音视频优化,低延迟网络 | 多集群管理弱 | 游戏、直播行业 | 按节点/Serverless Pod按需计费 |
选择建议 • 全球化业务:AWS EKS / GKE
• 国内合规场景:阿里云 ACK / 华为云 CCE
• 混合云需求:AWS EKS Anywhere / Azure AKS(Azure Arc)
• 成本敏感型:Google GKE(免费控制平面) / 阿里云ACK(竞价实例)
• AI/大数据场景:GKE(TPU支持) / AWS EKS(SageMaker集成)
根据具体需求(技术栈、预算、区域覆盖)综合选择。
为什么选择购买云上K8S,优劣势
一、为什么选择云上托管 K8S? 1. 核心优势 • 降低运维复杂度
• 托管控制平面:云厂商负责 Master 节点(API Server、etcd 等)的运维、高可用和升级,用户只需管理 Worker 节点。
• 自动化工具:集成自动扩缩(HPA、Cluster Autoscaler)、日志监控(如 CloudWatch、Prometheus)、备份恢复等能力。
• 快速部署与弹性扩展
• 一键创建集群,分钟级扩容节点或 Pod,应对突发流量无需提前规划资源。
• 与云厂商的弹性计算(如 AWS EC2、阿里云 ECS)深度集成,支持按需付费或 Spot 实例降低成本。
• 深度云服务集成
• 存储与网络:天然兼容云厂商的块存储(如 AWS EBS)、对象存储(如阿里云 OSS)、负载均衡(如 Azure Load Balancer)等。
• AI/大数据:直接调用云上托管的 AI 服务(如 AWS SageMaker、Google Vertex AI)或大数据工具(如 EMR、BigQuery)。
• 安全性增强
• 内置身份认证(如 AWS IAM、Azure AD)、密钥管理(KMS)、网络隔离(VPC、安全组)等能力。
• 合规性支持:满足 GDPR、等保、金融行业监管等要求(尤其国内云厂商)。
• 全球化与混合云能力
• 借助云厂商的全球数据中心,实现多区域集群部署和流量调度(如 AWS Global Accelerator)。
• 支持混合云场景(如 AWS Outposts、Azure Arc),统一管理本地和云上资源。
2. 核心劣势 • 成本可能更高
• 托管服务费用:部分厂商对控制平面收费(如 AWS EKS 按集群每小时计费)。
• 资源溢价:云上节点价格通常高于自建物理机或长期租赁服务器。
• 厂商锁定风险
• 依赖云厂商的专有工具(如 AWS ALB Ingress Controller、阿里云 CSI 插件),迁移到其他云或本地时需重构部分配置。
• 网络、存储等架构需适配云厂商设计,灵活性受限。
• 配置限制
• 部分高级功能需使用云厂商定制版 K8S(如 Azure AKS 的 Windows 容器支持)。
• 对底层基础设施(如内核版本、CNI 插件)的控制权较弱。
• 网络延迟与带宽成本
• 跨可用区或跨云流量可能产生高延迟和带宽费用(如 AWS 跨 AZ 流量收费)。
[是否需要快速部署和弹性扩展?]
/ \
是 / \ 否
/ \
[是否缺乏 K8S 运维团队?] [是否需完全控制底层架构?]
/ \ / \
是 / \ 否 是 / \ 否
/ \ / \
[选择云托管 K8S] [需自建 K8S] [自建 K8S] [选择云托管 K8S]
二、适用场景与不适用场景 1. 推荐选择云托管 K8S 的场景 • 中小团队或初创企业:缺乏专职 K8S 运维人员,需快速搭建容器平台。
• 弹性业务需求:流量波动大(如电商大促、在线教育高峰),需快速扩缩容。
• 多云/混合云战略:利用云厂商的混合云工具统一管理资源。
• 强合规性要求:金融、政务等行业需通过等保、HIPAA 等认证。
2. 不建议选择云托管 K8S 的场景 • 超大规模稳定负载:长期占用大量固定资源,自建 IDC 或裸金属服务器成本更低。
• 高度定制化需求:需修改 K8S 内核、CNI 插件或调度策略(如自研网络方案)。
• 严格数据本地化:数据不允许出本地机房,且无法接受混合云方案。
三、云托管 K8S vs 自建 K8S 对比表格
| 维度 | 云托管 K8S | 自建 K8S |
|---|---|---|
| 运维成本 | 低(厂商负责控制平面) | 高(需自运维 Master/Worker 节点、升级、备份) |
| 部署速度 | 分钟级创建集群 | 数小时至数天(依赖硬件采购和网络配置) |
| 弹性扩展 | 自动扩缩节点/Pod,按需付费 | 需手动扩容,资源闲置风险高 |
| 安全性 | 依赖云厂商安全体系(IAM、VPC、审计日志) | 需自建安全方案(如防火墙、RBAC、密钥管理) |
| 成本模型 | 按用量付费,适合波动负载 | 固定硬件成本,适合稳定负载 |
| 灵活性 | 受限于云厂商功能,可能存在锁定 | 完全自主控制,可深度定制 |
| 合规性 | 支持云厂商提供的行业认证(如等保、GDPR) | 需自行申请和维护合规认证 |
四、决策建议 • 选择云托管 K8S 的条件:
- 团队缺乏 K8S 专家或运维人力不足。
- 业务需要快速迭代和弹性扩缩能力。
- 重度依赖云厂商生态(如 AI、大数据服务)。
• 选择自建 K8S 的条件:
- 长期资源需求稳定且规模大(如超算场景)。
- 对底层架构有深度定制需求(如特定硬件加速)。
- 数据必须完全本地化,且无法接受混合云。
总结 云托管 K8S 是平衡效率与成本的理想选择,尤其适合追求敏捷性和降低运维负担的企业;而自建 K8S 更适合对控制权、定制化或成本优化有极端需求的场景。建议根据团队能力、业务特性和长期战略综合选择。
阿里云ACK
https://help.aliyun.com/product/85222.html

为什么花钱买ACK?
自建Kubernetes的劣势
搭建集群繁琐。
您需要手动配置Kubernetes相关的各种组件、配置文件、证书、密钥、相关插件和工具,整个集群搭建工作需要花费专业人员数天到数周的时间。
在公共云上,需要投入大量的成本实现和云产品的集成。
与阿里云上其他产品的集成,需要您自己投入成本来实现,如日志服务、监控服务和存储管理等。
容器是一个系统性工程,涉及网络、存储、操作系统、编排等各种技术,需要专门的人员投入。
容器技术一直在不断发展,版本迭代快,需要不断地试错、升级、测试。
ACK优势
https://help.aliyun.com/document_detail/86739.html
ACK用在哪些生产环境
https://help.aliyun.com/document_detail/86740.html
DevOps与ACK
- 微服务应用的CI/CD(持续集成和持续交付)。
- 线上应用蓝绿部署升级。
- 自动化测试与部署。
DevOps的目的是构建一种文化和环境,使构建、测试、发布软件更加快捷、频繁和可靠 。
而到了容器时代,需要部署的机器不但量更大,变化更剧烈,有的甚至需要根据条件自动升缩,为了满足企业敏捷的需求,持续部署也成了必需。
本方案使用云效完成容器应用(小程序后端服务)的自动化构建和持续部署。

ACK Pro版集群计费说明
https://help.aliyun.com/document_detail/462280.html
创建ACK集群
多种ACK套餐

托管版
只需创建 Worker 节点,Master 节点由容器服务创建并托管。
具备简单、低成本、高可用、无需运维管理 Kubernetes 集群 Master 节点的特点,您可以更多关注业务本身。
只需要创建node工作节点,去跑你的业务就得了,不需要操心master,也无法操作。
小公司需要部署k8s测试,买这个就行了,不用担心master的宕机,阿里做好了高可用。
专有版
需要创建 3 个 Master(高可用)节点及若干 Worker 节点,可对集群基础设施进行更细粒度的控制,需要自行规划、维护、升级服务器集群。
业务较为复杂,需要细粒度的控制k8s所有环境,有更多调整。
等于购买了阿里的机器部署自主可维护的k8s高可用集群。
ASK集群
无需创建和管理 Master 节点及 Worker 节点,即可通过控制台或者命令配置容器实例的资源、指定应用容器镜像以及对外服务的方式,直接启动应用程序。
最简单,直接创建pod运行你的应用即可,不需要维护master,node的k8s组件环境
ACK边缘托管版
提供一个支持边缘计算的托管 Kubernetes 集群,您可以将边缘节点接入到边缘集群中进行托管,为您节省运维成本,并提供类似边缘自治、网络自治等适配边缘计算场景能力
注册集群
注册集群功能可以为分布在各处的外部 Kubernetes 集群提供统一的使用和管理方式
图解

购买ACK托管版(master)

pro版和标准版
区别在于可以对master有更多的设置,不需要你创建,但是可以额外的设置,主要在于安全性监控。
标准版用于学习测试
Pro版本用于公司商业运行

创建ACK标准模板

ACK托管集群 专有词汇解释

阿里云容器服务 Kubernetes 版(ACK)托管集群涉及多个关键网络和组件概念,以下是详细解释:
1. 专有网络(VPC) • 作用:为ACK集群提供逻辑隔离的私有网络环境,管理节点、Pod和服务的网络通信。
• 配置要点:
• 子网划分:ACK集群节点(ECS)需部署在VPC的子网内,建议为不同可用区配置多个子网以提高容灾能力。
• 路由表:VPC自动维护路由规则,确保节点、Pod和服务间的通信。
• 与经典网络区别:VPC提供更高安全性和灵活的网络拓扑。
2. SNAT(源网络地址转换) • 功能:为无公网IP的节点提供访问互联网的能力(如拉取容器镜像、更新系统等)。
• ACK配置:
• 默认开启:创建托管集群时,若未绑定弹性公网IP(EIP),ACK会自动配置SNAT网关。
• 手动配置:可在VPC内创建NAT网关,自定义SNAT条目,实现更精细的出口流量控制。
3. 可用区(Availability Zone, AZ) • 定义:阿里云同一地域内独立供电和网络的物理数据中心,提高容灾能力。
• ACK多可用区部署:
• 节点分布:将节点部署到多个可用区,避免单点故障。
• Pod拓扑约束:通过Kubernetes topologySpreadConstraints将Pod分散到不同AZ。
• 存储卷:使用云盘(Cloud Disk)时需与节点同可用区,NAS/OBS可跨可用区访问。
4. 安全组(Security Group) • 作用:虚拟防火墙,控制ECS节点的入口/出口流量。
• ACK默认规则:
• 节点间通信:允许所有协议在节点间互通(安全组内默认开放)。
• API Server访问:开放6443端口(需配置授权对象为特定IP或安全组)。
• 自定义规则:可按需限制Pod或服务的访问范围(如仅允许内网访问数据库)。
5. API Server • 功能:Kubernetes集群的控制平面入口,托管在阿里云侧,用户无需维护。
• 访问方式:
• 公网访问:通过EIP暴露API Server(需配置安全组和白名单)。
• 私网访问:通过VPC内网Endpoint访问,推荐生产环境使用。
• RBAC:通过RAM角色或Kubernetes RBAC管理权限。
6. 网络插件(Flannel) • 作用:实现Pod跨节点通信,阿里云ACK默认使用Terway(与Flannel同为CNI插件)。
• Flannel模式:
• VXLAN:通过隧道封装跨主机流量,适用于VPC网络限制较严的场景。
• Host-GW:直接路由模式(需VPC路由表支持),性能更高但依赖底层网络配置。
• Terway优势:直接使用VPC弹性网卡(ENI),Pod获得VPC内真实IP,性能更优且支持NetworkPolicy。
7. 容器网段
• Pod CIDR:分配给Pod的IP地址范围(如172.20.0.0/16),需满足:
• 不与VPC网段、服务网段、节点IP重叠。
• 预留足够IP数量(每个Pod一个IP)。
• 配置建议:
• 小型集群:172.20.0.0/16(约65k IP)
• 大型集群:多个/19子网分片(Terway支持ENI多IP模式)。
8. 节点Pod数量 • 限制因素:
• 网络插件:Flannel基于节点分配子网(默认每个节点最多224个Pod),Terway利用ENI(单节点支持更多Pod,如64-128)。
• ECS规格:CPU/内存资源限制,例如ecs.g6.xlarge(4核8G)建议运行20-40个Pod。
• 调整方法:
• Flannel:修改--max-pods参数(需更新kubelet配置)。
• Terway:通过配置eni_conf调整每个ENI的IP数量。
9. 服务网段(Service CIDR)
• 用途:为Kubernetes Service分配ClusterIP(如10.96.0.0/16)。
• 注意事项:
• 避免与VPC、Pod CIDR、节点IP冲突。
• 默认范围10.96.0.0/16提供约65k Service IP,大型集群可扩展为/14。
• Service类型:
• ClusterIP:通过服务网段内部访问。
• LoadBalancer:使用阿里云SLB暴露公网或私网服务。
配置示例
# 创建ACK集群时典型网络配置
vpc_cidr: 192.168.0.0/16
pod_cidr: 172.20.0.0/16
service_cidr: 10.96.0.0/16
node_cidr: 192.168.1.0/24 # 子网1(可用区A)
node_cidr: 192.168.2.0/24 # 子网2(可用区B)
network_plugin: terway # 或flannel
enable_nat_gateway: true # 自动配置SNAT
常见问题 • Q:Pod无法访问公网?
• 检查SNAT是否开启,节点安全组是否放行出口流量。
• Q:跨节点Pod通信失败?
• 确认VPC路由表正确,安全组允许节点间所有协议通信。
• Q:Service IP不足?
• 扩展服务网段(需重建集群)或使用externalTrafficPolicy: Local减少IP消耗。
通过合理规划VPC、子网、容器网段和服务网段,结合阿里云网络组件,可构建高性能、高可用的Kubernetes集群。
k8s-1.32版本 2025-5-11号更新
docker容器运行时


暴露ACK到公网(EIP)
暴露api-server地址到公网,即可远程管理ACK集群。

ACK连接RDS
- 高可用数据库,不是你自己pod起mysql
- 使用RDS-mysql作为数据库
ACK安全组

只要你的ACK,ECS,RDS使用阿里云创建的VPC,默认都可以互通。
高级选项

Worker节点配置购买
https://kubernetes.io/zh-cn/docs/concepts/overview/components/

费用计算
k8s集群有最低运行要求,并且费用计算还是(ECS+ACK+EIP+SLB)
配置要求
Yuchao123 密码

K8S其他组件配置
ingress-nginx

购买订单检查

修改后

ACK创建中

ACK集群运行中

类似dashboard

通过kubectl操作ACK(本地>阿里云)

可以通过你本地机器,走api-server提供的公网地址,进行远程管理
只要有证书就可以通过api-server的认证
# 配置源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
# 安装kubectl
yum install kubectl-1.19.3 ipvsadm -y
# 查看文件
[yuc-tx-2 root /etc/yum.repos.d]#cat ~/.kube/config |head -4
apiVersion: v1
clusters:
- cluster:
server: https://123.56.15.123:6443
# 查看k8s worker节点
[yuc-tx-2 root /etc/yum.repos.d]#kubectl get nodes
NAME STATUS ROLES AGE VERSION
cn-beijing.192.168.0.31 Ready <none> 60m v1.22.15-aliyun.1
cn-beijing.192.168.0.32 Ready <none> 60m v1.22.15-aliyun.1

ubuntu远程接管k8s
apt-get update && apt-get install -y apt-transport-https
curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/deb/Release.key |
gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/deb/ /" |
tee /etc/apt/sources.list.d/kubernetes.list
apt-get update
apt-get install -y kubelet kubeadm kubectl
root@aiops01:~# kubectl version
Client Version: v1.28.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
The connection to the server localhost:8080 was refused - did you specify the right host or port?
root@aiops01:~# head -4 ~/.kube/config
apiVersion: v1
clusters:
- cluster:
server: https://39.106.52.191:6443
root@aiops01:~# kubectl get po -A
NAMESPACE NAME READY STATUS RESTARTS AGE
arms-prom arms-prometheus-ack-arms-prometheus-7bcc66f7d8-phk79 0/1 Pending 0 67m
arms-prom kube-state-metrics-6645694db8-84lpw 0/1 Pending 0 67m
arms-prom o11y-addon-controller-7dcd47cd-6vwlw 0/1 Pending 0 67m
arms-prom o11y-init-environment-1-ckdq6 0/1 Pending 0 67m
kube-system ack-cost-exporter-855d67cb94-47tvj 0/1 Pending 0 67m
新-创建节点池-创建节点

root@aiops01:~# kubectl get no
NAME STATUS ROLES AGE VERSION
cn-beijing.10.40.126.7 Ready <none> 29s v1.32.1-aliyun.1
root@aiops01:~# kubectl get no -owide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
cn-beijing.10.40.126.7 Ready <none> 33s v1.32.1-aliyun.1 10.40.126.7 <none> Ubuntu 22.04.4 LTS 5.15.0-106-generic containerd://1.6.38

非常好用
如何接管k8s集群
- 连接到api-server
- 有证书权限
k8s命令补全
yum install bash-completion -y
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

更安全的ECS内网连接ACK
同一个VPC下的ECS,都可以连接ACK

ACK节点管理




节点详细

工作负载(namespace)

Service管理

ACK提供可视化k8s管理

ACK监控
你需要用k8s、维护、监控k8s,所有东西,不需要自己去搭建了,并且个人搭建导致的毫无规章制度,运维难得问题。
统一ACK解决了所有问题,只需要招聘懂kubernetes的运维,即可维护ACK上的公司技术业务。

签到环节,群内签到,作为听课记录
- 听完天的,领取超哥私房菜实战课
- 笔记
- 规划
- 超哥2分钟后回来,分享,运维,怎么上岸,搞钱
- 直接来VIP班,手把手教。😄