summaryrefslogtreecommitdiff
path: root/roles/kubernetes/kubeadm/control-plane/templates/kubeadm-init.config.j2
diff options
context:
space:
mode:
Diffstat (limited to 'roles/kubernetes/kubeadm/control-plane/templates/kubeadm-init.config.j2')
-rw-r--r--roles/kubernetes/kubeadm/control-plane/templates/kubeadm-init.config.j256
1 files changed, 56 insertions, 0 deletions
diff --git a/roles/kubernetes/kubeadm/control-plane/templates/kubeadm-init.config.j2 b/roles/kubernetes/kubeadm/control-plane/templates/kubeadm-init.config.j2
new file mode 100644
index 00000000..d4fb26cf
--- /dev/null
+++ b/roles/kubernetes/kubeadm/control-plane/templates/kubeadm-init.config.j2
@@ -0,0 +1,56 @@
+{# https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3 #}
+{# #}
+apiVersion: kubeadm.k8s.io/v1beta3
+kind: InitConfiguration
+{# it's easier to extract the bootstap token from separate `kubeadm token create` call #}
+{# so make sure the token created by init expires fast #}
+bootstrapTokens:
+- ttl: "1s"
+localAPIEndpoint:
+ bindPort: 6442
+{% if kubernetes_overlay_node_ip is defined %}
+ advertiseAddress: "{{ kubernetes_overlay_node_ip }}"
+{% endif %}
+{% if kubernetes_network_plugin_replaces_kube_proxy %}
+skipPhases:
+- addon/kube-proxy
+{% endif %}
+nodeRegistration:
+ name: "{{ inventory_hostname }}"
+ criSocket: "{{ kubernetes_cri_socket }}"
+---
+apiVersion: kubeadm.k8s.io/v1beta3
+kind: ClusterConfiguration
+kubernetesVersion: {{ kubernetes_version }}
+clusterName: "{{ kubernetes.cluster_name }}"
+imageRepository: k8s.gcr.io
+controlPlaneEndpoint: 127.0.0.1:6443
+networking:
+ dnsDomain: "{{ kubernetes.dns_domain | default('cluster.local') }}"
+ podSubnet: "{{ kubernetes.pod_ip_range }}"
+ serviceSubnet: "{{ kubernetes.service_ip_range }}"
+apiServer:
+ extraArgs:
+ encryption-provider-config: /etc/kubernetes/encryption/config
+ extraVolumes:
+ - name: encryption-config
+ hostPath: /etc/kubernetes/encryption
+ mountPath: /etc/kubernetes/encryption
+ readOnly: true
+ pathType: Directory
+{% if (kubernetes.api_extra_sans | default([]) | length) == 0 %}
+ certSANs: []
+{% else %}
+ certSANs:
+ {{ kubernetes.api_extra_sans | to_nice_yaml | indent(width=2) }}
+{% endif %}
+controllerManager:
+ extraArgs:
+ node-cidr-mask-size: "{{ kubernetes.pod_ip_range_size }}"
+scheduler: {}
+---
+apiVersion: kubelet.config.k8s.io/v1beta1
+kind: KubeletConfiguration
+clusterDNS:
+- "{{ kubernetes_nodelocal_dnscache_ip }}"
+cgroupDriver: systemd