REMOVE: 删除不再使用的 Terraform 配置文件
Some checks failed
Deploy Nomad Configurations / deploy-nomad (push) Failing after 7m45s
Infrastructure CI/CD / Validate Infrastructure (push) Failing after 2m33s
Infrastructure CI/CD / Plan Infrastructure (push) Has been skipped
Infrastructure CI/CD / Apply Infrastructure (push) Has been skipped
Simple Test / test (push) Failing after 2m48s

- 移除 nomad-terraform.tf 和 test_opentofu_consul.tf 文件
- 更新 Ansible inventory,注释掉不存在的节点 hcp2
- 修改 inventory.ini,确保节点配置的准确性
- 在 nomad-config 模块中添加 null_provider 以支持新配置
- 更新 influxdb1.hcl,添加 Grafana 和 Prometheus 数据卷配置
This commit is contained in:
2025-10-10 13:53:41 +00:00
parent 45f93cc68c
commit eff8d3ec6d
50 changed files with 3683 additions and 239 deletions

View File

@@ -0,0 +1,87 @@
# OpenTofu 小王 - 客户端配置部署
terraform {
required_providers {
null = {
source = "registry.opentofu.org/hashicorp/null"
version = "3.2.4"
}
}
}
# 6个客户端节点列表
variable "client_nodes" {
type = list(string)
default = [
"hcp1",
"influxdb",
"ash3c",
"ch4",
"warden",
"browser"
]
}
# 为每个客户端节点生成配置文件
resource "local_file" "client_configs" {
for_each = toset(var.client_nodes)
filename = "${path.module}/generated/${each.key}-client.hcl"
content = replace(
file("${path.module}/../nomad-configs-tofu/client-template.hcl"),
"NODE_NAME",
each.key
)
}
# 部署配置到每个客户端节点
resource "null_resource" "client_deploy" {
for_each = toset(var.client_nodes)
depends_on = [local_file.client_configs]
provisioner "local-exec" {
command = <<EOF
echo "=== 部署客户端配置到 ${each.key} ==="
echo "开始时间: $(date)"
echo "1. 测试连接 ${each.key}..."
ping -c 1 ${each.key}.tailnet-68f9.ts.net || echo " - ${each.key} ping 失败"
echo "2. 上传配置文件..."
sshpass -p '3131' scp -o StrictHostKeyChecking=no -o ConnectTimeout=5 \
${path.module}/generated/${each.key}-client.hcl \
ben@${each.key}.tailnet-68f9.ts.net:/tmp/nomad-new.hcl && echo " - 文件上传成功" || echo " - 文件上传失败"
echo "3. 部署配置并重启服务..."
sshpass -p '3131' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 \
ben@${each.key}.tailnet-68f9.ts.net \
"echo '=== ${each.key} 客户端配置部署开始 ==='; \
echo '3131' | sudo -S systemctl stop nomad; \
echo '备份旧配置...'; \
echo '3131' | sudo -S cp /etc/nomad.d/nomad.hcl /etc/nomad.d/nomad.hcl.backup.\$(date +%Y%m%d_%H%M%S) 2>/dev/null || true; \
echo '替换配置文件...'; \
echo '3131' | sudo -S cp /tmp/nomad-new.hcl /etc/nomad.d/nomad.hcl; \
echo '启动服务...'; \
echo '3131' | sudo -S systemctl start nomad; \
sleep 5; \
echo '检查服务状态...'; \
echo '3131' | sudo -S systemctl status nomad --no-pager; \
echo '=== ${each.key} 部署完成 ==='" && echo " - ${each.key} 部署成功" || echo " - ${each.key} 部署失败"
echo "=== ${each.key} 配置部署完成!时间: $(date) ==="
EOF
}
triggers = {
config_hash = local_file.client_configs[each.key].content_md5
deploy_time = timestamp()
}
}
output "deployment_summary" {
value = {
client_nodes = var.client_nodes
config_files = [for node in var.client_nodes : "${node}-client.hcl"]
deploy_time = timestamp()
}
}

View File

