分类 Kubernetes 下的文章

cgroup驱动的选择:cgroupfs 或 systemd

在 Linux 上,控制组(CGroup)用于限制分配给进程的资源。kubelet 和 底层容器运行时 都需要对接控制组,以强制对Pod和容器进行资源管理和资源配置,如CPU和内存资源的请求和限制。若要对接控制组,kubelet 和 容器运行时 需要使用一个cgroup驱动。关键的一点是kubelet和容器运行时需使用相同的cgroup驱动,并且采用相同的配置。可用的 cgroup 驱动有两个:cgroupfssystemd1. cgroupfs 驱动cgroupfs驱动 是kubelet中默认的cgroup驱动。当使用cgroupfs驱动时,kubelet和容器运行时将直接对接 ......
<阅读全文>

K8S故障记录:KubeDeploymentReplicasMismatch / KubeDaemonSetRolloutStuck

1. 故障描述昨天,工作邮箱收到了两份来自Prometheus-AlertManager的告警邮件:告警一:KubeDeploymentReplicasMismatch**关键信息:alertname = KubeDeploymentReplicasMismatchmessage = Deployment kube-system/traefik has not matched the expected number of replicas for longer than 15 minutes.告警二:KubeDaemonSetRolloutStuck关键信息:alertname ......
<阅读全文>

K8S动态持久化存储方案:Heketi + GlusterFS

在使用NFS作为K8S持久化存储方式时,由于NFS不是高可用的,在NFS故障时,使用NFS的K8S容器可能会出现异常。为避免再次出现该情况,使用Heketi + GlusterFS替代NFS,搭建接近高可用的K8S持久化存储。另外,Heketi + GlusterFS集群除了能保障数据不丢失,还可以根据需要扩容集群,集群中某个GlusterFS节点故障时,可以在不影响集群使用的情况下使用新的节点替代故障节点。一、准备GlusterFS节点所需服务器提示:本文中,GlusterFS节点与K8S的Worker节点无关,它们为独立的服务器。另外,GlusterFS使用Replicate ......
<阅读全文>