如何通过Terraform Kubernetes provider获取Kubernetes服务器版本信息?
如何通过Terraform Kubernetes Provider获取K8s服务器版本
完全可以通过Terraform的Kubernetes Provider获取Kubernetes服务器版本,并且能提取出和kubectl version/kubectl version --short一致的主、次版本号。
核心实现方式
使用Kubernetes Provider提供的kubernetes_version数据源,它会自动从已连接的集群中拉取版本信息。
示例代码
首先确保已配置好Kubernetes Provider的集群连接(根据实际环境调整):
provider "kubernetes" { config_path = "~/.kube/config" # 替换为你的kubeconfig路径 }
然后定义数据源并输出目标版本信息:
data "kubernetes_version" "cluster" {} # 输出完整服务器版本(对应kubectl version的Server Version字段) output "k8s_server_full_version" { value = data.kubernetes_version.cluster.server_version } # 输出仅包含主、次版本的短格式(对应kubectl version --short的Server版本) output "k8s_server_short_version" { value = regex("^v\\d+\\.\\d+", data.kubernetes_version.cluster.server_version) }
输出说明
k8s_server_full_version会返回类似v1.28.3的完整版本号k8s_server_short_version通过正则提取主、次版本,返回类似v1.28的短格式,和kubectl version --short的输出格式完全匹配
内容的提问来源于stack exchange,提问作者sctx
相关产品推荐
相关产品推荐

