main
xoxys.k3s
Setup K3s cluster nodes.
Table of contents
- Requirements
- Default Variables
- __k3s_binary
- __k3s_config_dir
- __k3s_data_dir
- __k3s_log_dir
- __k3s_manifests_dir
- __k3s_node_labels
- __k3s_server_init_args
- __k3s_server_ip
- __k3s_service_file
- k3s_flannel_external_ip
- k3s_flannel_ipv6_masq_enabled
- k3s_init_log_enabled
- k3s_iscsi_enabled
- k3s_node_ip
- k3s_node_labels
- k3s_node_name
- k3s_packages
- k3s_packages_extra
- k3s_protect_kernel_defaults
- k3s_reset
- k3s_selinux_enabled
- k3s_server
- k3s_server_admission_configuration
- k3s_server_admission_plugins
- k3s_server_bind_ip
- k3s_server_cloud_controller_enabled
- k3s_server_cluster_cidr
- k3s_server_cluster_dns
- k3s_server_cluster_domain
- k3s_server_components_disabled
- k3s_server_feature_gates
- k3s_server_flannel_backend_enabled
- k3s_server_kube_proxy_enabled
- k3s_server_manifests_templates
- k3s_server_manifests_urls
- k3s_server_network_policy_enabled
- k3s_server_nodes
- k3s_server_resource_creations
- k3s_server_resource_patches
- k3s_server_service_cidr
- k3s_server_service_node_port_range
- k3s_server_supervisor_metrics_enabled
- k3s_server_workload_enabled
- k3s_token
- k3s_version
- Dependencies
- License
- Author
Requirements
- Minimum Ansible version:
2.10
Default Variables
__k3s_binary
Default value
__k3s_binary: /usr/local/bin/k3s
__k3s_config_dir
Default value
__k3s_config_dir: /etc/rancher/k3s
__k3s_data_dir
Default value
__k3s_data_dir: /var/lib/rancher/k3s
__k3s_log_dir
Default value
__k3s_log_dir: /var/log/rancher/k3s
__k3s_manifests_dir
Default value
__k3s_manifests_dir: '{{ __k3s_data_dir }}/server/manifests'
__k3s_node_labels
Default value
__k3s_node_labels:
general:
node-role.kubernetes.io/k3s-node: 'true'
control:
node-role.kubernetes.io/control-plane: 'true'
worker:
node-role.kubernetes.io/worker: 'true'
__k3s_server_init_args
Default value
__k3s_server_init_args: >-
{% if k3s_server_nodes | length > 1 %}
{% if ansible_hostname == hostvars[k3s_server_nodes[0]]['ansible_hostname'] %}
--cluster-init
{% else %}
--server https://{{ __k3s_server_ip }}:6443
{% endif %}
{% endif %}
--config {{ __k3s_config_dir }}/config.yaml
__k3s_server_ip
Default value
__k3s_server_ip: '{{ hostvars[k3s_server_nodes[0]].k3s_node_ip | first }}'
__k3s_service_file
Default value
__k3s_service_file: /etc/systemd/system/k3s.service
k3s_flannel_external_ip
Default value
k3s_flannel_external_ip: _unset_
k3s_flannel_ipv6_masq_enabled
Default value
k3s_flannel_ipv6_masq_enabled: false
k3s_init_log_enabled
Default value
k3s_init_log_enabled: false
k3s_iscsi_enabled
Default value
k3s_iscsi_enabled: false
k3s_node_ip
Default value
k3s_node_ip:
- '{{ ansible_default_ipv4.address }}'
k3s_node_labels
Default value
k3s_node_labels: {}
k3s_node_name
Default value
k3s_node_name: '{{ ansible_hostname }}'
k3s_packages
Default value
k3s_packages:
- epel-release
- python3-kubernetes
- container-selinux
- selinux-policy-base
k3s_packages_extra
Default value
k3s_packages_extra: []
k3s_protect_kernel_defaults
Default value
k3s_protect_kernel_defaults: false
k3s_reset
Default value
k3s_reset: false
k3s_selinux_enabled
Default value
k3s_selinux_enabled: false
k3s_server
Default value
k3s_server: true
k3s_server_admission_configuration
Default value
k3s_server_admission_configuration:
- name: EventRateLimit
configuration:
kind: Configuration
apiVersion: eventratelimit.admission.k8s.io/v1alpha1
limits:
- type: Namespace
qps: 50
burst: 100
cacheSize: 2000
- type: User
qps: 10
burst: 50
k3s_server_admission_plugins
Default value
k3s_server_admission_plugins:
- NodeRestriction
- EventRateLimit
- ServiceAccount
- NamespaceLifecycle
k3s_server_bind_ip
Default value
k3s_server_bind_ip: 0.0.0.0
k3s_server_cloud_controller_enabled
Default value
k3s_server_cloud_controller_enabled: true
k3s_server_cluster_cidr
Default value
k3s_server_cluster_cidr:
- 10.42.0.0/16
k3s_server_cluster_dns
Default value
k3s_server_cluster_dns: 10.43.0.10
k3s_server_cluster_domain
Default value
k3s_server_cluster_domain: cluster.local
k3s_server_components_disabled
Default value
k3s_server_components_disabled:
- traefik
k3s_server_feature_gates
Default value
k3s_server_feature_gates: []
k3s_server_flannel_backend_enabled
Default value
k3s_server_flannel_backend_enabled: true
k3s_server_kube_proxy_enabled
Default value
k3s_server_kube_proxy_enabled: true
k3s_server_manifests_templates
Default value
k3s_server_manifests_templates: []
k3s_server_manifests_urls
Default value
k3s_server_manifests_urls: []
k3s_server_network_policy_enabled
Default value
k3s_server_network_policy_enabled: true
k3s_server_nodes
Default value
k3s_server_nodes:
- '{{ ansible_hostname }}'
k3s_server_resource_creations
Default value
k3s_server_resource_creations: []
k3s_server_resource_patches
Default value
k3s_server_resource_patches: []
k3s_server_service_cidr
Default value
k3s_server_service_cidr:
- 10.43.0.0/16
k3s_server_service_node_port_range
Default value
k3s_server_service_node_port_range: 30000-32767
k3s_server_supervisor_metrics_enabled
Default value
k3s_server_supervisor_metrics_enabled: false
k3s_server_workload_enabled
Default value
k3s_server_workload_enabled: true
k3s_token
Default value
k3s_token: secure-token
k3s_version
Default value
k3s_version: 1.28.6+k3s2
Dependencies
None.
License
MIT
Author
Languages
Jinja
80.5%
Python
19.5%