Kubernetes 集群 troubleshooting
· ☕ 2 分钟
FailedCreatePodSandBox 错误 Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:402: getting the final child's pid from pipe caused: EOF: unknown 处理 清理 cache 1 echo 3 > /proc/sys/vm/drop_caches 原因 内存碎片过多 calico-node 不停重启 错误 runtime: failed to create new OS thread (have 11 already; errno=11),runtime: may need to increase max user processes (ulimit -u) 处理 增加 ulimit 限制额度 1 ulimit -u unlimited 原因 用户进程数耗尽 应用起不来,cgr

如何修复变更 IP 之后的 Kubernetes 集群
· ☕ 4 分钟
记录一次因为 IP 变更导致集群故障的修复过程。有两个集群,一个是单节点(allinone),另一个是四节点(3 master 1 node)的集群。 1. 更新 Etcd 证书 【在每个 Etcd 节点】备份 Etcd 证书 1 cp -R /etc/ssl/etcd/ssl /etc/ssl/etcd/ssl-bak 查看 Etcd 证书中的域 1 2 3 openssl x509 -in /etc/ssl/etcd/ssl/node-node1.pem -noout -text|grep DNS DNS:etcd, DNS:etcd.kube-system, DNS:etcd.kube-system.svc, DNS:etcd.kube-system.svc.cluster.local, DNS:localhost, DNS:node1, IP Address:127.0.0.1, IP Address:0:0:0:0:0:0:0:1, IP Address:x.x.x.1 需要

Kubernetes 网络流量转发详解
· ☕ 15 分钟
本文翻译自 https://learnk8s.io/kubernetes-network-packets,并没有逐字翻译,带入了些自己的理解。 阅读本文,你可以了解在 Kubernetes 内外,数据包是如何转发的,从原始的 Web 请求开始,到托管应用程序的容器。 Kubernetes 网络要

SRE 向左,DevOps 向右
· ☕ 3 分钟
1,脱离职责的流程是没有意义的 软件架构与组织架构相匹配,不仅仅体现在功能边界,更体现在职责划分。 清晰的职责边界,才能构筑良好的团队协作与发展。每个团队、每个人都应该明白自己的目标,什么事情应该承担,什么事情应该回避,将时间和精力投入到对主要

拉取大镜像报错
· ☕ 3 分钟
1,接上一回,共享存储优化海外镜像的拉取 在基于 Harbor 和 Registry 的镜像管理分发方案的基础上,最近又做了一个优化。 之前的方案是,在每个区域,使用一台低配大磁盘的机器,部署一个 Mirror Cache 缓存镜像。这样带来一个问题,就是每个区域都需要拉取一个镜像,如果有 N 个区域,