Kubernetes运维
介绍平台底座Kubernetes的运维管理
使用 ocboot 部署的 Cloudpods 服务运行在Kubernetes上,本章介绍Kubernetes集群的运维相关知识和技巧。
每个服务二进制都运行在Kubernetes的Pod种,如何诊断Pod内服务组件的问题,请参考 排查pod异常。
Pod与Pod之间的容器网络采用的是Calico网络插件,如何排查Pod网络问题,请参考 排查Pod网络问题。
Kubernetes设计了驱逐容器(Eviction)的机制,在宿主机CPU,内存和存储被占用达到一定阈值后,Kubernetes会主动停止容器。这个机制对于无状态服务是有益的,能够提前规避因为宿主机资源不足导致的服务降级。但是对于有状态服务,例如每台宿主机的host服务,则该机制会放大资源不足的危害,本来只是资源不足导致可能的服务能力降级,却因为Eviction机制变为彻底的服务不可用。因此,我们应尽量避免Kubernetes触发Eviction。调整Kubernetes节点驱逐的阈值介绍了调整Kubenetes容器集群的Eviction机制的方法。
Kubernetes并不具备systemd停止和启动服务的控制能力,暂停集群服务介绍了通过operator暂停和恢复服务的方法。
📄️ pod常用运维命令
介绍如何重启组件服务、查看组件日志等
📄️ 排查pod异常
根据pod状态排查错误。
📄️ 排查Pod网络问题
排查Pod内DNS解析失败原因。
📄️ 修改OC更新集群状态
介绍通过修改OC(cloudpods-operator的CRD资源)来更新集群的状态。
📄️ 调整Kubernetes节点驱逐的阈值
Kubernetes 有一个节点驱逐的机制,比如当节点的根分区使用空间大于 85% 就会把节点变成 NotReady 状态,然后驱逐上面的 Pod 。下面介绍如何调整节点的相关配置的阈值,可根据自己的环境适当调整。
📄️ 暂停集群服务
在运维维护集群过程中,例如维护集群数据库等,需要暂停集群服务。本文介绍如何不影响虚拟机正常运行的前提下暂停平台服务的方法。