summaryrefslogtreecommitdiff
path: root/roles/kubernetes/kubeadm/control-plane/templates/kubeadm.config.j2
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2022-05-07 22:45:49 +0200
committerChristian Pointner <equinox@spreadspace.org>2022-05-07 23:53:19 +0200
commitc09b07327b688a6a47f523a15c1a5c29d4f476d0 (patch)
tree6c243d60a3fb142c582761f1baab1c00f7081342 /roles/kubernetes/kubeadm/control-plane/templates/kubeadm.config.j2
parentcosmetic changes (diff)
k8s: rename masters to control-plane nodes
Diffstat (limited to 'roles/kubernetes/kubeadm/control-plane/templates/kubeadm.config.j2')
-rw-r--r--roles/kubernetes/kubeadm/control-plane/templates/kubeadm.config.j253
1 files changed, 53 insertions, 0 deletions
diff --git a/roles/kubernetes/kubeadm/control-plane/templates/kubeadm.config.j2 b/roles/kubernetes/kubeadm/control-plane/templates/kubeadm.config.j2
new file mode 100644
index 00000000..2fa98ed6
--- /dev/null
+++ b/roles/kubernetes/kubeadm/control-plane/templates/kubeadm.config.j2
@@ -0,0 +1,53 @@
+{# https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2 #}
+{# #}
+apiVersion: kubeadm.k8s.io/v1beta2
+kind: InitConfiguration
+{# TODO: this is ugly but we want to create our own token so we can #}
+{# better control it's lifetime #}
+bootstrapTokens:
+- ttl: "1s"
+localAPIEndpoint:
+ bindPort: 6442
+{% if kubernetes_overlay_node_ip is defined %}
+ advertiseAddress: {{ kubernetes_overlay_node_ip }}
+{% endif %}
+nodeRegistration:
+ criSocket: {{ kubernetes_cri_socket }}
+---
+apiVersion: kubeadm.k8s.io/v1beta2
+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: {}
+dns:
+ type: CoreDNS
+---
+apiVersion: kubelet.config.k8s.io/v1beta1
+kind: KubeletConfiguration
+clusterDNS:
+- {{ kubernetes_nodelocal_dnscache_ip }}
+cgroupDriver: systemd