Initial Implementation of KUBECONFIG

This commit is contained in:
2024-10-19 23:12:20 -03:00
parent a390e8a785
commit 95eba14975
5 changed files with 59 additions and 56 deletions

View File

@@ -15,12 +15,12 @@ variable "master_server_address" {
}
variable "cluster_main_node" {
type = list(object({
type = object({
host = string
port = string
user = string
private_key = string
}))
})
description = "map of objects - main cluster nodes - [host, port]"
}

View File

@@ -2,7 +2,7 @@ terraform {
required_providers {
yoshik3s = {
source = "HideyoshiNakazone/yoshik3s"
version = "1.0.2"
version = "1.1.0"
}
}
}
@@ -13,34 +13,30 @@ terraform {
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
count = length(var.cluster_main_node)
node_connection = {
host = var.cluster_main_node[count.index].host
port = var.cluster_main_node[count.index].port
user = var.cluster_main_node[count.index].user
private_key = var.cluster_main_node[count.index].private_key
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 = [
"--write-kubeconfig-mode 644",
"--disable traefik",
"--node-label node_type=master",
"--tls-san ${var.cluster_domain}"
]
}
resource "yoshik3s_worker_node" "worker_node" {
master_server_address = var.master_server_address
cluster = yoshik3s_cluster.main_cluster
count = length(var.cluster_worker_node)
@@ -55,4 +51,12 @@ resource "yoshik3s_worker_node" "worker_node" {
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
}