在 terraform 中创建新集群后,我可以写一些东西来编辑 /.kube/config 文件吗?

Posted

技术标签:

【中文标题】在 terraform 中创建新集群后,我可以写一些东西来编辑 /.kube/config 文件吗?【英文标题】:can I write something to edit the /.kube/config file as soon as create a new cluster in terraform? 【发布时间】:2021-08-23 04:09:28 【问题描述】:

provider "kubernetes" 
  host                   = data.aws_eks_cluster.cluster.endpoint
  cluster_ca_certificate = base64decode(data.aws_eks_cluster.cluster.certificate_authority.0.data)
  token                  = data.aws_eks_cluster_auth.cluster.token
  config_path = local.kubectl_config_path
  config_context =  data.aws_eks_cluster.cluster.arn

##################################################################


data "aws_availability_zones" "available" 


locals 
  cluster_name = "Cluster-$random_string.suffix.result"
  kubectl_config_path = "C:/Users/User/.kube/config"

我想访问集群 无需自己编辑配置文件中的信息。

想知道我是否只能使用 terraform 来做到这一点 还是有其他方法?

谢谢

【问题讨论】:

【参考方案1】:

您无需提供

  config_path = local.kubectl_config_path
  config_context =  data.aws_eks_cluster.cluster.arn

当您提供了hostcluster_ca_certificatetoken。因此无需写入本地 kubeconfig 文件即可访问集群以使 terraform kubernetes 提供程序正常工作。

如果你想手动替换当前本地的kubeconfig文件来运行kubectl命令,你可以通过null-resource.local-exec`reference编写kubeconfig

【讨论】:

以上是关于在 terraform 中创建新集群后,我可以写一些东西来编辑 /.kube/config 文件吗?的主要内容,如果未能解决你的问题,请参考以下文章

在sailsjs中创建新模型后可以更新属性吗?

无法使用 SQL Workbench/J 在 Amazon Redshift 中创建新用户

如何在 terraform 中导入生成的 Kubernetes 集群的命名空间

使用 terraform 如何创建一个跨多个项目使用的服务帐户?

Terraform 和 AWS:修改现有策略

Terraform 在 AKS 节点资源组中创建入口应用程序网关