|
|
|
@@ -13,7 +13,7 @@ localAPIEndpoint:
|
|
|
|
|
certificateKey: {{ kubeadm_certificate_key }}
|
|
|
|
|
{% endif %}
|
|
|
|
|
nodeRegistration:
|
|
|
|
|
{% if kube_override_hostname|default('') %}
|
|
|
|
|
{% if kube_override_hostname | default('') %}
|
|
|
|
|
name: {{ kube_override_hostname }}
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if inventory_hostname in groups['kube_control_plane'] and inventory_hostname not in groups['kube_node'] %}
|
|
|
|
@@ -89,7 +89,7 @@ etcd:
|
|
|
|
|
{% endfor %}
|
|
|
|
|
{% endif %}
|
|
|
|
|
dns:
|
|
|
|
|
imageRepository: {{ coredns_image_repo | regex_replace('/coredns(?!/coredns).*$','') }}
|
|
|
|
|
imageRepository: {{ coredns_image_repo | regex_replace('/coredns(?!/coredns).*$', '') }}
|
|
|
|
|
imageTag: {{ coredns_image_tag }}
|
|
|
|
|
networking:
|
|
|
|
|
dnsDomain: {{ dns_domain }}
|
|
|
|
@@ -100,7 +100,7 @@ networking:
|
|
|
|
|
{% if kubeadm_feature_gates %}
|
|
|
|
|
featureGates:
|
|
|
|
|
{% for feature in kubeadm_feature_gates %}
|
|
|
|
|
{{ feature|replace("=", ": ") }}
|
|
|
|
|
{{ feature | replace("=", ": ") }}
|
|
|
|
|
{% endfor %}
|
|
|
|
|
{% endif %}
|
|
|
|
|
kubernetesVersion: {{ kube_version }}
|
|
|
|
@@ -124,13 +124,13 @@ apiServer:
|
|
|
|
|
{% endif %}
|
|
|
|
|
authorization-mode: {{ authorization_modes | join(',') }}
|
|
|
|
|
bind-address: {{ kube_apiserver_bind_address }}
|
|
|
|
|
{% if kube_apiserver_enable_admission_plugins|length > 0 %}
|
|
|
|
|
{% if kube_apiserver_enable_admission_plugins | length > 0 %}
|
|
|
|
|
enable-admission-plugins: {{ kube_apiserver_enable_admission_plugins | join(',') }}
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if kube_apiserver_admission_control_config_file %}
|
|
|
|
|
admission-control-config-file: {{ kube_config_dir }}/admission-controls.yaml
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if kube_apiserver_disable_admission_plugins|length > 0 %}
|
|
|
|
|
{% if kube_apiserver_disable_admission_plugins | length > 0 %}
|
|
|
|
|
disable-admission-plugins: {{ kube_apiserver_disable_admission_plugins | join(',') }}
|
|
|
|
|
{% endif %}
|
|
|
|
|
apiserver-count: "{{ kube_apiserver_count }}"
|
|
|
|
@@ -144,13 +144,13 @@ apiServer:
|
|
|
|
|
profiling: "{{ kube_profiling }}"
|
|
|
|
|
request-timeout: "{{ kube_apiserver_request_timeout }}"
|
|
|
|
|
enable-aggregator-routing: "{{ kube_api_aggregator_routing }}"
|
|
|
|
|
{% if kube_token_auth|default(true) %}
|
|
|
|
|
{% if kube_token_auth | default(true) %}
|
|
|
|
|
token-auth-file: {{ kube_token_dir }}/known_tokens.csv
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if kube_apiserver_service_account_lookup %}
|
|
|
|
|
service-account-lookup: "{{ kube_apiserver_service_account_lookup }}"
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if kube_oidc_auth|default(false) and kube_oidc_url is defined and kube_oidc_client_id is defined %}
|
|
|
|
|
{% if kube_oidc_auth | default(false) and kube_oidc_url is defined and kube_oidc_client_id is defined %}
|
|
|
|
|
oidc-issuer-url: "{{ kube_oidc_url }}"
|
|
|
|
|
oidc-client-id: "{{ kube_oidc_client_id }}"
|
|
|
|
|
{% if kube_oidc_ca_file is defined %}
|
|
|
|
@@ -169,17 +169,17 @@ apiServer:
|
|
|
|
|
oidc-groups-prefix: "{{ kube_oidc_groups_prefix }}"
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if kube_webhook_token_auth|default(false) %}
|
|
|
|
|
{% if kube_webhook_token_auth | default(false) %}
|
|
|
|
|
authentication-token-webhook-config-file: {{ kube_config_dir }}/webhook-token-auth-config.yaml
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if kube_webhook_authorization|default(false) %}
|
|
|
|
|
{% if kube_webhook_authorization | default(false) %}
|
|
|
|
|
authorization-webhook-config-file: {{ kube_config_dir }}/webhook-authorization-config.yaml
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if kube_encrypt_secret_data %}
|
|
|
|
|
encryption-provider-config: {{ kube_cert_dir }}/secrets_encryption.yaml
|
|
|
|
|
{% endif %}
|
|
|
|
|
storage-backend: {{ kube_apiserver_storage_backend }}
|
|
|
|
|
{% if kube_api_runtime_config|length > 0 %}
|
|
|
|
|
{% if kube_api_runtime_config | length > 0 %}
|
|
|
|
|
runtime-config: {{ kube_api_runtime_config | join(',') }}
|
|
|
|
|
{% endif %}
|
|
|
|
|
allow-privileged: "true"
|
|
|
|
@@ -223,24 +223,24 @@ apiServer:
|
|
|
|
|
{% if kubelet_rotate_server_certificates %}
|
|
|
|
|
kubelet-certificate-authority: {{ kube_cert_dir }}/ca.crt
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if kubernetes_audit or kube_token_auth|default(true) or kube_webhook_token_auth|default(false) or ( cloud_provider is defined and cloud_provider in ["openstack", "azure", "vsphere", "aws", "gce"] ) or apiserver_extra_volumes or ssl_ca_dirs|length %}
|
|
|
|
|
{% if kubernetes_audit or kube_token_auth | default(true) or kube_webhook_token_auth | default(false) or ( cloud_provider is defined and cloud_provider in ["openstack", "azure", "vsphere", "aws", "gce"] ) or apiserver_extra_volumes or ssl_ca_dirs | length %}
|
|
|
|
|
extraVolumes:
|
|
|
|
|
{% if cloud_provider is defined and cloud_provider in ["openstack", "azure", "vsphere", "aws", "gce"] %}
|
|
|
|
|
- name: cloud-config
|
|
|
|
|
hostPath: {{ kube_config_dir }}/cloud_config
|
|
|
|
|
mountPath: {{ kube_config_dir }}/cloud_config
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if kube_token_auth|default(true) %}
|
|
|
|
|
{% if kube_token_auth | default(true) %}
|
|
|
|
|
- name: token-auth-config
|
|
|
|
|
hostPath: {{ kube_token_dir }}
|
|
|
|
|
mountPath: {{ kube_token_dir }}
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if kube_webhook_token_auth|default(false) %}
|
|
|
|
|
{% if kube_webhook_token_auth | default(false) %}
|
|
|
|
|
- name: webhook-token-auth-config
|
|
|
|
|
hostPath: {{ kube_config_dir }}/webhook-token-auth-config.yaml
|
|
|
|
|
mountPath: {{ kube_config_dir }}/webhook-token-auth-config.yaml
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if kube_webhook_authorization|default(false) %}
|
|
|
|
|
{% if kube_webhook_authorization | default(false) %}
|
|
|
|
|
- name: webhook-authorization-config
|
|
|
|
|
hostPath: {{ kube_config_dir }}/webhook-authorization-config.yaml
|
|
|
|
|
mountPath: {{ kube_config_dir }}/webhook-authorization-config.yaml
|
|
|
|
@@ -269,7 +269,7 @@ apiServer:
|
|
|
|
|
mountPath: {{ volume.mountPath }}
|
|
|
|
|
readOnly: {{ volume.readOnly | d(not (volume.writable | d(false))) }}
|
|
|
|
|
{% endfor %}
|
|
|
|
|
{% if ssl_ca_dirs|length %}
|
|
|
|
|
{% if ssl_ca_dirs | length %}
|
|
|
|
|
{% for dir in ssl_ca_dirs %}
|
|
|
|
|
- name: {{ dir | regex_replace('^/(.*)$', '\\1' ) | regex_replace('/', '-') }}
|
|
|
|
|
hostPath: {{ dir }}
|
|
|
|
@@ -316,7 +316,7 @@ controllerManager:
|
|
|
|
|
configure-cloud-routes: "false"
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if kubelet_flexvolumes_plugins_dir is defined %}
|
|
|
|
|
flex-volume-plugin-dir: {{kubelet_flexvolumes_plugins_dir}}
|
|
|
|
|
flex-volume-plugin-dir: {{ kubelet_flexvolumes_plugins_dir }}
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% if tls_min_version is defined %}
|
|
|
|
|
tls-min-version: {{ tls_min_version }}
|
|
|
|
@@ -352,7 +352,7 @@ scheduler:
|
|
|
|
|
feature-gates: "{{ kube_scheduler_feature_gates | default(kube_feature_gates, true) | join(',') }}"
|
|
|
|
|
{% endif %}
|
|
|
|
|
profiling: "{{ kube_profiling }}"
|
|
|
|
|
{% if kube_kubeadm_scheduler_extra_args|length > 0 %}
|
|
|
|
|
{% if kube_kubeadm_scheduler_extra_args | length > 0 %}
|
|
|
|
|
{% for key in kube_kubeadm_scheduler_extra_args %}
|
|
|
|
|
{{ key }}: "{{ kube_kubeadm_scheduler_extra_args[key] }}"
|
|
|
|
|
{% endfor %}
|
|
|
|
@@ -422,7 +422,7 @@ portRange: {{ kube_proxy_port_range }}
|
|
|
|
|
{% set feature_gates = ( kube_proxy_feature_gates | default(kube_feature_gates, true) ) %}
|
|
|
|
|
featureGates:
|
|
|
|
|
{% for feature in feature_gates %}
|
|
|
|
|
{{ feature|replace("=", ": ") }}
|
|
|
|
|
{{ feature | replace("=", ": ") }}
|
|
|
|
|
{% endfor %}
|
|
|
|
|
{% endif %}
|
|
|
|
|
{# DNS settings for kubelet #}
|
|
|
|
@@ -448,6 +448,6 @@ clusterDNS:
|
|
|
|
|
{% set feature_gates = ( kubelet_feature_gates | default(kube_feature_gates, true) ) %}
|
|
|
|
|
featureGates:
|
|
|
|
|
{% for feature in feature_gates %}
|
|
|
|
|
{{ feature|replace("=", ": ") }}
|
|
|
|
|
{{ feature | replace("=", ": ") }}
|
|
|
|
|
{% endfor %}
|
|
|
|
|
{% endif %}
|
|
|
|
|