From 6ecda893cf6f2d55108e035b127b6f6a425081bf Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 3 Feb 2019 19:25:50 +0100 Subject: fix kubernetes role (still needs love) --- roles/kubernetes/master/tasks/main.yml | 13 ++++++++- .../master/templates/kubeadm-cluster.config.j2 | 33 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 roles/kubernetes/master/templates/kubeadm-cluster.config.j2 (limited to 'roles/kubernetes/master') diff --git a/roles/kubernetes/master/tasks/main.yml b/roles/kubernetes/master/tasks/main.yml index c9092bf3..acd264e2 100644 --- a/roles/kubernetes/master/tasks/main.yml +++ b/roles/kubernetes/master/tasks/main.yml @@ -16,8 +16,19 @@ check_mode: no register: kubeadm_token_generate + - name: create kubernetes config directory + file: + path: /etc/kubernetes + state: directory + + ## TODO test whether the generated cluster configs really works - since it has never been used... + - name: install cluster config for kubeadm + template: + src: kubeadm-cluster.config.j2 + dest: /etc/kubernetes/kubeadm-cluster.config + - name: set up kubernetes master - command: "kubeadm init --pod-network-cidr {{ kubernetes.pod_ip_range }} --service-cidr {{ kubernetes.service_ip_range }} --apiserver-advertise-address {{ kubernetes.api_advertise_ip | default('0.0.0.0') }} {% if kubernetes.api_extra_sans | length > 0 %}--apiserver-cert-extra-sans {{ kubernetes.api_extra_sans | join(',') }}{% endif %} --token '{{ kubeadm_token_generate.stdout }}' --token-ttl 42m --skip-token-print" + command: "kubeadm init --config '/etc/kubernetes/kubeadm-cluster.config' --token '{{ kubeadm_token_generate.stdout }}' --token-ttl 42m --skip-token-print" args: creates: /etc/kubernetes/pki/ca.crt register: kubeadm_init diff --git a/roles/kubernetes/master/templates/kubeadm-cluster.config.j2 b/roles/kubernetes/master/templates/kubeadm-cluster.config.j2 new file mode 100644 index 00000000..eac0cacd --- /dev/null +++ b/roles/kubernetes/master/templates/kubeadm-cluster.config.j2 @@ -0,0 +1,33 @@ +apiVersion: kubeadm.k8s.io/v1beta1 +kind: ClusterConfiguration +kubernetesVersion: v{{ kubernetes.version }} +clusterName: {{ kubernetes.cluster_name }} +certificatesDir: /etc/kubernetes/pki +{% if kubernetes.api_advertise_ip %} +controlPlaneEndpoint: "{{ kubernetes.api_advertise_ip }}:6443" +{% endif %} +imageRepository: k8s.gcr.io +networking: + dnsDomain: cluster.local + podSubnet: {{ kubernetes.pod_ip_range }} + serviceSubnet: {{ kubernetes.service_ip_range }} +etcd: + local: + dataDir: /var/lib/etcd +apiServer: +{% if kubernetes.api_extra_sans | length > 0 %} + certSANs: +{% for san in kubernetes.api_extra_sans %} + - {{ san }} +{% endfor %} +{% endif %} + extraArgs: +{% if kubernetes.api_advertise_ip %} + advertise-address: {{ kubernetes.api_advertise_ip }} +{% endif %} + authorization-mode: Node,RBAC + timeoutForControlPlane: 4m0s +controllerManager: {} +scheduler: {} +dns: + type: CoreDNS -- cgit v1.2.3