华为云CCE容器服务Kubernetes集群配置与应用部署完全指南

apphuang2026年07月03日 15:24:117

1. 华为云CCE容器服务概述

华为云云容器引擎(Cloud Container Engine,简称CCE)是华为云推出的企业级Kubernetes集群托管服务。CCE深度整合了华为云的计算(ECS/BMS)、网络(VPC/EIP/ELB)和存储(EVS/SFS/OBS)等基础设施能力,为用户提供高度可扩展、高性能的云原生应用部署和管理方案。

与自建Kubernetes集群相比,CCE具有显著优势:集群搭建从自建所需的1-2天缩短至10分钟以内;Master节点由华为云托管,用户无需关心控制平面的运维工作;节点扩缩容支持自动伸缩,无需手动操作;安全补丁由平台自动修复;监控日志开箱即用。此外,CCE的Master节点免费,相比自建3台Master节点每月约3000元的成本,可大幅节省开支。

需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联

2. CCE集群创建与配置

2.1 集群类型选择

华为云CCE提供两种集群类型:

  • CCE Standard集群:标准版Kubernetes集群,适用于大多数通用容器化业务场景,支持虚拟机节点和裸金属节点。
  • CCE Turbo集群:增强型集群,在网络性能上进行了深度优化,支持更高效的容器网络方案,适用于对网络性能要求较高的场景,如AI计算、大数据处理等。

2.2 集群创建操作步骤

登录CCE控制台后,在集群管理页面单击右上角的"购买集群"按钮进入创建流程。创建过程中需要配置以下关键参数:

  • 集群版本:建议选择最新的商用稳定版本,如v1.29及以上。
  • 集群管理规模:根据业务预期节点数量选择,如50节点、200节点等规格。
  • 高可用模式:生产环境建议开启高可用,控制节点将分布在不同可用区以提高容灾能力。
  • 虚拟私有云VPC:选择或新建VPC,集群将运行在该VPC网络中。
  • 容器网络模型:可选择VPC网络或容器隧道网络,集群创建后网络模型不可更改。

2.3 连接集群与kubectl配置

集群创建完成后,需要配置kubectl命令行工具来管理集群。在CCE控制台的集群总览页中找到"连接信息"版块,单击kubectl后的"配置"按钮,下载kubeconfig配置文件。将下载的配置文件放置到~/.kube/config路径:

mkdir -p ~/.kube
cp downloaded-kubeconfig.json ~/.kube/config

验证与集群的连接状态:

kubectl cluster-info
kubectl get nodes -o wide

预期输出会显示集群的控制平面地址以及所有节点的状态、版本和架构信息。

3. 节点池规划与管理

3.1 节点池概念

节点池是集群中具有相同配置的一组节点,节点池可以包含一个或多个节点。节点池中的所有节点具有相同的规格、操作系统、容器运行时等配置,任何配置更改都会影响节点池中的所有节点。通过节点池,用户可以方便快捷地创建、管理和销毁节点,而不会影响整个集群。

3.2 创建节点池

在CCE控制台中,单击集群名称进入集群,在左侧选择"节点管理",在右侧选择"节点池"页签,单击右上角"创建节点池"。创建节点池时需要配置以下核心参数:

  • 节点池名称:以小写字母开头,由小写字母、数字、中划线组成,长度1-50位。
  • 节点类型:CCE Standard集群支持弹性云服务器(虚拟机)、弹性云服务器(物理机)、裸金属服务器;CCE Turbo集群支持弹性云服务器(虚拟机)和弹性云服务器(物理机)。
  • 节点规格:根据业务需求选择,如通用计算增强型等。同一节点池仅支持同类型节点规格。
  • 操作系统:推荐使用华为云自研的Huawei Cloud EulerOS 2.0,与CCE深度优化适配。
  • 容器运行时:CCE默认使用Containerd,Docker已逐步弃用。
  • 安全组:每个节点池最多绑定五个安全组,用于控制节点间的网络通信。

3.3 节点规格选择建议

对于Java类应用,建议从2核4GB规格起步;生产环境建议3个节点起步。若节点池同时配置多个可用区的节点规格,当首选规格因资源配额不足等原因创建失败时,系统将按照优先级顺序尝试创建下一个优先级的规格。

4. 容器网络模型选择

CCE支持三种容器网络模型:VPC网络、容器隧道网络和Cloud Native 2.0网络。集群创建后网络模型不可更改,因此需要提前规划。

4.1 VPC网络模型

