检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
击“创建工作负载”。 配置工作负载的信息。 基本信息 负载类型:选择有状态工作负载StatefulSet。工作负载类型的介绍请参见工作负载概述。 负载名称:填写工作负载的名称。请输入1到63个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
击“创建工作负载”。 配置工作负载的信息。 基本信息 负载类型:选择无状态工作负载Deployment。工作负载类型的介绍请参见工作负载概述。 负载名称:填写工作负载的名称。请输入1到63个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
要求每个Pod都有自己单独的状态时,比如分布式数据库,每个Pod要求有单独的存储,这时Deployment就不能满足需求了。 详细分析下有状态应用的需求,分布式有状态的特点主要是应用中每个部分的角色不同(即分工不同),比如数据库有主备,Pod之间有依赖,对应到Kubernetes中就是对Pod有如下要求:
无状态工作负载 kind metadata spec
如持续集成。 工作负载生命周期说明 表1 状态说明 状态 说明 运行中 所有实例都处于运行中、或实例数为0时显示此状态。 未就绪 容器处于异常、负载下实例没有正常运行时显示此状态。 处理中 负载没有进入运行状态但也没有报错时显示此状态。 可用 当多实例无状态工作负载运行过程中部分
无状态负载(Deployment) 无状态负载与Kubernetes中Deployment Workloads的定义方式相同,是对Pod的服务化封装。一个无状态负载可以包含一个或多个Pod,每个Pod的角色相同,所以系统会自动为无状态负载的多个Pod分发请求。同一无状态负载的所有Pod共享存储卷。
创建无状态负载(Deployment) 操作场景 在运行中始终不保存任何数据或状态的工作负载称为“无状态负载 Deployment”,例如nginx。您可以通过控制台或kubectl命令行创建无状态负载。 前提条件 在创建容器工作负载前,您需要存在一个可用集群。若没有可用集群,请
本管理、滚动升级和自愈能力,其中最为常用的就是Deployment。 图1 Deployment 一个Deployment可以包含一个或多个Pod副本,每个Pod副本的角色相同,所以系统会自动为Deployment的多个Pod副本分发请求。 Deployment集成了上线部署、滚
工作负载 工作负载概述 创建工作负载 配置工作负载 调度工作负载 登录容器实例 管理工作负载 管理自定义资源 Pod安全配置 工作负载最佳实践
有状态负载(StatefulSet) 有状态负载(StatefulSet) Deployment控制器下的Pod都有个共同特点,那就是每个Pod除了名称和IP地址不同,其余完全相同。
创建有状态负载(StatefulSet) 操作场景 在运行过程中会保存数据或状态的工作负载称为“有状态工作负载(statefulset)”。例如MySQL,它需要存储产生的新数据。
将上面Deployment的定义保存到deployment.yaml文件中,使用kubectl创建这个Deployment。
单击“容忍策略”下的,可新增策略。相关参数说明见容忍策略。 配置完成后,单击“创建工作负载”。返回有状态工作负载列表查看工作负载状态。 在工作负载列表中,待工作负载状态为“运行中”,工作负载创建成功。 相关操作 通过集群控制台,您还可以执行表3中的操作。 表3 相关操作 操作
无状态负载 UCS集群联邦可实现多个不同区域、不同云的Kubernetes管理,支持统一的全局应用部署,可将Deployment、StatefulSet、DaemonSet等不同类型的工作负载部署到集群联邦下的集群。 在运行中始终不保存任何数据或状态的工作负载称为“无状态负载 D
工作负载状态正常但未正常工作 问题现象 Pod已经处于Running状态(查看Pod状态)但未正常工作,或者访问结果不符合预期。 问题原因 可能是您的部署描述YAML文件(例如 Pod、Deployment、StatefulSet等)存在错误。例如: 镜像版本未更新。您可能未使用
在页面左上角选择命名空间,找到对应的工作负载,查看其状态。 如果工作负载状态为“未就绪”,可通过查看Pod的事件等信息确定异常原因,详情请参见Pod事件查看方法。根据事件,参考Pod常见异常问题查找异常的解决方案。 如果工作负载状态为“处理中”,一般为过程中的状态,请耐心等待。 如果工作负载状态为“运行中”
有状态负载 在运行过程中会保存数据或状态的工作负载称为“有状态工作负载(statefulset)”,创建的Pod拥有持久型标识符,Pod迁移或销毁重启后,标识符仍会保留。有状态负载不支持弹性伸缩,适用于需要使用持久化存储的场景,如ETCD等。 创建有状态负载 登录UCS控制台,在左侧导航栏中选择“容器舰队”。
工作负载异常:已停止 问题现象 工作负载的状态为“已停止”。
创建服务 单击“创建工作负载”。 工作负载创建完成后,在工作负载列表中可查看到运行中的工作负载。 验证工作负载 工作负载创建完成后,可以通过访问工作负载验证部署是否成功。 在上面的部署中选择节点访问方式(NodePort),使用节点的“IP:端口”访问工作负载,如果能正常访问,则说明工作负载部署成功。
解决方式链接:CCE节点变更规格后,为什么无法重新拉起或创建工作负载? 父主题: 工作负载异常问题排查
可以通过更换镜像或镜像版本实现无状态工作负载、有状态工作负载、守护进程集的快速升级,业务无中断。 编辑YAML 可通过在线YAML编辑窗对无状态工作负载、有状态工作负载、守护进程集、定时任务和容器组的YAML文件进行修改和下载。普通任务的YAML文件仅支持查看、复制和下载。 说明: 如果对
Headless Service一般结合StatefulSet来部署有状态的应用,比如Redis集群、MySQL集群等。 父主题: 其他
进入CCE控制台,单击“工作负载 > 有状态负载 StatefulSet”,选择BCS实例所使用的集群,找到对应新加组织或新建节点的工作负载,单击负载名称进入负载详情页,查看实例列表,找到异常实例。
问题原因 该告警事件说明节点上绑定的云硬盘已达上限,挂载云硬盘的工作负载实例调度到该节点后,无法继续挂载云硬盘,导致工作负载无法正常运行。 例如,假设节点可挂载的云硬盘上限为20,除去节点上已挂载的1块系统盘和1块数据盘后,节点剩余可挂载的云硬盘数量为18块。若该节点通过ECS
本视频以nginx为例,介绍使用CCE部署工作负载的基本流程。
podAffinity/podAntiAffinity 您可以根据工作负载标签,使用标签选择器来筛选需要亲和/反亲和的Pod,并将新建的工作负载调度/不调度至目标Pod所在的节点(或节点组),同时支持必须满足和尽量满足的亲和性规则。 说明: 工作负载亲和性和反亲和性需要一定的计算时间,因此在大规模集群中
工作负载异常:实例拉取镜像失败 问题定位 当工作负载状态显示“实例未就绪:Back-off pulling image "xxxxx"”,该状态下工作负载实例K8s事件名称为“实例拉取镜像失败”或“重新拉取镜像失败”。查看K8s事件的方法请参见Pod事件查看方法。 排查思路 根据