@@ -0,0 +1,62 @@
# Nomad 客户端节点极简配置模板
datacenter = "dc1"
data_dir = "/opt/nomad/data"
log_level = "INFO"
name = "ash3c"
bind_addr = "ash3c.tailnet-68f9.ts.net"
addresses {
http = "ash3c.tailnet-68f9.ts.net"
rpc = "ash3c.tailnet-68f9.ts.net"
serf = "ash3c.tailnet-68f9.ts.net"
}
advertise {
http = "ash3c.tailnet-68f9.ts.net:4646"
rpc = "ash3c.tailnet-68f9.ts.net:4647"
serf = "ash3c.tailnet-68f9.ts.net:4648"
}
ports {
http = 4646
rpc = 4647
serf = 4648
}
# 纯客户端模式
server {
enabled = false
}
client {
enabled = true
network_interface = "tailscale0"
# 连接到当前活跃的服务器节点
servers = [
"ch2.tailnet-68f9.ts.net:4647",
"ash1d.tailnet-68f9.ts.net:4647",
"ch3.tailnet-68f9.ts.net:4647",
"de.tailnet-68f9.ts.net:4647",
"semaphore.tailnet-68f9.ts.net:4647"
]
# 基本驱动
options {
"driver.raw_exec.enable" = "1"
"driver.exec.enable" = "1"
}
}
# 极简 Consul 配置
consul {
address = "127.0.0.1:8500"
auto_advertise = true
client_auto_join = true
}
# 禁用 Vault - 清理垃圾配置
vault {
enabled = false
}

View File

@@ -0,0 +1,62 @@
# Nomad 客户端节点极简配置模板
datacenter = "dc1"
data_dir = "/opt/nomad/data"
log_level = "INFO"
name = "browser"
bind_addr = "browser.tailnet-68f9.ts.net"
addresses {
http = "browser.tailnet-68f9.ts.net"
rpc = "browser.tailnet-68f9.ts.net"
serf = "browser.tailnet-68f9.ts.net"
}
advertise {
http = "browser.tailnet-68f9.ts.net:4646"
rpc = "browser.tailnet-68f9.ts.net:4647"
serf = "browser.tailnet-68f9.ts.net:4648"
}
ports {
http = 4646
rpc = 4647
serf = 4648
}
# 纯客户端模式
server {
enabled = false
}
client {
enabled = true
network_interface = "tailscale0"
# 连接到当前活跃的服务器节点
servers = [
"ch2.tailnet-68f9.ts.net:4647",
"ash1d.tailnet-68f9.ts.net:4647",
"ch3.tailnet-68f9.ts.net:4647",
"de.tailnet-68f9.ts.net:4647",
"semaphore.tailnet-68f9.ts.net:4647"
]
# 基本驱动
options {
"driver.raw_exec.enable" = "1"
"driver.exec.enable" = "1"
}
}
# 极简 Consul 配置
consul {
address = "127.0.0.1:8500"
auto_advertise = true
client_auto_join = true
}
# 禁用 Vault - 清理垃圾配置
vault {
enabled = false
}

View File

@@ -0,0 +1,62 @@
# Nomad 客户端节点极简配置模板
datacenter = "dc1"
data_dir = "/opt/nomad/data"
log_level = "INFO"
name = "ch4"
bind_addr = "ch4.tailnet-68f9.ts.net"
addresses {
http = "ch4.tailnet-68f9.ts.net"
rpc = "ch4.tailnet-68f9.ts.net"
serf = "ch4.tailnet-68f9.ts.net"
}
advertise {
http = "ch4.tailnet-68f9.ts.net:4646"
rpc = "ch4.tailnet-68f9.ts.net:4647"
serf = "ch4.tailnet-68f9.ts.net:4648"
}
ports {
http = 4646
rpc = 4647
serf = 4648
}
# 纯客户端模式
server {
enabled = false
}
client {
enabled = true
network_interface = "tailscale0"
# 连接到当前活跃的服务器节点
servers = [
"ch2.tailnet-68f9.ts.net:4647",
"ash1d.tailnet-68f9.ts.net:4647",
"ch3.tailnet-68f9.ts.net:4647",
"de.tailnet-68f9.ts.net:4647",
"semaphore.tailnet-68f9.ts.net:4647"
]
# 基本驱动
options {
"driver.raw_exec.enable" = "1"
"driver.exec.enable" = "1"
}
}
# 极简 Consul 配置
consul {
address = "127.0.0.1:8500"
auto_advertise = true
client_auto_join = true
}
# 禁用 Vault - 清理垃圾配置
vault {
enabled = false
}

View File