VPC网络模型将容器网络无缝融入VPC网络,通过VPC路由表自动配置容器网段与VPC网段之间的路由。由于没有额外的隧道封装开销,容器网络性能接近于VPC网络性能,适用于对性能要求较高的业务场景,如AI计算、大数据计算等。VPC网络模型默认支持同一VPC内的容器与虚拟机直接互访。

4.2 容器隧道网络模型

容器隧道网络是在VPC网络之上构建的Overlay隧道网络,使用VXLAN技术实现容器间的网络通信。该模型提供了更好的网络隔离性,但在性能上略低于VPC网络模型。跨VPC通信时,需要在对端VPC的路由表中添加集群VPC网段和容器网段的路由。

4.3 网络模型选型建议

  • 高性能计算场景:优先选择VPC网络模型,以获得接近物理网络的性能。
  • 多租户隔离场景:容器隧道网络提供更好的网络隔离性。
  • 混合云场景:需根据IDC网络规划综合考虑。

5. 存储配置与管理

5.1 StorageClass存储类

StorageClass是Kubernetes中用于定义存储类型"分类"的资源对象,描述了存储卷的配置模板,包括卷的类型、访问模式、生命周期策略等。CCE默认提供csi-disk(云硬盘)、csi-nas(文件存储)、csi-obs(对象存储)等StorageClass。

查看集群中可用的StorageClass:

kubectl get storageclass

5.2 动态存储卷声明PVC

通过PVC(PersistentVolumeClaim)声明存储需求,系统将根据StorageClass自动创建对应的PV(PersistentVolume)和底层存储资源。以下是一个使用云硬盘动态存储的PVC示例:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
  storageClassName: csi-disk

在CCE控制台中,进入集群后在左侧导航栏选择"存储",在右侧选择"存储卷声明"页签,单击"创建存储卷声明PVC"即可通过界面完成配置。

5.3 自定义StorageClass

如果默认的StorageClass无法满足业务需求,用户可以创建自定义StorageClass。在CCE控制台的"存储"页面,选择"存储类"页签,单击"创建存储类"即可配置自定义存储参数。

6. 应用部署:Deployment工作负载

6.1 Deployment配置

Deployment是Kubernetes中最常用的工作负载类型,用于管理无状态应用的Pod副本。以下是一个部署Java微服务应用的Deployment YAML示例:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo-app
  labels:
    app: demo-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: demo-app
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
  template:
    metadata:
      labels:
        app: demo-app
    spec:
      containers:
      - name: demo-app
        image: swr.cn-north-4.myhuaweicloud.com/namespace/demo-app:latest
        ports:
        - containerPort: 8080
        resources:
          requests:
            memory: "512Mi"
            cpu: "250m"
          limits:
            memory: "1Gi"
            cpu: "500m"
        livenessProbe:
          httpGet:
            path: /actuator/health
            port: 8080
          initialDelaySeconds: 30
          periodSeconds: 10
        readinessProbe:
          httpGet:
            path: /actuator/health
            port: 8080
          initialDelaySeconds: 20
          periodSeconds: 5

在CCE控制台中,进入集群后选择"工作负载",单击"创建工作负载",通过界面表单或YAML导入方式完成部署。

6.2 滚动更新策略

上述Deployment配置了滚动更新策略:maxSurge=1表示更新过程中最多允许超出期望副本数1个,maxUnavailable=0表示更新过程中不允许有Pod不可用。这种策略确保了应用更新的零停机交付。

6.3 容器资源配额

resources中requests和limits的配置至关重要:requests是容器调度时资源分配的判断依据,只有当节点上可分配资源总量大于等于容器申请数时,才允许将容器调度到该节点;limits是容器能使用的资源最大值,超过限制值可能会被限流或重启。

7. 服务暴露:Service与Ingress

7.1 Service配置

Service用于将Deployment创建的Pod暴露为网络服务。常见的Service类型包括ClusterIP(集群内部访问)、NodePort(节点端口访问)和LoadBalancer(负载均衡器访问)。

以下是一个LoadBalancer类型的Service示例:

apiVersion: v1
kind: Service
metadata:
  name: demo-app-service
spec:
  type: LoadBalancer
  selector:
    app: demo-app
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080

7.2 Ingress路由配置

Ingress用于将集群内部服务通过HTTP/HTTPS协议暴露到集群外部,支持配置域名和TLS证书。在CCE控制台中,进入集群后选择"服务",切换至"路由"页签,单击"创建路由"即可配置Ingress。

以下是一个配置了域名和TLS证书的Ingress示例:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: demo-app-ingress
  annotations:
    kubernetes.io/elb.port: "443"
