mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2025-12-14 13:54:37 +03:00
Fixes various issues in vSphere Terraform code (#8178)
* Fixes various issues in vSphere Terraform code Provided to address various shortcomings and to fix the following issue in upstream Kubespray: https://github.com/kubernetes-sigs/kubespray/issues/8176 * Resolves Terraform formatting issues * Sets default prefix to human-readable name * Documents new default prefix in README
This commit is contained in:
@@ -5,7 +5,8 @@ resource "vsphere_virtual_machine" "worker" {
|
||||
if machine.node_type == "worker"
|
||||
}
|
||||
|
||||
name = each.key
|
||||
name = "${var.prefix}-${each.key}"
|
||||
|
||||
resource_pool_id = var.pool_id
|
||||
datastore_id = var.datastore_id
|
||||
|
||||
@@ -13,13 +14,14 @@ resource "vsphere_virtual_machine" "worker" {
|
||||
memory = var.worker_memory
|
||||
memory_reservation = var.worker_memory
|
||||
guest_id = var.guest_id
|
||||
enable_disk_uuid = "true"
|
||||
enable_disk_uuid = "true" # needed for CSI provider
|
||||
scsi_type = var.scsi_type
|
||||
folder = var.folder
|
||||
firmware = var.firmware
|
||||
hardware_version = var.hardware_version
|
||||
|
||||
wait_for_guest_net_routable = false
|
||||
wait_for_guest_net_timeout = 0
|
||||
|
||||
network_interface {
|
||||
network_id = var.network_id
|
||||
@@ -47,6 +49,7 @@ resource "vsphere_virtual_machine" "worker" {
|
||||
vapp {
|
||||
properties = {
|
||||
"user-data" = base64encode(templatefile("${path.module}/templates/cloud-init.tmpl", { ip = each.value.ip,
|
||||
netmask = each.value.netmask,
|
||||
gw = var.gateway,
|
||||
dns = var.dns_primary,
|
||||
ssh_public_keys = var.ssh_public_keys}))
|
||||
@@ -61,7 +64,8 @@ resource "vsphere_virtual_machine" "master" {
|
||||
if machine.node_type == "master"
|
||||
}
|
||||
|
||||
name = each.key
|
||||
name = "${var.prefix}-${each.key}"
|
||||
|
||||
resource_pool_id = var.pool_id
|
||||
datastore_id = var.datastore_id
|
||||
|
||||
@@ -69,12 +73,15 @@ resource "vsphere_virtual_machine" "master" {
|
||||
memory = var.master_memory
|
||||
memory_reservation = var.master_memory
|
||||
guest_id = var.guest_id
|
||||
enable_disk_uuid = "true"
|
||||
enable_disk_uuid = "true" # needed for CSI provider
|
||||
scsi_type = var.scsi_type
|
||||
folder = var.folder
|
||||
firmware = var.firmware
|
||||
hardware_version = var.hardware_version
|
||||
|
||||
wait_for_guest_net_routable = false
|
||||
wait_for_guest_net_timeout = 0
|
||||
|
||||
network_interface {
|
||||
network_id = var.network_id
|
||||
adapter_type = var.adapter_type
|
||||
@@ -101,6 +108,7 @@ resource "vsphere_virtual_machine" "master" {
|
||||
vapp {
|
||||
properties = {
|
||||
"user-data" = base64encode(templatefile("${path.module}/templates/cloud-init.tmpl", { ip = each.value.ip,
|
||||
netmask = each.value.netmask,
|
||||
gw = var.gateway,
|
||||
dns = var.dns_primary,
|
||||
ssh_public_keys = var.ssh_public_keys}))
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
output "master_ip" {
|
||||
value = {
|
||||
for instance in vsphere_virtual_machine.master :
|
||||
instance.name => instance.default_ip_address
|
||||
for name, machine in var.machines :
|
||||
name => machine.ip
|
||||
if machine.node_type == "master"
|
||||
}
|
||||
}
|
||||
|
||||
output "worker_ip" {
|
||||
value = {
|
||||
for instance in vsphere_virtual_machine.worker :
|
||||
instance.name => instance.default_ip_address
|
||||
for name, machine in var.machines :
|
||||
name => machine.ip
|
||||
if machine.node_type == "worker"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ write_files:
|
||||
ens192:
|
||||
dhcp4: false #true to use dhcp
|
||||
addresses:
|
||||
- ${ip}
|
||||
- ${ip}/${netmask}
|
||||
gateway4: ${gw} # Set gw here
|
||||
nameservers:
|
||||
addresses:
|
||||
|
||||
@@ -5,7 +5,8 @@ variable "machines" {
|
||||
description = "Cluster machines"
|
||||
type = map(object({
|
||||
node_type = string
|
||||
ip = string
|
||||
ip = string
|
||||
netmask = string
|
||||
}))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user