From 0f08cfb0d245d22a2e89335af7eecf4b3ebb3071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20T=C3=B6lle?= Date: Mon, 13 May 2019 01:05:58 +0200 Subject: [PATCH] deploy k8s using rke-provider --- dashboard.tf | 32 +++++ main.tf | 134 ++++++++++++++++--- provider_hcloud.tf | 4 - provider_kubernetes.tf | 9 ++ provider_other.tf | 4 + provider_rke.tf | 3 + templates/ansible_inventory.cfg | 8 -- terraform_provider_test/Makefile | 14 -- terraform_provider_test/cluster.tf | 60 --------- terraform_provider_test/nodes.tf | 19 --- terraform_provider_test/provider_hcloud.tf | 12 -- terraform_provider_test/provider_rancher2.tf | 17 --- terraform_provider_test/terraform.tfvars | 3 - vars.tf | 1 + 14 files changed, 167 insertions(+), 153 deletions(-) create mode 100644 dashboard.tf create mode 100644 provider_kubernetes.tf create mode 100644 provider_rke.tf delete mode 100644 templates/ansible_inventory.cfg delete mode 100644 terraform_provider_test/Makefile delete mode 100644 terraform_provider_test/cluster.tf delete mode 100644 terraform_provider_test/nodes.tf delete mode 100644 terraform_provider_test/provider_hcloud.tf delete mode 100644 terraform_provider_test/provider_rancher2.tf delete mode 100644 terraform_provider_test/terraform.tfvars create mode 100644 vars.tf diff --git a/dashboard.tf b/dashboard.tf new file mode 100644 index 0000000..25f7d18 --- /dev/null +++ b/dashboard.tf @@ -0,0 +1,32 @@ +resource "kubernetes_service_account" "dashboard" { + metadata { + name = "dashboard-admin" + namespace = "kube-system" + + labels = { + app = "dashboard" + } + } +} + +resource "kubernetes_cluster_role_binding" "dashboard" { + metadata { + name = "dashboard-admin" + + labels = { + app = "dashboard" + } + } + + role_ref { + api_group = "rbac.authorization.k8s.io" + kind = "ClusterRole" + name = "cluster-admin" + } + + subject { + kind = "ServiceAccount" + name = "dashboard-admin" + namespace = "kube-system" + } +} diff --git a/main.tf b/main.tf index 07577d9..7f8553d 100755 --- a/main.tf +++ b/main.tf @@ -3,6 +3,29 @@ resource hcloud_server control { name = "control${count.index}" image = "ubuntu-18.04" server_type = "cx21" + + ssh_keys = ["${hcloud_ssh_key.terraform.id}"] + + connection { + private_key = "${file("./keys/id_terraform")}" + } + + user_data = <