🏡 index : github.com/captn3m0/nebula.git

author Nemo <me@captnemo.in> 2019-01-13 1:22:04.0 +05:30:00
committer Nemo <me@captnemo.in> 2019-01-27 2:49:55.0 +05:30:00
commit
789c9c5d3fc7a53784827cca6e716e4d034eb8b2 [patch]
tree
276632015e82fa78564d257e4f5ae10e1ff93a19
parent
86c0613d28d96caeb4b156ae18dfbbd3d1bec946
download
789c9c5d3fc7a53784827cca6e716e4d034eb8b2.tar.gz

[k8s] S01E03 Control Plane: bootkube-start



Diff

 kubernetes.tf            | 11 +++++++++++
 modules/bootkube/main.tf | 37 +++++++++++++++++++++++++++++++++++--
 2 files changed, 45 insertions(+), 3 deletions(-)

diff --git a/kubernetes.tf b/kubernetes.tf
index ad5972b..7abb2f1 100644
--- a/kubernetes.tf
+++ a/kubernetes.tf
@@ -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"
  }
}
diff --git a/modules/bootkube/main.tf b/modules/bootkube/main.tf
index d4ac1a7..5fb147d 100644
--- a/modules/bootkube/main.tf
+++ a/modules/bootkube/main.tf
@@ -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}",
  ]

  # "--service-cidr=${var.service_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"
  }

  # "There is no war within the container. Here we are safe. Here we are free."
  # - Docker Li agent brainwashing Nemo
  command = [

    "bootkube",
    "start",
    "--asset-dir=/home/.bootkube",
    "--pod-manifest-path=/etc/kubernetes/manifests",
  ]

  network_mode    = "host"
  restart         = "on-failure"
  max_retry_count = 5
}