[k8s] S01E03 Control Plane: bootkube-start
Diff
kubernetes.tf | 11 +++++++++++
modules/bootkube/main.tf | 37 +++++++++++++++++++++++++++++++++++--
2 files changed, 45 insertions(+), 3 deletions(-)
@@ -23,3 +23,14 @@
docker = "docker.sydney"
}
}
module "bootkube-start" {
source = "modules/bootkube"
mode = "start"
host_ip = "${var.ips["dovpn"]}"
k8s_host = "k8s.${var.root-domain}"
providers = {
docker = "docker.sydney"
}
}
@@ -1,4 +1,5 @@
resource "docker_container" "bootkube" {
resource "docker_container" "render" {
count = "${var.mode == "render" ? 1 : 0}"
image = "${docker_image.image.latest}"
name = "bootkube-render"
@@ -9,13 +10,43 @@
command = [
"bootkube",
"${var.mode}",
"render",
"--asset-dir=/home/.bootkube",
"--api-servers=https://kubernetes.default:${var.host_port},https://${var.k8s_host},https://${var.host_ip}:${var.host_port}",
"--pod-cidr=${var.pod_cidr}",
]
network_mode = "host"
restart = "on-failure"
max_retry_count = 5
}
resource "docker_container" "start" {
count = "${var.mode == "start" ? 1 : 0}"
image = "${docker_image.image.latest}"
name = "bootkube-${var.mode}"
volumes {
container_path = "/home/.bootkube"
volume_name = "${var.asset_dir_volume_name}"
read_only = true
}
volumes {
container_path = "/etc/kubernetes/manifests"
host_path = "/etc/kubernetes/manifests"
}
command = [
"bootkube",
"start",
"--asset-dir=/home/.bootkube",
"--pod-manifest-path=/etc/kubernetes/manifests",
]
network_mode = "host"
restart = "on-failure"
max_retry_count = 5
}