apiVersion: v1 kind: Pod metadata: name: {{ loadbalancer_apiserver_pod_name }} namespace: kube-system labels: addonmanager.kubernetes.io/mode: Reconcile k8s-app: kube-nginx annotations: nginx-cfg-checksum: "{{ nginx_conf.checksum }}" spec: hostNetwork: true dnsPolicy: ClusterFirstWithHostNet nodeSelector: kubernetes.io/os: linux {# Set both, like kubeadm. The kubelet does not resolve priorityClassName for static pods, and the API server rejects the mirror pod when priority does not match the class. #} priority: 2000001000 priorityClassName: system-node-critical containers: - name: nginx-proxy image: {{ nginx_image_repo }}:{{ nginx_image_tag }} imagePullPolicy: {{ k8s_image_pull_policy }} resources: requests: cpu: {{ loadbalancer_apiserver_cpu_requests }} memory: {{ loadbalancer_apiserver_memory_requests }} {% if loadbalancer_apiserver_healthcheck_port is defined -%} livenessProbe: httpGet: path: /healthz port: {{ loadbalancer_apiserver_healthcheck_port }} readinessProbe: httpGet: path: /healthz port: {{ loadbalancer_apiserver_healthcheck_port }} {% endif -%} volumeMounts: - mountPath: /etc/nginx name: etc-nginx readOnly: true volumes: - name: etc-nginx hostPath: path: {{ nginx_config_dir }}