Files
kubernetes/templates/k3s-config.yaml.j2

68 lines
2.7 KiB
Django/Jinja

#
# K3s Configuration for running Kubernetes
#
# Managed By ansible/role/nfc_kubernetes
#
# Dont edit this file directly as it will be overwritten.
#
{% if Kubernetes_Prime | default(false) | bool -%}
cluster-cidr: "{{ KubernetesPodSubnet }}"
{% if
kubernetes_config.cluster.domain_name is defined
and
kubernetes_config.cluster.domain_name | default('') != ''
-%}
cluster-domain: {{ kubernetes_config.cluster.domain_name }}
{%- endif %}
{%- endif %}
{% if Kubernetes_Master | default(false) -%}cluster-init: true
disable-network-policy: true
disable:
- traefik
etcd-snapshot-retention: {{ kubernetes_etcd_snapshot_retention | int }}
etcd-snapshot-schedule-cron: "{{ kubernetes_etcd_snapshot_cron_schedule }}"
flannel-backend: none
kube-apiserver-arg:
- audit-log-path=/var/lib/rancher/k3s/server/logs/audit.log
- audit-policy-file=/var/lib/rancher/k3s/server/audit.yaml
# - admission-control-config-file=/var/lib/rancher/k3s/server/psa.yaml
{% if kubernetes_config.cluster.oidc.enabled | default(false) | bool -%}
- oidc-issuer-url={{ kubernetes_config.cluster.oidc.issuer_url }}
- oidc-client-id={{ kubernetes_config.cluster.oidc.client_id }}
- oidc-username-claim={{ kubernetes_config.cluster.oidc.username_claim }}
{% if kubernetes_config.cluster.oidc.oidc_username_prefix | default('') != '' -%} - oidc-username-prefix={{ kubernetes_config.cluster.oidc.oidc_username_prefix }}{% endif %}
- oidc-groups-claim={{ kubernetes_config.cluster.oidc.groups_claim }}
{% if kubernetes_config.cluster.oidc.groups_prefix | default('') != '' %} - oidc-groups-prefix={{ kubernetes_config.cluster.oidc.groups_prefix }}{% endif %}
{% endif %}
{% endif %}
kubelet-arg:
- system-reserved=cpu={{ kubelet_arg_system_reserved_cpu }},memory={{ kubelet_arg_system_reserved_memory }},ephemeral-storage={{ kubelet_arg_system_reserved_storage }}
{% if host_external_ip | default('') %}node-external-ip: "{{ host_external_ip }}"{% endif %}
{% if
kubernetes_config.hosts[inventory_hostname].labels is defined
and
kubernetes_config.hosts[inventory_hostname].labels | default([]) | list | length > 0
-%}
node-label:
{% for node_label in kubernetes_config.hosts[inventory_hostname].labels | dict2items %}
- {{ node_label.key }}={{ node_label.value }}
{%- endfor %}
{%- endif %}
{% if not Kubernetes_Prime | default(false) | bool -%}
server: https://{{ hostvars[kubernetes_config.cluster.prime.name].ansible_host }}:6443
{%- endif %}
{% if kubernetes_config.cluster.prime.name == inventory_hostname -%}
servicelb-namespace: {{ kubernetes_config.cluster.networking.service_load_balancer_namespace | default('kube-system') }}
{% endif %}
{% if Kubernetes_Master | default(false) | bool -%}
service-cidr: "{{ KubernetesServiceSubnet }}"
{% endif %}