From 30017d399a648ce5732332c5b0292fd89e887d85 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 20 Jan 2018 18:16:05 +0100 Subject: initial version of the kubernetes master role --- roles/kubernetes-master/tasks/main.yml | 43 ++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'roles/kubernetes-master') diff --git a/roles/kubernetes-master/tasks/main.yml b/roles/kubernetes-master/tasks/main.yml index ed97d539..c0841585 100644 --- a/roles/kubernetes-master/tasks/main.yml +++ b/roles/kubernetes-master/tasks/main.yml @@ -1 +1,44 @@ --- +- name: generate bootstrap token + command: kubeadm token generate + changed_when: False + check_mode: no + register: kubeadm_token_generate + +- name: extract token id and secret + set_fact: + kube_bootstrap_token: "{{ kubeadm_token_generate.stdout }}" + +- 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" + args: + creates: /etc/kubernetes/pki/ca.crt + register: kubeadm_init + +- name: print result of kubeadm init + when: kubeadm_init.changed + debug: + var: kubeadm_init.stdout + +## TODO: check if the taint is set or not before taking any action + +# - name: remove taint from master node +# when: kubernetes.dedicated_master == False +# command: kubectl --kubeconfig /etc/kubernetes/admin.conf taint nodes --all node-role.kubernetes.io/master- + +# - name: add taint for master node +# when: kubernetes.dedicated_master == True +# command: "kubectl --kubeconfig /etc/kubernetes/admin.conf taint nodes {{ ansible_nodename }} node-role.kubernetes.io/master='':NoSchedule" + +- name: install openssl + apt: + name: openssl + state: present + +- name: get ca certificate digest + 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 + +- name: set ca digest fact + set_fact: + kube_bootstrap_ca_cert_hash: "sha256:{{ kube_ca_openssl.stdout }}" -- cgit v1.2.3