运行terraform plan报错:Kubernetes集群不可达、无法加载.kube配置文件
报错排查解决步骤
- 第一步:验证kubeconfig本身有效性
执行kubectl cluster-info,如果该命令也报集群不可达错误,说明问题出在kubeconfig配置本身,和Terraform无关。可进一步执行kubectl config view --minify检查默认上下文的集群地址、用户凭证、证书路径是否完整有效。 - 第二步:显式给kubernetes provider指定配置参数
老版本的kubernetes provider偶发默认路径读取异常,可修改providers.tf中的配置,显式指定配置路径和上下文:provider "kubernetes" { version = "~> 1.9.0" config_path = "~/.kube/config" # 如需使用非默认上下文,取消注释并替换为实际上下文名 # config_context = "your-target-context" } - 第三步:修复kubeconfig文件权限
kubeconfig文件权限过高会被工具主动拒绝读取,执行ls -l /Users/holodar/.kube/config确认权限为600,如果权限不符合要求,执行chmod 600 /Users/holodar/.kube/config修复。 - 第四步:检查环境变量冲突
执行echo $KUBECONFIG确认该环境变量未指向其他无效配置文件,如存在异常可执行unset KUBECONFIG临时清空后重新运行terraform plan测试。 - 第五步:升级provider补丁版本
你使用的1.9.0版本kubernetes provider存在已知的kubeconfig读取bug,可将版本约束修改为version = "~> 1.9.4",拉取该分支的最新修复版本,不会引入破坏性变更。
内容的提问来源于stack exchange,提问作者Darek
相关产品推荐
相关产品推荐

