运维
如何修复变更 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 证书
· ☕ 1 分钟
在默认情况下,Kubernetes 的证书每隔一年需要 renew 一次,下面是记录的一次证书更新过程。 1. 查看证书 在 Master 节点上查看证书过期时间: 1 2 3 4 5 6 7 8 9 10 11 12 13 kubeadm certs check-expiration CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED admin.conf Apr 02, 2023 09:53 UTC 296d no apiserver Apr 02, 2023 09:53 UTC 296d ca no apiserver-kubelet-client Apr 02, 2023 09:53 UTC 296d ca no controller-manager.conf Apr 02, 2023 09:53 UTC

使用 systemd timer 配置定时任务
· ☕ 2 分钟
1. 准备定时脚步 如果是 Bash 脚本,第一行需要指定解释器。 1 2 mkdir -p /root/scripts vim /root/scripts/quick-clear.sh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #!/bin/sh /usr/local/bin/kubectl --kubeconfig /root/.kube/config get pods --all-namespaces -o wide | grep Evicted | awk '{print $1,$2}' | xargs --no-run-if-empty -L1 /usr/local/bin/kubectl --kubeconfig /root/.kube/config delete pod -n || true /usr/local/bin/kubectl --kubeconfig /root/.kube/config get pods --all-namespaces -o wide | grep Error | awk '{print $1,$2}' | xargs --no-run-if-empty -L1 /usr/local/bin/kubectl --kubeconfig /root/.kube/config delete pod -n || true /usr/local/bin/kubectl --kubeconfig /root/.kube/config get pods --all-namespaces -o wide | grep Completed | awk '{print $1,$2}' | xargs --no-run-if-empty

运维与业务的系统设计差异
· ☕ 3 分钟
1. 通信协议的选择 运维系统更适合 HTTP 而非 gRpc 。 熟悉 HTTP 的运维、研发人员比其他协议的人多。在掌握 HTTP 协议的基础上,学习 Restful 风格的 HTTP API 很快。更多人熟悉、更易于学习,意味着更好沟通、更低的交接成本,因为他们有着更多共同的领域背景。 支持 HTTP 调试的工具非常多。无论

添加 SSH Key 登录及问题排查
· ☕ 3 分钟
1. 添加 key 的步骤 1.1 客户端生成 ssh key 有两种格式的 Key: 老格式,私钥以 -----BEGIN RSA PRIVATE KEY----- 开头 1 ssh-keygen -m PEM -t rsa -b 4096 -C "[email protected]" 新格式,私钥以 -----BEGIN OPENSSH PRIVATE KEY----- 开头 1 ssh-keygen -t rsa -b 4096 -C "[email protected]" 由于某些旧的系统不支持新格式的 Key,这里建议生成老格式的 Key。如果你已经在使用新格式的 Key,可以使用 puttygen