k8s高可用集群更新后etcd无法启动
Closed this issue · 17 comments
46797536 commented
yuyicai commented
分别执行以下两个命令看看结果:
openssl x509 -text -noout -in /etc/kubernetes/pki/etcd/peer.crt
openssl x509 -text -noout -in /etc/kubernetes.old-20210903/pki/etcd/peer.crt
46797536 commented
之前不小心把一个节点的所有证书全部覆盖到其他节点,后面发现每个节点证书是不一样的,目前还在想办法重新生成etcd证书
yuyicai commented
是的,每个节点的证书是不一样,节点上的证书的 x509 扩展必须包含被节点的 IP (即外部访问 etcd 的 IP)
如果是重要集群,可以邮箱联系我,远程帮你快速搞定 etcd 证书被覆盖问题,如果是练手集群,自己折腾一下比较好
yuyicai commented
如果要每个节点都通用一套证书,那么在前方证书的时候需要把所有 master 节点的 IP 都加进去,从而达到证书 “通用” 的效果。
46797536 commented
非常感谢,我自己先尝试修复一下
yuyicai commented
OK
另外 apiserver.crt(服务端证书) 和 etcd/peer.crt(对等证书,包含服务&客户端属性)、etcd/server.crt(对等证书,包含服务&客户端属性) 这几个需要重新签发,其他的都是客户端证书,不包含IP/域名,被覆盖了也不需要重新签发
另外,可以用 kubeadm init phase certs <cert_name>
来生产证书,纯手签有点麻烦
46797536 commented
yuyicai commented
apiserver 没起来,连不上apiserver
46797536 commented
46797536 commented
yuyicai commented
重新重新装一次calico吧
46797536 commented
yuyicai commented
昨晚的calico日志是连不上apiserver,有可能是kubueproxy有问题,有可能10.98.0.1 这个 apiserver 的 svc ip 没映射好
yuyicai commented
发个微信二维码到我邮箱,下午微信帮你看一下
46797536 commented
好的,谢谢
yuyicai commented
46797536 commented
非常感谢大佬热心指导,成功修复了集群