检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本文主要介绍集群迁移上云的方案和步骤。 上云须知 与自建K8s集群相比,CCE集群具有多种优势,您可参考云容器引擎与自建Kubernetes集群对比进行额外的了解。在CCE集群的使用过程中也存在着部分限制,请参见约束与限制,务必在使用前做好评估。 迁移方案 本文介绍一种集群迁移方案,适合如下几类集群:
在Pod中配置主机网络(hostNetwork) 背景信息 Kubernetes支持Pod直接使用主机(节点)的网络,当Pod配置为hostNetwork: true时,在此Pod中运行的应用程序可以直接看到Pod所在主机的网络接口。 配置说明 Pod使用主机网络只需要在配置中添加hostNetwork:
不可调度,并将业务pod调度到其他节点;重启kubelet 节点docker故障 CCE 节点异常立即触发告警 登录集群查看告警节点状态,确认异常后,优先将此节点设置为不可调度,并将业务pod调度到其他节点;重启docker 节点kube-proxy故障 CCE 节点异常立即触发告警
<node> 2h 在节点上查询daemonSet的容器id。 docker ps -a|grep daemonSet名称 本示例执行命令为: docker ps -a|grep daemonset-test 命令行终端显示如下类似信息: 897b99faa9ce
检查节点操作系统内核版本是否为CCE支持的版本。 解决方案 问题场景一:节点镜像非CCE标准镜像 CCE节点运行依赖创建时的初始标准内核版本,CCE基于该内核版本做了全面的兼容性测试,非标准的内核版本可能在节点升级中因兼容性问题导致节点升级失败,详情请参见高危操作及解决方案。 当前CCE不建议该类节
定时任务停止一段时间后,为何无法重新启动? 创建有状态负载时,实例间发现服务是指什么? CCE容器拉取私有镜像时报错“Auth is empty” CCE集群中工作负载镜像的拉取策略有哪些? 鲲鹏集群Docker容器挂载点被卸载 下载镜像缺少层如何解决? 容器内的文件权限和用户都是问号 父主题:
kubelet 运行时 Docker 查看Docker状态 登录对应的异常节点,在节点上执行如下命令,查看docker的进程状态。 systemctl status docker 预期输出: 查看Docker日志 登录对应的异常节点,在节点上执行如下命令,可查看Docker的日志信息。 journalctl
当挂载HostPath卷的Pod删除后,HostPath中的数据依然会保留。 通过控制台使用主机路径 主机路径(HostPath)挂载表示将主机上的路径挂载到指定的容器路径。通常用于:“容器工作负载程序生成的日志文件需要永久保存”或者“需要访问宿主机上Docker引擎内部数据结构的容器工作负载”。
常见问题 我不懂Kubernetes,是否可以使用CCE? 可以使用,CCE管理控制台操作简单,并提供新手入门指导文档,您可以快速了解并使用CCE。 我有一个应用,想使用CCE,但是不知道如何把它做成docker镜像,是否有相应指导? CCE为您提供了强大的入门指导,请参考帮助文档中的企业应用容器化改造。
致工作负载Pod一直无法创建。 解决方案: 登录该问题节点。 手动解压节点上的cce-pause镜像安装包。 tar -xzvf /opt/cloud/cce/package/node-package/pause-*.tgz 导入镜像。 Docker节点: docker load
ingressClassResource: name: ccedemo #同一个集群中不同套Ingress Controller名称必须唯一,且不能设置为nginx和cce controllerValue: "k8s.io/ingress-nginx-demo"
/etc/sysconfig/docker /etc/default/docker /etc/docker/daemon.json 如您对这些文件的某些参数进行修改,有可能会导致集群升级失败或升级之后业务出现异常。如您确认该修改对业务无影响,可单击确认后继续进行升级操作。 CCE采用标准镜像的脚
生命周期。 创建pod。 kubectl create -f hostaliases-pod.yaml 命令行终端显示如下信息表明pod已创建。 pod/hostaliases-pod created 查看pod状态。 kubectl get pod hostaliases-pod pod
检查节点上的Pod是否直接挂载docker/containerd.sock文件。升级过程中Docker/Containerd将会重启,宿主机sock文件发生变化,但是容器内的sock文件不会随之变化,二者不匹配,导致您的业务无法访问Docker/Containerd。Pod重建后sock文件重新挂载,可恢复正常。
21及以上版本集群:/var/log/cce/canal v1.19及以下版本集群:/var/paas/sys/log/canal 系统日志 /var/log/messages 容器引擎日志 docker节点:/var/lib/docker containerd节点:/var/log/cce/containerd
kube-proxy命令行启动参数 - /etc/sysconfig/docker docker配置文件 containerd运行时或Debain-Group机器不检查 /etc/default/docker docker配置文件 containerd运行时或Centos-Group机器不检查
您可以在CCE上部署或迁移各种类型的网站和服务,满足您的业务所需。 将自建K8S集群迁移到CCE Jenkins安装部署及对接SWR和CCE集群 使用Kubeflow和Volcano实现典型AI训练任务 kubeflow华为云CCE虚机搭建运行分布式tf报告 通过CCE搭建IPv4/IPv6双栈集群
kubelet-monit containerd containerd-monit 停止服务(docker运行时) systemctl stop kubelet kubelet-monit docker docker-monit 检查是否有程序正在使用GPU卡设备。 运行命令: sudo fuser
容器引擎和Kubelet共享磁盘空间扩容 容器存储 Pod容器空间 即容器的basesize设置,每个Pod 占用的磁盘空间设置上限(包含容器镜像占用的空间)。 Pod容器空间(basesize)扩容 PVC 容器中挂载的存储资源。 PVC扩容 系统盘扩容 以“EulerOS 2.9”操作系统
如需对容器存储空间进行调整,请重点关注以下配置。 存储配置:单击数据盘后方的“展开高级配置”可进行如下设置: Pod容器空间分配:即容器的basesize设置,每个工作负载下的容器组 Pod 占用的磁盘空间设置上限(包含容器镜像占用的空间)。合理的配置可避免容器组无节制使用磁盘空间导致业务异常。建议此值不超过容器引擎空间的