|
@ -27,6 +27,7 @@ apiVersion: kubeadm.k8s.io/v1beta2 |
|
|
kind: ClusterConfiguration |
|
|
kind: ClusterConfiguration |
|
|
clusterName: {{ cluster_name }} |
|
|
clusterName: {{ cluster_name }} |
|
|
etcd: |
|
|
etcd: |
|
|
|
|
|
{% if not etcd_kubeadm_enabled %} |
|
|
external: |
|
|
external: |
|
|
endpoints: |
|
|
endpoints: |
|
|
{% for endpoint in etcd_access_addresses.split(',') %} |
|
|
{% for endpoint in etcd_access_addresses.split(',') %} |
|
@ -35,6 +36,53 @@ etcd: |
|
|
caFile: {{ etcd_cert_dir }}/{{ kube_etcd_cacert_file }} |
|
|
caFile: {{ etcd_cert_dir }}/{{ kube_etcd_cacert_file }} |
|
|
certFile: {{ etcd_cert_dir }}/{{ kube_etcd_cert_file }} |
|
|
certFile: {{ etcd_cert_dir }}/{{ kube_etcd_cert_file }} |
|
|
keyFile: {{ etcd_cert_dir }}/{{ kube_etcd_key_file }} |
|
|
keyFile: {{ etcd_cert_dir }}/{{ kube_etcd_key_file }} |
|
|
|
|
|
{% elif etcd_kubeadm_enabled %} |
|
|
|
|
|
local: |
|
|
|
|
|
imageRepository: "{{ etcd_image_repo | regex_replace("/etcd$","") }}" |
|
|
|
|
|
imageTag: "{{ etcd_image_tag }}" |
|
|
|
|
|
dataDir: "/var/lib/etcd" |
|
|
|
|
|
extraArgs: |
|
|
|
|
|
metrics: {{ etcd_metrics }} |
|
|
|
|
|
election-timeout: "{{ etcd_election_timeout }}" |
|
|
|
|
|
heartbeat-interval: "{{ etcd_heartbeat_interval }}" |
|
|
|
|
|
auto-compaction-retention: "{{ etcd_compaction_retention }}" |
|
|
|
|
|
{% if etcd_snapshot_count is defined %} |
|
|
|
|
|
snapshot-count: "{{ etcd_snapshot_count }}" |
|
|
|
|
|
{% endif %} |
|
|
|
|
|
{% if etcd_quota_backend_bytes is defined %} |
|
|
|
|
|
quota-backend-bytes: "{{ etcd_quota_backend_bytes }}" |
|
|
|
|
|
{% endif %} |
|
|
|
|
|
{% if etcd_log_package_levels is defined %} |
|
|
|
|
|
log-package_levels: "{{ etcd_log_package_levels }}" |
|
|
|
|
|
{% endif %} |
|
|
|
|
|
{% for key, value in etcd_extra_vars.items() %} |
|
|
|
|
|
{{ key }}: "{{ value }}" |
|
|
|
|
|
{% endfor %} |
|
|
|
|
|
{% if host_architecture != "amd64" -%} |
|
|
|
|
|
etcd-unsupported-arch: {{host_architecture}} |
|
|
|
|
|
{% endif %} |
|
|
|
|
|
serverCertSANs: |
|
|
|
|
|
{% for san in etcd_cert_alt_names %} |
|
|
|
|
|
- {{ san }} |
|
|
|
|
|
{% endfor %} |
|
|
|
|
|
{% for san in etcd_cert_alt_ips %} |
|
|
|
|
|
- {{ san }} |
|
|
|
|
|
{% endfor %} |
|
|
|
|
|
peerCertSANs: |
|
|
|
|
|
{% for san in etcd_cert_alt_names %} |
|
|
|
|
|
- {{ san }} |
|
|
|
|
|
{% endfor %} |
|
|
|
|
|
{% for san in etcd_cert_alt_ips %} |
|
|
|
|
|
- {{ san }} |
|
|
|
|
|
{% endfor %} |
|
|
|
|
|
{% endif %} |
|
|
|
|
|
|
|
|
|
|
|
{% if dns_mode in ['coredns', 'coredns_dual'] %} |
|
|
|
|
|
dns: |
|
|
|
|
|
type: CoreDNS |
|
|
|
|
|
imageRepository: {{ coredns_image_repo | regex_replace('/coredns$','') }} |
|
|
|
|
|
imageTag: {{ coredns_image_tag }} |
|
|
|
|
|
{% endif %} |
|
|
networking: |
|
|
networking: |
|
|
dnsDomain: {{ dns_domain }} |
|
|
dnsDomain: {{ dns_domain }} |
|
|
serviceSubnet: {{ kube_service_addresses }} |
|
|
serviceSubnet: {{ kube_service_addresses }} |
|
@ -127,7 +175,7 @@ apiServer: |
|
|
feature-gates: {{ kube_feature_gates|join(',') }} |
|
|
feature-gates: {{ kube_feature_gates|join(',') }} |
|
|
{% endif %} |
|
|
{% endif %} |
|
|
{% if cloud_provider is defined and cloud_provider in ["openstack", "azure", "vsphere", "aws"] %} |
|
|
{% if cloud_provider is defined and cloud_provider in ["openstack", "azure", "vsphere", "aws"] %} |
|
|
cloud-provider: {{cloud_provider}} |
|
|
|
|
|
|
|
|
cloud-provider: {{ cloud_provider }} |
|
|
cloud-config: {{ kube_config_dir }}/cloud_config |
|
|
cloud-config: {{ kube_config_dir }}/cloud_config |
|
|
{% elif cloud_provider is defined and cloud_provider in ["external"] %} |
|
|
{% elif cloud_provider is defined and cloud_provider in ["external"] %} |
|
|
cloud-config: {{ kube_config_dir }}/cloud_config |
|
|
cloud-config: {{ kube_config_dir }}/cloud_config |
|
@ -201,7 +249,7 @@ controllerManager: |
|
|
{{ key }}: "{{ kube_kubeadm_controller_extra_args[key] }}" |
|
|
{{ key }}: "{{ kube_kubeadm_controller_extra_args[key] }}" |
|
|
{% endfor %} |
|
|
{% endfor %} |
|
|
{% if cloud_provider is defined and cloud_provider in ["openstack", "azure", "vsphere", "aws"] %} |
|
|
{% if cloud_provider is defined and cloud_provider in ["openstack", "azure", "vsphere", "aws"] %} |
|
|
cloud-provider: {{cloud_provider}} |
|
|
|
|
|
|
|
|
cloud-provider: {{ cloud_provider }} |
|
|
cloud-config: {{ kube_config_dir }}/cloud_config |
|
|
cloud-config: {{ kube_config_dir }}/cloud_config |
|
|
{% elif cloud_provider is defined and cloud_provider in ["external"] %} |
|
|
{% elif cloud_provider is defined and cloud_provider in ["external"] %} |
|
|
cloud-config: {{ kube_config_dir }}/cloud_config |
|
|
cloud-config: {{ kube_config_dir }}/cloud_config |
|
|