kops validate cluster命令无法加载kubeconfig设置

37次阅读
没有评论

问题描述

在运行kops validate cluster命令时遇到了问题。他按照文档中的说明运行了该命令,但是出现了以下错误:

$ AWS_ACCESS_KEY_ID=<my_legit_key> AWS_SECRET_ACCESS_KEY=<my_legit_secret_key> kops validate cluster --wait 10m --state="s3://<my_bucket_name>" --name=<my_cluster_name>
Validating cluster <my_cluster_name>
Validation failed: cannot load kubecfg settings for "<my_cluster_name>": context "<my_cluster_name>" does not exist

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据回答1,您需要在运行kops validate cluster命令之前加载kubeconfig。您可以使用以下命令加载kubeconfig:

$ export KUBECONFIG=~/workspace/myrepo/_kube/dev/kubeconfig
$ AWS_ACCESS_KEY_ID=<my_legit_key> AWS_SECRET_ACCESS_KEY=<my_legit_secret_key> kops validate cluster --wait 10m --state="s3://<my_bucket_name>" --name=<my_cluster_name>

如果kubeconfig文件尚不存在,您可以使用以下命令导出kubeconfig:

$ kops export kubecfg --admin=87600h0m0s --kubeconfig ~/workspace/myrepo/_kube/dev/kubeconfig --state=s3://my-kops-dev-v4 --name=k8.mydomain.com

方案2

回答2提到,您可以尝试运行kops get命令,以查看kOps是否可以正确读取存储在S3桶中的配置。如果出现错误,则可能在环境中缺少必需的配置。如果您正在使用AWS的命名配置文件,您可能需要设置一个额外的变量export AWS_SDK_LOAD_CONFIG=1,以便kOps可以正确获取设置(可能是AWS_REGION)。如果只是kops validate命令失败,请确保您使用的是正确的上下文。
请注意,方案2是一种排查问题的方法,如果您已经加载了kubeconfig并且没有其他配置问题,那么方案1应该可以解决您的问题。

正文完