summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--group_vars/k8s-stream/vars.yml3
-rw-r--r--roles/kubernetes-master/tasks/main.yml19
-rw-r--r--roles/kubernetes-node/tasks/main.yml15
3 files changed, 32 insertions, 5 deletions
diff --git a/group_vars/k8s-stream/vars.yml b/group_vars/k8s-stream/vars.yml
index f13aff35..898bd91f 100644
--- a/group_vars/k8s-stream/vars.yml
+++ b/group_vars/k8s-stream/vars.yml
@@ -3,9 +3,10 @@ docker_pkg_version: 17.03.2~ce-0~debian-stretch
kubernetes:
pkg_version: 1.9.2-00
+ # currentley only one master is supported
+ master: "{{ groups['k8s-stream-master'] | first }}"
api_extra_sans:
- dione.spreadspace.org
-
dedicated_master: False
pod_ip_range: 172.18.0.0/16
diff --git a/roles/kubernetes-master/tasks/main.yml b/roles/kubernetes-master/tasks/main.yml
index 64634781..e83bd749 100644
--- a/roles/kubernetes-master/tasks/main.yml
+++ b/roles/kubernetes-master/tasks/main.yml
@@ -1,20 +1,31 @@
---
-- name: generate bootstrap token
+- name: generate bootstrap token (1/2)
command: kubeadm token generate
changed_when: False
check_mode: no
register: kubeadm_token_generate
-- name: extract token id and secret
+- name: generate bootstrap token (2/2)
set_fact:
kube_bootstrap_token: "{{ kubeadm_token_generate.stdout }}"
+################
+### check if master ist already initialized
+
+# if not
- name: set up kubernetes master
command: "kubeadm init --pod-network-cidr {{ kubernetes.pod_ip_range }} --service-cidr {{ kubernetes.service_ip_range }} {% if kubernetes.api_extra_sans | length > 0 %}--apiserver-cert-extra-sans {{ kubernetes.api_extra_sans | join(',') }}{% endif %} --token '{{ kube_bootstrap_token }}' --token-ttl 42m --skip-token-print"
args:
creates: /etc/kubernetes/pki/ca.crt
register: kubeadm_init
+# if it is initialized
+
+## TODO: add bootstrap token (with expiry)
+
+###
+################
+
- name: dump output of kubeadm init to log file
when: kubeadm_init.changed
copy:
@@ -44,11 +55,11 @@
name: openssl
state: present
-- name: get ca certificate digest
+- name: get ca certificate digest (1/2)
shell: "openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'"
register: kube_ca_openssl
changed_when: False
-- name: set ca digest fact
+- name: get ca certificate digest (2/2)
set_fact:
kube_bootstrap_ca_cert_hash: "sha256:{{ kube_ca_openssl.stdout }}"
diff --git a/roles/kubernetes-node/tasks/main.yml b/roles/kubernetes-node/tasks/main.yml
index ed97d539..c6b24fc6 100644
--- a/roles/kubernetes-node/tasks/main.yml
+++ b/roles/kubernetes-node/tasks/main.yml
@@ -1 +1,16 @@
---
+- name: get master vars
+ set_fact:
+ kube_master_vars: "{{ hostvars[kubernetes.master] }}"
+
+- name: set up kubernetes master
+ command: "kubeadm join --token {{ kube_master_vars.kube_bootstrap_token }} {{ kube_master_vars.ansible_default_ipv4.address }}:6443 --discovery-token-ca-cert-hash {{ kube_master_vars.kube_bootstrap_ca_cert_hash }}"
+ args:
+ creates: /etc/kubernetes/kubelet.conf
+ register: kubeadm_join
+
+- name: dump output of kubeadm join to log file
+ when: kubeadm_join.changed
+ copy:
+ content: "{{ kubeadm_join.stdout }}\n"
+ dest: /etc/kubernetes/kubeadm-join.log