spec:
  tls:
  - hosts:
    - demo.example.com
    secretName: demo-tls-secret
  rules:
  - host: demo.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: demo-app-service
            port:
              number: 80

配置Ingress时,需要确保域名已注册并备案,一旦配置了域名规则后,必须使用域名访问。TLS证书可以导入到Secret中,CCE会自动将证书配置到ELB侧。

8. 弹性伸缩:HPA与CA联动

8.1 HPA水平Pod自动伸缩

HPA(Horizontal Pod Autoscaler)负责工作负载级别的弹性伸缩,根据CPU利用率、内存利用率或自定义指标自动调整Pod的副本数量。以下是一个基于CPU利用率的HPA配置示例:

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: demo-app-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: demo-app
  minReplicas: 2
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 70

在CCE控制台中,进入集群后选择"工作负载",在目标工作负载的操作列中单击"弹性伸缩"即可配置HPA策略。

8.2 CA集群节点自动伸缩

CA(Cluster Autoscaler)负责节点级别的弹性伸缩,当集群资源不足时自动增加节点,当资源闲置时自动缩容节点。CA需要以插件形式安装,在CCE控制台的"插件中心"找到autoscaler插件进行安装和配置。

弹性缩容开关默认为关闭,如需启用需在插件配置中打开,并设置缩容阈值(如节点资源使用率低于50%时触发缩容扫描)。

8.3 HPA与CA联动策略

在实际生产环境中,HPA和CA通常配合使用:当业务流量上升时,HPA首先增加Pod副本数;若集群资源不足以调度新增Pod,CA则自动增加节点;当业务流量下降时,HPA先缩容Pod,CA再根据节点资源使用率缩容节点。这种联动机制实现了从应用到基础设施的全栈弹性,有效平衡了业务可用性与资源成本。

9. 监控日志与告警配置

9.1 AOM监控

应用运维管理(AOM)是华为云提供的统一监控平台,与CCE深度集成,开箱即用。通过AOM,用户可以监控集群的CPU、内存、网络等核心指标。

登录AOM 2.0控制台,在左侧导航栏中选择"基础设施监控 > 容器洞察 > 集群监控",即可查看集群的整体运行状态。

9.2 告警规则配置

CCE告警中心基于AOM告警功能,提供集群内置告警的一键开启能力。内置告警规则覆盖了容器服务异常事件告警,如Pod异常、Pod OOM(内存溢出)、负载均衡更新失败等场景。

在CCE控制台中,进入集群后选择"告警中心",切换至"告警规则 > 自定义告警规则"页签,单击"创建告警规则"即可配置自定义告警。告警规则支持指标告警和事件告警两种类型,并可配置通知行动规则,将告警通过短信、邮件等方式发送给运维人员。

10. CI/CD持续集成与部署

10.1 CodeArts流水线

华为云CodeArts提供了一站式的DevOps平台,支持从代码提交到容器部署的全流程自动化。通过CodeArts Pipeline,用户可以构建可视化CI/CD流水线,实现代码提交自动触发编译、镜像构建和CCE部署。

10.2 部署步骤配置

在CodeArts部署步骤中,选择"Kubernetes快速部署(CCE集群)"步骤,需要配置以下参数:

  • 集群名称:选择目标CCE集群。
  • 命名空间名称:选择Kubernetes命名空间。
  • 工作负载名称:选择Deployment类型的工作负载。
  • 镜像名称与版本:指定需要部署的容器镜像及版本。
  • 实例数量:填写部署的实例数量,不填则自动适配集群实时实例数量。
  • 容器规格:配置CPU和内存的配额申请与限制。

推荐配置拥有CCE集群操作权限的子账号的AK/SK进行部署,不推荐使用主账号的AK/SK。

11. 总结与最佳实践

本文系统梳理了华为云CCE容器服务的核心配置与操作要点,从集群创建、节点池管理、网络与存储配置,到应用部署、弹性伸缩、监控告警和CI/CD流水线,涵盖了生产级Kubernetes集群运维的完整链路。以下是一些关键的最佳实践建议:

  • 集群规划:生产环境建议选择CCE Turbo集群和高可用模式,控制节点分布在不同可用区。
  • 节点管理:使用节点池统一管理同类型节点,为不同业务创建独立的节点池以实现资源隔离。
  • 网络选型:高性能场景优先选择VPC网络模型,集群创建后不可更改。
  • 资源配置:为每个容器合理设置resources.requests和limits,避免资源竞争和OOM。
  • 弹性伸缩:HPA与CA联动部署,实现应用与基础设施的双层弹性。
  • 安全合规:使用子账号AK/SK进行操作,避免主账号密钥泄露。
  • 可观测性:开启AOM监控和告警中心,配置Pod异常、OOM等关键告警。

