繁体   English   中英

如何使用 KOPS 恢复 Kubernetes 集群?

[英]How to recover Kubernetes cluster with KOPS?

我们正在尝试升级 Kubernetes 集群的 Kops 版本。 为此,我们遵循了以下步骤;

  1. 下载最新的KOPS版本1.24(旧版本为1.20)
  2. 根据 1.24 做模板更改
  3. 设置 ENV 变量
export KUBECONFIG="<<Kubeconfig file>>" export AWS_PROFILE="<< AWS PROFILE NAME >>" export AWS_DEFAULT_REGION="<< AWS Region >>" export KOPS_STATE_STORE="<< AWS S3 Bucket Name >>" export NAME="<< KOPS Cluster Name >>"
  1. kops 得到 $NAME -o yaml > 现有集群.yaml

  2. kops toolbox template --template templates/tm-eck-mixed-instances.yaml --values values_files/values-us-east-1.yaml --snippets snippets --output cluster.yaml --name $NAME

  3. kops 替换 -f cluster.yaml

  4. kops 更新集群 --name $NAME

  5. kops 滚动更新集群 --name $NAME --instance-group=master-us-east-1a --yes --cloudonly

一旦主服务器翻转,我注意到这个主服务器没有加入集群。 经过几轮故障排除,我在API服务器中发现了以下错误。

I0926 09:54:41.220817 1 flags.go:59] FLAG: --vmodule="" I0926 09:54:41.223834 1 dynamic_serving_content.go:111] Loaded a new cert/key pair for "serving-cert::/srv /kubernetes/kube-controller-manager/server.crt::/srv/kubernetes/kube-controller-manager/server.key”无法加载基于configmap的request-header-client-ca-file:获取“https:// 127.0.0.1/api/v1/namespaces/kube-system/configmaps/extension-apiserver-authentication”:拨打 tcp 127.0.0.1:443:连接:连接被拒绝

我试图解决这个问题但找不到方法,所以决定使用备份回滚。 这些是我为此采取的步骤;

  1. kops 替换 -f cluster.yaml
  2. kops 更新集群 --name $NAME
  3. kops 滚动更新集群 --name $NAME --instance-group=master-us-east-1a --yes --cloudonly

不过,我在主节点中遇到了同样的错误。

有谁知道我如何使用 Kops 恢复集群?

经过几轮故障排除后,我发现每当我们使用 kops 部署新版本时,它都会在 AWS 的启动模板中创建一个新版本。 我已经手动更改了所有节点组的 Auto Scaling 组中使用的启动模板版本。 然后集群回滚到之前的 state 并开始正常工作。 然后,在将缺少的配置添加到 kops 模板文件后,我重新运行了升级过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM