华为云CCE实战:从零构建高可用Kubernetes集群及Nginx部署
一、 前言
随着云原生技术的普及,Kubernetes(K8s)已经成为容器编排的事实标准。对于许多开发者和运维人员来说,如何快速、稳定地搭建一个高可用的K8s集群是迈向云原生的重要一步。华为云云容器引擎(CCE)提供了高性能、高可靠的企业级K8s服务,极大地降低了集群运维的复杂度。
本文将带领大家从零开始,在华为云上完成一次完整的CCE集群构建与应用部署实战。
二、 环境与资源准备
在开始创建集群之前,我们需要先完成基础网络资源的规划:
-
虚拟私有云(VPC):进入华为云控制台,创建一个VPC,网段建议设置为
192.168.0.0/16。 -
子网(Subnet):在VPC下创建子网,用于节点分配IP,例如
192.168.1.0/24。 -
安全组:确保安全组开放了必要的端口(如22端口用于SSH登录,80/443端口用于Web服务,以及K8s内部通信所需的端口)。
三、 创建CCE高可用集群
-
登录控制台:进入“云容器引擎 CCE”服务页面,点击“创建集群”。
-
集群配置:
-
集群名称:自定义,例如
my-first-cce-cluster。 -
集群版本:选择当前最新的稳定版本(如 v1.27 或 v1.28)。
-
集群规模:根据业务需求选择,测试环境50节点即可。
-
控制节点:强烈建议选择“高可用”模式。CCE会自动为你创建3个控制节点,分布在不同的可用区(AZ),确保单可用区故障时集群管理面依然可用。
-
-
网络配置:选择刚才创建的VPC和子网。
-
节点配置:
-
节点规格:测试可以选择
c6.large.2(2核4G)。 -
操作系统:默认的 EulerOS 或 Ubuntu 均可。
-
登录方式:选择“密码”或“密钥对”,请务必妥善保管。
-
节点数量:创建2个工作节点以保证基本的高可用。
-
-
确认并创建:核对配置无误后点击创建,等待约10-15分钟,集群状态变为“运行中”即可。
四、 部署第一个应用:Nginx
集群就绪后,我们可以通过 kubectl 工具或CCE控制台直接部署应用。这里演示通过YAML文件部署一个Nginx无状态服务(Deployment)。
-
下载并配置 kubectl:在CCE集群详情页下载 kubeconfig 文件,并在本地终端配置。
-
编写 YAML 文件:创建一个名为
nginx-deployment.yaml的文件,内容如下:
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: nginx-service spec: type: LoadBalancer selector: app: nginx ports: - port: 80 targetPort: 80
-
执行部署:
在终端中运行:bashkubectl apply -f nginx-deployment.yaml -
验证部署:
运行kubectl get pods,等待两个Nginx Pod状态变为Running。
运行kubectl get svc,找到nginx-service的EXTERNAL-IP,在浏览器中访问该IP,即可看到熟悉的 "Welcome to nginx!" 页面。
五、 避坑与最佳实践
-
资源配额:在使用
LoadBalancer类型的 Service 时,华为云会自动为你创建一个ELB(弹性负载均衡)实例,这会产生一定的费用。测试完毕后,记得删除 Service 以释放资源。 -
节点污点(Taints):为了防止业务Pod调度到控制节点(如果是混合部署),可以使用污点机制进行隔离。
-
日志与监控:建议开启华为云自带的 AOM(应用运维管理)和 LTS(云日志服务),方便后期排查问题。
六、 总结
通过本文的实操,我们成功在华为云上搭建了一个高可用的CCE集群,并部署了Nginx应用。华为云CCE极大地简化了K8s底层的运维工作,让我们可以更专注于业务代码的开发。希望这篇分享能帮助到刚接触云原生的开发者朋友们!
- 点赞
- 收藏
- 关注作者
评论(0)