# 1. 安装 K3S Server(正确官方安装法) resource "null_resource" "k3s_server" { connection { type = "ssh" host = "101.201.78.54" user = "root" password = "Xs261617" } provisioner "remote-exec" { inline = [ "curl -sfL https://get.k3s.io | sh -", "sleep 20" ] } # 每次都重新执行,确保拿最新token triggers = { always = timestamp() } } # 2. 从 Server 下载 Token 到本地 resource "null_resource" "get_token" { depends_on = [null_resource.k3s_server] connection { type = "ssh" host = "101.201.78.54" user = "root" password = "Xs261617" } provisioner "file" { source = "/var/lib/rancher/k3s/server/node-token" destination = "node-token" } } # 3. 读取本地 Token data "local_file" "k3s_token" { filename = "node-token" depends_on = [null_resource.get_token] } # 4. 自动安装 Worker 并加入集群 resource "null_resource" "k3s_worker" { depends_on = [data.local_file.k3s_token] connection { type = "ssh" host = "47.120.61.39" user = "root" password = "Xs261617" } provisioner "remote-exec" { inline = [ "curl -sfL https://get.k3s.io | K3S_URL=https://101.201.78.54:6443 K3S_TOKEN=${trimspace(data.local_file.k3s_token.content)} sh -" ] } } output "status" { value = "✅ K3s 一主一从集群安装完成!" }