mirror of
https://github.com/puppetmaster/typhoon.git
synced 2024-12-26 06:19:33 +01:00
Add support for devince binding
In some cases we need to use block devices directly (Physical volume storage). This new variable allows the user to mount devices with the --device option for flatcar baremetal. How to use : add a list of objects like this to the cluster definition : worker_bind_devices = [ { source = "/dev/sdb" target = "/dev/sdb" }, { source = "/dev/sdc" target = "/dev/sdd" }, { source = "/dev/sdd" target = "/dev/sdd" } ] This will bind the source device on the target directory in evry node.
This commit is contained in:
parent
76ebc08fd2
commit
949cc2199b
@ -73,6 +73,20 @@ variable "worker_node_taints" {
|
|||||||
default = {}
|
default = {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "worker_bind_devices" {
|
||||||
|
type = list(object({
|
||||||
|
source = string
|
||||||
|
target = string
|
||||||
|
}))
|
||||||
|
description = <<EOD
|
||||||
|
List of devices to bind on kubelet container for direct storage usage
|
||||||
|
[
|
||||||
|
{ source = "/dev/sdb", target = "/dev/sdb" },
|
||||||
|
{ source = "/dev/sdc", target = "/dev/sdc" }
|
||||||
|
]
|
||||||
|
EOD
|
||||||
|
}
|
||||||
|
|
||||||
# configuration
|
# configuration
|
||||||
|
|
||||||
variable "k8s_domain_name" {
|
variable "k8s_domain_name" {
|
||||||
|
@ -77,6 +77,9 @@ systemd:
|
|||||||
--register-with-taints=${taint} \
|
--register-with-taints=${taint} \
|
||||||
%{~ endfor ~}
|
%{~ endfor ~}
|
||||||
--node-labels=node.kubernetes.io/node
|
--node-labels=node.kubernetes.io/node
|
||||||
|
%{~ for device in compact(split(",", node_devices)) ~}
|
||||||
|
--device=${device.source}:${device.target}
|
||||||
|
%{~ endfor ~}
|
||||||
ExecStart=docker logs -f kubelet
|
ExecStart=docker logs -f kubelet
|
||||||
ExecStop=docker stop kubelet
|
ExecStop=docker stop kubelet
|
||||||
ExecStopPost=docker rm kubelet
|
ExecStopPost=docker rm kubelet
|
||||||
|
@ -81,6 +81,7 @@ data "ct_config" "worker" {
|
|||||||
cluster_domain_suffix = var.cluster_domain_suffix
|
cluster_domain_suffix = var.cluster_domain_suffix
|
||||||
node_labels = join(",", var.node_labels)
|
node_labels = join(",", var.node_labels)
|
||||||
node_taints = join(",", var.node_taints)
|
node_taints = join(",", var.node_taints)
|
||||||
|
node_devices = var.node_devices
|
||||||
})
|
})
|
||||||
strict = true
|
strict = true
|
||||||
snippets = var.snippets
|
snippets = var.snippets
|
||||||
|
@ -22,6 +22,7 @@ module "workers" {
|
|||||||
node_labels = lookup(var.worker_node_labels, var.workers[count.index].name, [])
|
node_labels = lookup(var.worker_node_labels, var.workers[count.index].name, [])
|
||||||
node_taints = lookup(var.worker_node_taints, var.workers[count.index].name, [])
|
node_taints = lookup(var.worker_node_taints, var.workers[count.index].name, [])
|
||||||
snippets = lookup(var.snippets, var.workers[count.index].name, [])
|
snippets = lookup(var.snippets, var.workers[count.index].name, [])
|
||||||
|
node_devices = lookup(var.worker_bind_devices, var.workers[count.index].name, [])
|
||||||
|
|
||||||
# optional
|
# optional
|
||||||
download_protocol = var.download_protocol
|
download_protocol = var.download_protocol
|
||||||
|
Loading…
Reference in New Issue
Block a user