通过以上实践,用户可以在华为云CCE上构建高可用、弹性伸缩、可观测的云原生应用体系,充分享受容器化带来的敏捷性与成本优势。


常见问题问答

问1:华为云CCE和ACK有什么区别?
答:CCE是华为云的容器服务,ACK是阿里云的容器服务。两者都是托管的Kubernetes服务,但属于不同云厂商。华为云CCE深度整合华为云的计算、网络、存储基础设施,在政企安全合规方面具有优势。

问2:CCE集群创建后可以修改网络模型吗?
答:不可以。CCE集群的网络模型在创建时确定,创建后无法更改。因此创建集群前需要根据业务需求慎重选择VPC网络或容器隧道网络。

问3:如何实现应用的零停机更新?
答:通过配置Deployment的滚动更新策略,设置maxSurge和maxUnavailable参数。建议配置maxSurge=1、maxUnavailable=0,确保更新过程中始终有足够的Pod提供服务。

问4:HPA和CA有什么区别?
答:HPA(Horizontal Pod Autoscaler)负责Pod副本数的水平伸缩,属于应用层弹性;CA(Cluster Autoscaler)负责集群节点的增减,属于基础设施层弹性。两者配合使用可实现从应用到资源的全栈弹性伸缩。

问5:CCE中如何配置存储卷?
答:CCE通过StorageClass定义存储类型,通过PVC声明存储需求。用户创建PVC时指定storageClassName,系统自动创建对应的PV和底层存储资源。CCE默认提供云硬盘(csi-disk)、文件存储(csi-nas)、对象存储(csi-obs)等StorageClass。

问6:如何监控CCE集群的运行状态?
答:CCE与华为云AOM(应用运维管理)深度集成,提供开箱即用的监控能力。用户可以在AOM控制台查看集群的CPU、内存等核心指标,在CCE告警中心配置Pod异常、OOM等事件告警。

相关文章

华为云服务器购买怎么便宜?小公司省钱攻略来了!这样买立省好几千​

华为云服务器购买怎么便宜?小公司省钱攻略来了!这样买立省好几千​

很多朋友都在吐槽:“华为云服务器太贵了,预算有限实在买不起!” 其实,买华为云服务器贵不贵,关键看你会不会选、会不会买。今天就来给大家分享一套超实用的省钱攻略,小公司、创业团队也能轻松用得起稳定又安全…

华为云服务器采购总嫌贵?30%华为云返点返佣 + 旗舰级代理保障,这波省钱操作别错过!

华为云服务器采购总嫌贵?30%华为云返点返佣 + 旗舰级代理保障,这波省钱操作别错过!

最近不少做 IT 运维或企业采购的朋友跟我吐槽,公司要上华为云服务器,去官网一看报价直接犯了难 —— 按年付费算下来,比预期预算高出不少。要是赶上业务扩张需要多台服务器,这笔开支更是让财务部门直皱眉。…

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

上海汪远信息科技有限所在公司年销华为云产品3亿+,属于头部代理梯队,可为合作客户提供最高30%的返佣优惠,直接帮助企业降低30%的云资源成本。…

华为云代理商有哪些?华为云代理返点是真的么?

华为云代理商有哪些?华为云代理返点是真的么?

一,华为云代理商简介华为云代理商,顾名思义就是替华为云做华为云服务器数据库等公有云产品推广的代理商,每推广出一单华为云服务器,华为云会跟这个代理商结算佣金,佣金比例分为月度佣金,季度佣金和年度佣金,华…

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

一、华为云代理商的核心价值定位1. 代理商的角色与职责华为云代理商作为华为云生态的核心合作伙伴,承担着三重核心职能:•产品推广销售:负责推广销售华为云全系列云产品,包括云服务器ECS、云数据…

上海汪远信息:年销1.5亿+的头部华为云代理商,10年深耕为企业上云保驾护航

上海汪远信息:年销1.5亿+的头部华为云代理商,10年深耕为企业上云保驾护航

核心摘要本文深度解析华为云代理商行业现状,揭示小代理商生存困境的核心原因(业绩压力大、垫资周期长、资金链脆弱),重点推荐上海汪远信息科技有限公司——一家拥有10年华为云代理经验、年销量超1.5亿的全国…