上云无忧 > 文档中心 > 百度智能云容器引擎服务 CCE 实践:使用检查清单
容器引擎服务CCE
百度智能云容器引擎服务 CCE 实践:使用检查清单

文档简介:
CCE 提供基于原生 Kubernetes 的容器管理服务,为方便用户更好的使用 CCE,我们从集群、应用、问题排查三个方面,总结出来一些最佳实践的 checklist,强烈建议 CCE 用户在开始使用或服务上线前,能对照 checklist 过一遍,以帮忙您顺利的将服务迁移到 CCE 上,降低因为使用不当导致应用异常或需重建集群的风险。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

概览

CCE 提供基于原生 Kubernetes 的容器管理服务,为方便用户更好的使用 CCE,我们从集群、应用、问题排查三个方面,总结出来一些最佳实践的 checklist,强烈建议 CCE 用户在开始使用或服务上线前,能对照 checklist 过一遍,以帮忙您顺利的将服务迁移到 CCE 上,降低因为使用不当导致应用异常或需重建集群的风险。

集群检查项

类型 项目 建议 参考文档
集群 节点数 不管服务规模多小,对于线上服务,强烈建议集群节点数至少大于1,且需要预留一定的资源 buffer,避免单点故障导致业务受损
节点密码 节点的 root 密码请务必设置为强密码
节点网络 如果集群有对外访问需求,不建议节点直接绑定 EIP,节点对外暴露有安全风险,可以将集群的节点子网创建为 NAT 子网类型.
VPC 路由 CCE 容器网络实现依赖 VPC 路由,CCE 创建的路由规则描述为 auto generated by cce ,新建路由请不要和 CCE 的路由规则冲突,如无法避免,可以发工单进行咨询.
安全组 如果有设置安全组需求,安全组需要放通节点网络、容器网络、以及网段100.64.230.0/24和端口22、6443、30000-32768,否则可能出现容器引擎网络不通的问题.
磁盘容量 创建集群时,强烈建议为节点挂载至少 100GB 的 CDS(CCE 已默认勾选).
节点升降配 考虑到升降配需要重启机器,可能导致集群容量不足,CCE 未直接支持虚机的升降配,用户可在 BCC 页面操作,但还是建议用户通过先扩容再缩容的方式实现,减少业务影响.
虚机监控 虚机 CPU、MEM、磁盘使用率等过高,会影响集群稳定性,CCE 有 Evicted 机制,在节点负载过高时,会将一部分实例迁移走,所以强烈建议用户在 BCM 给节点添加监控报警. BCM 添加报警
百度智能云三方资源 强烈建议 CCE 用户不要直接在 BCC、DCC、VPC、BLB、EIP 等产品页,修改 CCE 创建资源的相关配置,包括名字等,可能导致非预期结果.

应用检查项

类型 项目 建议 参考文档
应用 镜像 建议用户构建 Docker 镜像时,可以在镜像中安装一些常用的 debug 工具,比如:ping、telnet、curl、vim 等,可自行定制.
私有镜像 容器使用私有镜像时,需要设置 secret CCE集群中使用私有镜像实践
实例副本数 如果是无状态服务,且不存在冲突情况,建议实例服务本 > 2,避免单点故障造成实例迁移,服务短暂不可用.
资源限制 强烈建议所有上线的服务,必须设置 resource.limits . kubernetes 资源限制
健康检查 建议所有上线的服务,设置 livenesss 和 readiness probe 健康检查方式,保证服务自动 Failover. kubernetes 健康检查
服务暴露方式 集群内访问:ClusterIP Service;
集群外访问:LB Service;
集群外访问(HTTP/HTTPS):Ingress.
LoadBalancer 接入网络流量
Ingress 接入网络流量
服务数据持久化 服务有数据持久化需求,建议通过 PV 和 PVC 方式使用,目前 CCE 已经支持通过 PV/PVC 方式使用文件存储(CFS)、块存储(CDS)、对象存储(BOS). 通过 PV/PVC 方式使用 CFS
通过 PV/PVC 方式使用 CDS
通过 PV/PVC 方式使用 BOS

常见问题排查

1. 容器启动失败 ?

通常可通过下面两种方式查看错误信息:

  1. kubectl describe podName
  2. kubectl logs podName

如果通过上述方式看不到明显错误,可以在 YAML 中修改容器的启动命令,比如设置为 sleep 3600:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: hub.baidubce.com/cce/nginx-alpine-go:latest
        command: ["/bin/sh", "-c", "sleep 3600"]

启动服务后,通过 kubectl exec -it podName /bin/sh 进入容器,手动执行启动命令,查看服务报错信息.

2. LoadBalancer Service 创建失败 ?

可以通过 kubectl describe service serviceName,查看Events排查失败原因,一般是 EIP、BLB 的配额超过限制,可以发工单申请加大配额.

注意:用户可以购买的EIP实例数 <= 当前已存在的BCC实例数 + 当前已存在的BLB实例数 + 2

3. 容器网络访问失败?

容器网络访问失败具体表现分很多情况:

  • Serivce EIP 无法访问;
  • ServiceName 在容器中无法访问;
  • Service ClusterIP 集群中无法访问;
  • PodIP 在集群中无法访问;
  • ...

容器网络问题,一般最终都是 PodIP 不通,导致 Service 的各种访问问题。首选分别在节点和 Pod 中检查 PodIP 是否可以 ping 通,如果不行,需要检查两个地方:

  • 查看 VPC 路由表,确认是否有路由规则和 CCE 冲突;
  • 查看 VPC 安全组,是否有策略将请求拦截.

如果确定没有,可以发工单联系管理员进行排查.

注意:Service clusterIP 不能直接 ping 通,需要通过 ip:port 访问;PodIP 可以 ping 通.

相似文档
  • 百度智能云容器引擎CCE基于Kubernetes+Docker构建的弹性高可用的容器集群服务,您可以轻松地在采购的集群上部署所需的业务应用。 本文将以经典的前端应用GuestBook为例,为您展示集群搭建、部署应用的全流程。让您能够使用百度智能云云容器引擎CCE,快速构建一个最简单的web应用。
  • 在一些场景中,用户需要让CCE集群中的节点和Pod具备访问公网的能力,如通过yum install等命令访问外部源地址下载安装软件、容器需要访问公网中的某些服务等等。 我们提供了以下两种方案,可以实现集群访问公网,用户可以根据具体需求自行选择。
  • 私有镜像指位于私有仓库中的Docker镜像,用户需要使用仓库用户名密码登入(docker login)后才能拉取。在CCE集群中,需要为Pod配置imagePullSecrets,才能够在集群中使用私有镜像启动Pod中的容器。
  • 有效的规划集群的网络,可以适应业务发展的需要。 本文将介绍在百度智能云私有网络 VPC 环境下 CCE Kubernetes 集群里各种网络地址的作用,以及地址段该如何规划。
  • CCE 支持用户使用开源工具velero对云上的kubernetes集群进行备份、恢复。用于集群误操作、集群故障、集群迁移等场景。 velero的作用: 灾备能力:提供备份、恢复k8s集群的能力。 迁移能力:提供拷贝集群资源到其他集群的能力。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部