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

author Nemo <me@captnemo.in> 2019-01-13 0:39:08.0 +05:30:00
committer Nemo <me@captnemo.in> 2019-01-27 2:49:55.0 +05:30:00
commit
86c0613d28d96caeb4b156ae18dfbbd3d1bec946 [patch]
tree
6cce3cd9c098b8fbda43234fc5fbb00f6dfa00e8
parent
9b40bfd3417e112527e22835af510c14b13d99a8
download
86c0613d28d96caeb4b156ae18dfbbd3d1bec946.tar.gz

[k8s] S01E02 Control Plane: bootkube-render



Diff

 kubernetes.tf                 | 16 ++++++++++++++++
 modules/bootkube/data.tf      |  1 +
 modules/bootkube/main.tf      | 30 ++++++++++++++++++++++++++++++
 modules/bootkube/variables.tf | 29 +++++++++++++++++++++++++++++
 4 files changed, 76 insertions(+)

diff --git a/kubernetes.tf b/kubernetes.tf
index 8ab7a7e..ad5972b 100644
--- a/kubernetes.tf
+++ a/kubernetes.tf
@@ -7,3 +7,19 @@
    docker = "docker.sydney"
  }
}

# module "kubelet" {
#   source = "modules/kubelet"
#   listen_ip =  "${var.ips["dovpn"]}"
# }

module "bootkube-render" {

  source   = "modules/bootkube"
  mode     = "render"
  host_ip  = "${var.ips["dovpn"]}"
  k8s_host = "k8s.${var.root-domain}"

  providers = {

    docker = "docker.sydney"
  }
}
diff --git a/modules/bootkube/data.tf b/modules/bootkube/data.tf
new file mode 100644
index 0000000..8b13789 100644
--- /dev/null
+++ a/modules/bootkube/data.tf
@@ -1,0 +1,1 @@

diff --git a/modules/bootkube/main.tf b/modules/bootkube/main.tf
new file mode 100644
index 0000000..d4ac1a7 100644
--- /dev/null
+++ a/modules/bootkube/main.tf
@@ -1,0 +1,30 @@
resource "docker_container" "bootkube" {

  image = "${docker_image.image.latest}"
  name  = "bootkube-render"

  volumes {

    container_path = "/home/.bootkube"
    volume_name    = "${var.asset_dir_volume_name}"
  }

  command = [

    "bootkube",
    "${var.mode}",
    "--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}",
  restart         = "on-failure"
  max_retry_count = 5
}

data "docker_registry_image" "image" {

  name = "captn3m0/bootkube:v${var.version}"
}

resource "docker_image" "image" {

  name          = "${data.docker_registry_image.image.name}"
  pull_triggers = ["${data.docker_registry_image.image.sha256_digest}"]
}
diff --git a/modules/bootkube/variables.tf b/modules/bootkube/variables.tf
new file mode 100644
index 0000000..075bd5e 100644
--- /dev/null
+++ a/modules/bootkube/variables.tf
@@ -1,0 +1,29 @@
// Based on https://github.com/v1k0d3n/dockerfiles/tree/master/bootkube

variable "asset_dir_volume_name" {

  default = "k8s-assets"
}

variable "k8s_host" {

  description = "kubenetes hostname"
}

variable "host_port" {

  default = "8443"
}

variable "host_ip" {}

variable "pod_cidr" {

  default = "10.25.0.0/16"
}

variable "service_cidr" {

  default = "10.96.0.0/16"
}

variable "mode" {}

variable "version" {

  default = "0.14.0"
}