检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如何避免节点上的某个容器被驱逐? 问题背景 在工作负载调度时可能会发生一个节点上的两个容器之间互相争资源的情况,最终导致kubelet将其全部驱逐。那么能不能设定策略让其中一个服务一直保留?如何设定? 问题建议 Kubelet会按照下面的标准对Pod的驱逐行为进行评判: 根据服务
15及以上版本的Everest插件。 定义自动创建的底层存储名称,实际创建的底层存储名称为“存储卷名称前缀”与“PVC UID”的拼接组合,如果不填写该参数,默认前缀为“pvc”。 例如,存储卷名称前缀设置为“test”,则实际创建的底层存储名称test-{uid}。 容量 申请的存储卷容量大小,支持GiB和MiB。
在使用containerd容器引擎场景下,拉取镜像到节点时,概率性缺少镜像层,导致工作负载容器创建失败。 问题根因 docker v1.10 之前支持mediaType 为 application/octet-stream 的layer,而containerd不支持application/octet-stream,导致没有拉取。
部curl当前这个service的域名,查看是否能正确解析域名。当然,有的场景下是无法curl通的,这与接下来的Dns的查找原理与配置有关。 使用CCE提供的托管式Kubernetes创建Pod,Pod的域名解析参数采用了一些默认值,没有开放全部的dnsConfig配置。在使用时
选择的键名。 变量/变量引用:选择一个配置项及需要导入的键名,将其对应的值导入为工作负载环境变量。 例如将cce-configmap这个配置项中“SPECIAL_LEVEL”的值“Hello”导入,作为工作负载环境变量“SPECIAL_LEVEL”的值,导入后容器中有一个名为“S
不建议修改,请自行恢复。 通过ELB的控制台解绑ELB的IPv4公网IP 解绑公网IP后,该弹性负载均衡器变更为私网类型,无法进行公网流量转发。 请自行恢复。 通过ELB的控制台在CCE管理的ELB创建自定义的监听器 若ELB是创建Service/Ingress时自动创建的,在Service
Nginx Ingress使用建议 Nginx型的Ingress在集群中部署NGINX Ingress控制器来对流量进行负载均衡及访问控制。由于NGINX Ingress控制器插件使用开源社区的模板与镜像,且部署在集群内部,因此它的稳定性与使用时的配置、当前集群状态密切相关。本文介绍Nginx
“nginx”的无状态负载,该负载提供对外访问。 为Nginx镜像添加触发器。 触发器名称填写“All_tags”,触发条件选择“全部触发”,选择使用了Nginx镜像的无状态负载及容器。 Nginx镜像新增一个v2版本,该版本的欢迎页面为“Hello, SoftWare Repository
Pod安全配置 PodSecurityPolicy配置 Pod Security Admission配置 父主题: 工作负载
所有Pending状态的Pod,根据用户配置的扩缩容策略,选择出一个最合适的节点池,在这个节点池扩容。HPA和CA的工作原理详情请参见工作负载伸缩原理和节点伸缩原理。 图1 HPA + CA工作流程 使用HPA+CA可以很容易做到弹性伸缩,且节点和Pod的伸缩过程可以非常方便地观
表示这个容忍度与任意的key、value和effect都匹配,即这个容忍度能容忍任何污点。 如果effect为空但键名key已填写,则表示与所有键名key的效果相匹配。 关于Kubernetes容忍度的详细说明,请参见污点和容忍度。 因此,需要修改工作负载的yaml,还原tolerations为默认配置如下:
/dev/null的方式启动容器,然后手动执行启动脚本的方式得到的目录的权限是700,而不加tailf由Kubernetes自行启动的方式得到的目录权限却是751。 解决方案 这个问题是因为两种方式设置的umask值不一样,所以创建出来的目录权限不相同。 umask值用于为用户新创建的文件和
是一些常见的场景: 表1 容器重建的常见场景 常见场景 说明 容器崩溃或异常终止 当运行中的容器因软件错误、资源耗尽或其他意外情况崩溃时,为了确保服务的连续性,系统会自动重建容器以迅速恢复服务。 手动删除某容器 若手动删除了某个正在运行的容器,容器编排工具会根据定义的部署策略重新
4-r0及以上时支持,且集群中需安装2.4.15及以上版本的Everest插件。 定义自动创建的底层存储名称,实际创建的底层存储名称为“存储卷名称前缀”与“PVC UID”的拼接组合,如果不填写该参数,默认前缀为“pvc”。 例如,存储卷名称前缀设置为“test”,则实际创建的底层存储名称test-{uid}。
如何查看Pod是否使用CPU绑核? 以4U8G节点为例,并提前在集群中部署一个CPU request为1,limit为2的工作负载。 登录到节点池中的一个节点,查看/var/lib/kubelet/cpu_manager_state输出内容。 cat /var/lib/kubel
件是否正常。 如果节点和docker正常,而pod调度不到节点上,请确认pod是否做了亲和,排查方法请参见排查项三:检查工作负载的亲和性配置。 如果节点上的资源不足,导致节点调度不上,请扩容或者新增节点。 父主题: 调度策略
Pressure情况(心跳)都依赖于eviction manager的检测。心跳上报和eviction manager的检测分别由两个协程并发执行。正常情况下,如果先执行eviction manager的检测,再执行心跳上报,则kubelet可以上报正确的磁盘情况,并不会删除污点。异常情况下,如果先执行心跳上报,再执行eviction
表NPU卡的第0张卡)信息的Pod。最终输出了Pod所在的命名空间和Pod名称。查询结果如下: 代表default命名空间下名为test-564f996c77-fws6z的Pod使用了192.168.0.138节点上的第0张卡。 在使用其他卡时,Ascend310-0的Ascend310应该修改为对应卡名称。
使用kubectl部署带云硬盘存储卷的工作负载 操作场景 云硬盘创建或导入CCE后,可以在工作负载中挂载云硬盘。 云硬盘不支持跨可用区挂载。在挂载前,您可以使用 kubectl get pvc 命令查询当前集群所在分区下可用PVC。 约束与限制 如下配置示例适用于Kubernetes
CCE容器拉取私有镜像时报错“Auth is empty” 问题描述 在CCE的控制台界面中为已经创建的工作负载更换镜像,选择我上传的镜像,容器在拉取镜像时报错“Auth is empty, only accept X-Auth-Token or Authorization”。 Failed