最近,我遇到了一个问题,即多个主节点出现故障,导致整个k8s集群瘫痪。我能够使用kops恢复群集。但是,集群现在缺少以前拥有的所有部署,吊舱,名称空间和其他资源。
从我读到的内容来看,为了还原群集,我需要还原etcd状态。由于使用的是kops 1.3,因此在s3://my.clusters/test.my.clusters/backups/etcd/events
和s3://my.clusters/test.my.clusters/backups/etcd/main
中都有备份。
但是,我遇到的麻烦是使用这些恢复群集。例如,文档告诉我运行etcd-manager-ctl
,但是我从哪里运行以及如何安装etcd-manager并将其连接到正在运行的etcd容器?当前,我集群的主节点显示以下etcd容器:
sudo docker ps | grep etcd
abcd k8s.gcr.io/etcd@sha256:123456 "/bin/sh -c 'mkfif..." k8s_etcd-container_etcd-server-events-ip-10-10-63-66.ec2.internal_kube-system_678
dfsd k8s.gcr.io/etcd@sha256:asdvce "/bin/sh -c 'mkfif..." k8s_etcd-container_etcd-server-ip-10-10-63-66.ec2.internal_kube-system_939
fdhg k8s.gcr.io/pause-amd64:3.0 "/pause" k8s_POD_etcd-server-events-ip-10-10-63-66.ec2.internal_kube-system_678
mbnc k8s.gcr.io/pause-amd64:3.0 "/pause" k8s_POD_etcd-server-ip-10-10-63-66.ec2.internal_kube-system_939
其他详细信息:我正在AWS ec2实例上运行所有节点。我的集群有3个工作节点和3个主节点。任何帮助将不胜感激。