@@ -0,0 +1,62 @@
# Nomad 客户端节点极简配置模板
datacenter = "dc1"
data_dir = "/opt/nomad/data"
log_level = "INFO"
name = "hcp1"
bind_addr = "hcp1.tailnet-68f9.ts.net"
addresses {
http = "hcp1.tailnet-68f9.ts.net"
rpc = "hcp1.tailnet-68f9.ts.net"
serf = "hcp1.tailnet-68f9.ts.net"
}
advertise {
http = "hcp1.tailnet-68f9.ts.net:4646"
rpc = "hcp1.tailnet-68f9.ts.net:4647"
serf = "hcp1.tailnet-68f9.ts.net:4648"
}
ports {
http = 4646
rpc = 4647
serf = 4648
}
# 纯客户端模式
server {
enabled = false
}
client {
enabled = true
network_interface = "tailscale0"
# 连接到当前活跃的服务器节点
servers = [
"ch2.tailnet-68f9.ts.net:4647",
"ash1d.tailnet-68f9.ts.net:4647",
"ch3.tailnet-68f9.ts.net:4647",
"de.tailnet-68f9.ts.net:4647",
"semaphore.tailnet-68f9.ts.net:4647"
]
# 基本驱动
options {
"driver.raw_exec.enable" = "1"
"driver.exec.enable" = "1"
}
}
# 极简 Consul 配置
consul {
address = "127.0.0.1:8500"
auto_advertise = true
client_auto_join = true
}
# 禁用 Vault - 清理垃圾配置
vault {
enabled = false
}

View File

@@ -0,0 +1,62 @@
# Nomad 客户端节点极简配置模板
datacenter = "dc1"
data_dir = "/opt/nomad/data"
log_level = "INFO"
name = "influxdb"
bind_addr = "influxdb.tailnet-68f9.ts.net"
addresses {
http = "influxdb.tailnet-68f9.ts.net"
rpc = "influxdb.tailnet-68f9.ts.net"
serf = "influxdb.tailnet-68f9.ts.net"
}
advertise {
http = "influxdb.tailnet-68f9.ts.net:4646"
rpc = "influxdb.tailnet-68f9.ts.net:4647"
serf = "influxdb.tailnet-68f9.ts.net:4648"
}
ports {
http = 4646
rpc = 4647
serf = 4648
}
# 纯客户端模式
server {
enabled = false
}
client {
enabled = true
network_interface = "tailscale0"
# 连接到当前活跃的服务器节点
servers = [
"ch2.tailnet-68f9.ts.net:4647",
"ash1d.tailnet-68f9.ts.net:4647",
"ch3.tailnet-68f9.ts.net:4647",
"de.tailnet-68f9.ts.net:4647",
"semaphore.tailnet-68f9.ts.net:4647"
]
# 基本驱动
options {
"driver.raw_exec.enable" = "1"
"driver.exec.enable" = "1"
}
}
# 极简 Consul 配置
consul {
address = "127.0.0.1:8500"
auto_advertise = true
client_auto_join = true
}
# 禁用 Vault - 清理垃圾配置
vault {
enabled = false
}

View File

@@ -0,0 +1,62 @@
# Nomad 客户端节点极简配置模板
datacenter = "dc1"
data_dir = "/opt/nomad/data"
log_level = "INFO"
name = "warden"
bind_addr = "warden.tailnet-68f9.ts.net"
addresses {
http = "warden.tailnet-68f9.ts.net"
rpc = "warden.tailnet-68f9.ts.net"
serf = "warden.tailnet-68f9.ts.net"
}
advertise {
http = "warden.tailnet-68f9.ts.net:4646"
rpc = "warden.tailnet-68f9.ts.net:4647"
serf = "warden.tailnet-68f9.ts.net:4648"
}
ports {
http = 4646
rpc = 4647
serf = 4648
}
# 纯客户端模式
server {
enabled = false
}
client {
enabled = true
network_interface = "tailscale0"
# 连接到当前活跃的服务器节点
servers = [
"ch2.tailnet-68f9.ts.net:4647",
"ash1d.tailnet-68f9.ts.net:4647",
"ch3.tailnet-68f9.ts.net:4647",
"de.tailnet-68f9.ts.net:4647",
"semaphore.tailnet-68f9.ts.net:4647"
]
# 基本驱动
options {
"driver.raw_exec.enable" = "1"
"driver.exec.enable" = "1"
}
}
# 极简 Consul 配置
consul {
address = "127.0.0.1:8500"
auto_advertise = true
client_auto_join = true
}
# 禁用 Vault - 清理垃圾配置
vault {
enabled = false
}