61 lines
1.3 KiB
HCL
61 lines
1.3 KiB
HCL
terraform {
|
|
required_providers {
|
|
yoshik3s = {
|
|
source = "HideyoshiNakazone/yoshik3s"
|
|
version = "1.1.2"
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
# Cluster Configuration
|
|
|
|
resource "yoshik3s_cluster" "main_cluster" {
|
|
name = "main-cluster"
|
|
token = var.cluster_token
|
|
address = var.cluster_domain
|
|
k3s_version = "v1.30.2+k3s2"
|
|
}
|
|
|
|
|
|
resource "yoshik3s_master_node" "master_node" {
|
|
cluster = yoshik3s_cluster.main_cluster
|
|
|
|
node_connection = {
|
|
host = var.cluster_main_node.host
|
|
port = var.cluster_main_node.port
|
|
user = var.cluster_main_node.user
|
|
private_key = var.cluster_main_node.private_key
|
|
}
|
|
|
|
node_options = [
|
|
"--disable traefik",
|
|
"--node-label node_type=master",
|
|
]
|
|
}
|
|
|
|
|
|
resource "yoshik3s_worker_node" "worker_node" {
|
|
cluster = yoshik3s_cluster.main_cluster
|
|
|
|
count = length(var.cluster_worker_node)
|
|
|
|
node_connection = {
|
|
host = var.cluster_worker_node[count.index].host
|
|
port = var.cluster_worker_node[count.index].port
|
|
user = var.cluster_worker_node[count.index].user
|
|
private_key = var.cluster_worker_node[count.index].private_key
|
|
}
|
|
|
|
node_options = [
|
|
"--node-label node_type=worker",
|
|
]
|
|
|
|
depends_on = [yoshik3s_master_node.master_node]
|
|
}
|
|
|
|
|
|
output "cluster_kubeconfig" {
|
|
value = yoshik3s_master_node.master_node.kubeconfig
|
|
sensitive = true
|
|
} |