将手动创建的K8s集群导入KOps

时间:2019-01-31 11:54:11

标签: amazon-web-services kubernetes terraform kops

某个时候,我访问了所有带有单词“ KOps import”的网页,但是没有找到导入手动创建的K8s集群的方法。手动创建的集群意味着“ 使用Terraform和Kubernetes在Terra上将Infra部署在AWS上,并使用Terraform的配置程序脚本作为Shell脚本”。现在,我看到手动管理环境很痛苦,因此我希望将其移至KOps下。为此,到目前为止,我已经完成了以下操作:

  1. 在我的本地计算机上安装了aws clikubectlkops

  2. 使用策略AmazonEC2FullAccess创建了KOps用户, AmazonRoute53FullAccessAmazonS3FullAccessIAMFullAccessAmazonVPCFullAccess并生成访问和密钥。

  3. 使用aws configure配置的凭据。

  4. 创建了S3存储桶以存储状态。

  5. 设置env变量,例如Region和Cluster name。

  6. 最后,运行kops import命令,如下所示:

    kops import cluster --region ${REGION} --name ${OLD_NAME}

但是遇到以下错误:

Cluster.kops "jjm-prod-use1-kubernetes" not found

详细说明:

$ kops import cluster --region ${REGION} --name ${OLD_NAME} -v 10
I0131 16:32:12.059651   25683 factory.go:68] state store s3://kops-state-store-jjm
I0131 16:32:13.133145   25683 s3context.go:194] found bucket in region "us-east-1"
I0131 16:32:13.133174   25683 s3fs.go:220] Reading file "s3://kops-state-store-jjm/jjm-prod-use1-kubernetes/config"

这使我认真考虑发布此问题。除了使用kubeup.sh之外,是否可以将创建的K8s集群置于KOps的控制之下?请指教。

注意:当集群在生产环境中运行时,我无法重新创建(销毁和创建)集群。

编辑:我知道只有使用kubeup.sh设置集群后才能实现。但是还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

只有在Kops文档页面中正式宣布通过kube-up.sh脚本引导群集的情况下,才有可能。实际上,kube-up.sh已从AWS的支持的Kubernetes安装tools列表中排除。尽管由kube-up.sh组成的集群提供了许多专门适用于AWS的自定义设置,但是初始脚本使用环境变量来定义这些设置。因此,我认为您的情况很难实现。