检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
、滚动升级和自愈能力,其中最为常用的就是Deployment。 图1 Deployment 一个Deployment可以包含一个或多个Pod副本,每个Pod副本的角色相同,所以系统会自动为Deployment的多个Pod副本分发请求。 Deployment集成了上线
击“创建工作负载”。 配置工作负载的信息。 基本信息 负载类型:选择无状态工作负载Deployment。工作负载类型的介绍请参见工作负载概述。 负载名称:填写工作负载的名称。请输入1到63个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
无状态负载(Deployment) 无状态负载与Kubernetes中Deployment Workloads的定义方式相同,是对Pod的服务化封装。一个无状态负载可以包含一个或多个Pod,每个Pod的角色相同,所以系统会自动为无状态负载的多个Pod分发请求。同一无状态负载的所有Pod共享存储卷。
击“创建工作负载”。 配置工作负载的信息。 基本信息 负载类型:选择有状态工作负载StatefulSet。工作负载类型的介绍请参见工作负载概述。 负载名称:填写工作负载的名称。请输入1到63个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
单击集群名称进入集群,在左侧选择“工作负载”,在右上角单击“创建工作负载”。 配置工作负载的信息。 基本信息 负载类型:选择无状态工作负载Deployment。 负载名称:填写工作负载的名称。
将上面Deployment的定义保存到deployment.yaml文件中,使用kubectl创建这个Deployment。
要求每个Pod都有自己单独的状态时,比如分布式数据库,每个Pod要求有单独的存储,这时Deployment就不能满足需求了。 详细分析下有状态应用的需求,分布式有状态的特点主要是应用中每个部分的角色不同(即分工不同),比如数据库有主备,Pod之间有依赖,对应到Kubernetes中就是对Pod有如下要求:
无状态工作负载 kind metadata spec
工作负载 工作负载概述 创建工作负载 配置工作负载 配置工作负载调度策略 登录容器实例 管理工作负载 管理自定义资源 Pod安全配置 工作负载最佳实践
无状态负载 UCS集群联邦可实现多个不同区域、不同云的Kubernetes管理,支持统一的全局应用部署,可将Deployment、StatefulSet、DaemonSet等不同类型的工作负载部署到集群联邦下的集群。 在运行中始终不保存任何数据或状态的工作负载称为“无状态负载 D
单击“容忍策略”下的,可新增策略。相关参数说明见容忍策略。 配置完成后,单击“创建工作负载”。返回有状态工作负载列表查看工作负载状态。 在工作负载列表中,待工作负载状态为“运行中”,工作负载创建成功。 相关操作 通过集群控制台,您还可以执行表3中的操作。 表3 相关操作 操作
正常状态的工作负载,AOM界面显示异常是什么原因? 在AOM页面看到工作负载的状态显示异常,但是实际上在CCE页面看工作负载是正常的。 图1 查看工作负载状态 可能的原因如下: ICAgent的版本过低。
有状态负载 在运行过程中会保存数据或状态的工作负载称为“有状态工作负载(statefulset)”,创建的Pod拥有持久型标识符,Pod迁移或销毁重启后,标识符仍会保留。有状态负载不支持弹性伸缩,适用于需要使用持久化存储的场景,如ETCD等。 创建有状态负载 登录UCS控制台,在左侧导航栏中选择“容器舰队”。
解决方式链接:CCE节点变更规格后,为什么无法重新拉起或创建工作负载? 父主题: 工作负载异常
创建服务 单击“创建工作负载”。 工作负载创建完成后,在工作负载列表中可查看到运行中的工作负载。 验证工作负载 工作负载创建完成后,可以通过访问工作负载验证部署是否成功。 在上面的部署中选择节点访问方式(NodePort),使用节点的“IP:端口”访问工作负载,如果能正常访问,则说明工作负载部署成功。
有状态负载(StatefulSet) 有状态负载(StatefulSet) Deployment控制器下的Pod都有个共同特点,那就是每个Pod除了名称和IP地址不同,其余完全相同。
工作负载异常:已停止 问题现象 工作负载的状态为“已停止”。 问题原因: 工作负载的yaml的中metadata.enable字段为false,导致工作负载被停止,Pod被删除导致工作负载处于已停止状态,如下图所示: 解决方案 将enable字段删除或者将false修改为true。
报错信息中说明创建工作负载时无法拉取SWR镜像,请检查OBS和SWR终端节点是否正常。 解决方案 如果未创建OBS和SWR终端节点,请参考配置访问SWR和OBS服务的VPC终端节点进行配置。 创建工作负载时无法拉取公网镜像如何解决? 在Autopilot集群中创建工作负载时,事件中出现以下错误:
工作负载监控 工作负载监控是针对CCE、CCI工作负载的监控,通过工作负载监控您可以及时了解工作负载的资源使用、状态和告警等信息,以便快速响应处理告警或事件信息,保证工作负载顺畅运行。工作负载分为五种类型:无状态负载 Deployment、有状态负载 StatefulSet、守护进程
创建工作负载 无状态负载 有状态负载 守护进程集 父主题: 工作负载
进入CCE控制台,单击“工作负载 > 有状态负载 StatefulSet”,选择BCS实例所使用的集群,找到对应新加组织或新建节点的工作负载,单击负载名称进入负载详情页,查看实例列表,找到异常实例。
podAffinity/podAntiAffinity 您可以根据工作负载标签,使用标签选择器来筛选需要亲和/反亲和的Pod,并将新建的工作负载调度/不调度至目标Pod所在的节点(或节点组),同时支持必须满足和尽量满足的亲和性规则。 说明: 工作负载亲和性和反亲和性需要一定的计算时间,因此在大规模集群中
使用Local Persistent Volume 部署有状态工作负载 本教程以部署Demo StatefulSet为例,指导您利用 LocalPersistentVolume (即本地持久卷)技术使用标准 PVC 对象访问本地磁盘。 安装kubernetes集群 略,可参考官方文档
达到实例间发现和访问的效果。 Headless Service使用场景 当某个工作负载的多个Pod之间没有任何区别时,可以使用普通Service,利用集群kube-proxy实现Service的负载均衡,例如常见的无状态应用Nginx。 但是某些应用场景下,工作负载的各个实例间存
工作负载异常:实例拉取镜像失败 问题定位 当工作负载状态显示“实例未就绪:Back-off pulling image "xxxxx"”,该状态下工作负载实例K8s事件名称为“实例拉取镜像失败”或“重新拉取镜像失败”。查看K8s事件的方法请参见Pod事件查看方法。 排查思路 根据
工作负载升级配置 在实际应用中,升级是一个常见的场景,Deployment、StatefulSet和DaemonSet都能够很方便的支撑应用升级。 通过控制台配置工作负载升级 在创建工作负载时,单击“展开高级配置”。 参考表1,设置升级策略。 表1 参数说明 参数 描述 升级方式
配置工作负载升级策略 在实际应用中,升级是一个常见的场景,Deployment、StatefulSet和DaemonSet都能够很方便的支撑应用升级。 设置不同的升级策略,有如下两种。 RollingUpdate:滚动升级,即逐步创建新Pod再删除旧Pod,为默认策略。 Recr
单击集群名称进入集群,在左侧选择“工作负载”,在右上角单击“创建工作负载”。 配置工作负载的信息。 基本信息 负载类型:选择无状态工作负载Deployment。 负载名称:填写工作负载的名称。