Merge branch 'fix-node-labels' into 'development'
fix(node_labels): ensure correct indentation for label list See merge request nofusscomputing/projects/ansible/kubernetes!9
This commit is contained in:
		| @ -7,6 +7,7 @@ Kubernetes_Master: false                                   # Optional, Boolean. | ||||
|  | ||||
| ContainerDioVersion: 1.6.20-1 | ||||
| KubernetesVersion: '1.26.2'                                # must match the repository release version | ||||
| kubernetes_version_olm: '0.26.0' | ||||
|  | ||||
| KubernetesVersion_k8s_prefix: '-00' | ||||
| KubernetesVersion_k3s_prefix: '+k3s1' | ||||
| @ -25,6 +26,9 @@ kubelet_arg_system_reserved_cpu: 450m | ||||
| kubelet_arg_system_reserved_memory: 512Mi | ||||
| kubelet_arg_system_reserved_storage: 8Gi | ||||
|  | ||||
| # kubernetes_olm_install: true # optional, boolean. default=true | ||||
|  | ||||
|  | ||||
| nfc_kubernetes: | ||||
|   enable_firewall: true             # Optional, bool enable firewall rules from role 'nfc_firewall' | ||||
|  | ||||
| @ -39,7 +43,7 @@ k3s: | ||||
|         kind: Policy | ||||
|         rules: | ||||
|         - level: Request | ||||
|       when: "{{ kubernetes_config.cluster.prime.name == inventory_hostname }}" | ||||
|       when: "{{ Kubernetes_Master | default(false) }}" | ||||
|  | ||||
|     - name: 90-kubelet.conf | ||||
|       path: /etc/sysctl.d | ||||
|  | ||||
| @ -43,6 +43,8 @@ This role deploys a K3s cluster. In addition it has the following features: | ||||
|  | ||||
| - _[ToDo-#5](https://gitlab.com/nofusscomputing/projects/ansible/kubernetes/-/issues/5)_ Restore backup on fresh install of a cluster | ||||
|  | ||||
| - Installs OLM for operator subscriptions | ||||
|  | ||||
|  | ||||
| ## Role Workflow | ||||
|  | ||||
|  | ||||
| @ -100,7 +100,7 @@ | ||||
|     nfc_kubernetes_install_architectures: "{{ nfc_kubernetes_install_architectures | default({}) | combine({ansible_architecture: ''}) }}" | ||||
|  | ||||
|  | ||||
| - name: Download Install Script | ||||
| - name: Download Install Scripts | ||||
|   ansible.builtin.uri: | ||||
|     url: "{{ item.url }}" | ||||
|     method: GET | ||||
| @ -121,6 +121,8 @@ | ||||
|     download_files: | ||||
|       - dest: /tmp/install.sh | ||||
|         url: https://get.k3s.io | ||||
|       - dest: /tmp/install_olm.sh | ||||
|         url: https://raw.githubusercontent.com/operator-framework/operator-lifecycle-manager/v{{ kubernetes_version_olm }}/scripts/install.sh | ||||
|  | ||||
|  | ||||
| - name: Download K3s Binary | ||||
| @ -176,13 +178,18 @@ | ||||
|     group: root | ||||
|   when: hash_sha256_k3s_existing_binary.stat.checksum | default('0') != hash_sha256_k3s_downloaded_binary | ||||
|  | ||||
| - name: Copy install script to Host | ||||
| - name: Copy install scripts to Host | ||||
|   ansible.builtin.copy: | ||||
|     src: "/tmp/install.sh" | ||||
|     dest: "/tmp/install.sh" | ||||
|     src: "{{ item }}" | ||||
|     dest: "{{ item }}" | ||||
|     mode: '755' | ||||
|     owner: root | ||||
|     group: root | ||||
|   loop: "{{ install_scripts }}" | ||||
|   vars: | ||||
|     install_scripts: | ||||
|       - "/tmp/install.sh" | ||||
|       - "/tmp/install_olm.sh" | ||||
|   # when: hash_sha256_k3s_existing_binary.stat.checksum | default('0') != hash_sha256_k3s_downloaded_binary | ||||
|  | ||||
| - name: Required Initial config files | ||||
| @ -275,6 +282,21 @@ | ||||
|   failed_when: kubernetes_ready_check.rc != 0 | ||||
|  | ||||
|  | ||||
| - name: Install olm | ||||
|   ansible.builtin.shell: | ||||
|     cmd: | | ||||
|       /tmp/install_olm.sh v{{ kubernetes_version_olm }} | ||||
|   changed_when: false | ||||
|   failed_when: > | ||||
|     'already installed' not in install_olm.stdout | ||||
|       and | ||||
|     install_olm.rc == 1 | ||||
|   register: install_olm | ||||
|   when: > | ||||
|     kubernetes_config.cluster.prime.name == inventory_hostname | ||||
|       and | ||||
|     kubernetes_olm_install | default(true) | bool | ||||
|  | ||||
| - name: Enable Cluster Encryption | ||||
|   ansible.builtin.command: | ||||
|     cmd: kubectl patch felixconfiguration default --type='merge' -p '{"spec":{"wireguardEnabled":true,"wireguardEnabledV6":true}}' | ||||
| @ -282,7 +304,7 @@ | ||||
|   when: > | ||||
|     kubernetes_config.cluster.prime.name == inventory_hostname | ||||
|       and | ||||
|     kubernetes.networking.encrypt | default(false) | bool | ||||
|     kubernetes_config.cluster.networking.encrypt | default(false) | bool | ||||
|  | ||||
|  | ||||
| - name: Fetch Join Token | ||||
| @ -305,12 +327,12 @@ | ||||
| - name: Install K3s (master nodes) | ||||
|   ansible.builtin.shell: | ||||
|     cmd: | | ||||
|       set -o pipefail | ||||
|       INSTALL_K3S_EXEC="server" \ | ||||
|       INSTALL_K3S_SKIP_DOWNLOAD=true \ | ||||
|       INSTALL_K3S_VERSION="v{{ KubernetesVersion }}{{ KubernetesVersion_k3s_prefix }}" \ | ||||
|       K3S_TOKEN="{{ k3s_join_token }}" \ | ||||
|       /tmp/install.sh | ||||
|     executable: /bin/bash | ||||
|   changed_when: false | ||||
|   when: > | ||||
|     Kubernetes_Master | default(false) | bool | ||||
|  | ||||
| @ -54,11 +54,12 @@ | ||||
|         -%} {#- Convert dns lookup to list, and select the first item -#} | ||||
|         {%- set kubernetes_host = kubernetes_host | from_yaml_all | list -%} | ||||
|  | ||||
|         {%- set kubernetes_host = kubernetes_host[0] -%}  | ||||
|         {%- set kubernetes_host = kubernetes_host[0] | default('') -%}  | ||||
|       {%- endif -%} | ||||
|  | ||||
|     {%- endif -%} | ||||
|  | ||||
|   {%- if kubernetes_host != '' -%} | ||||
|  | ||||
|     {%- for master_host in groups['kubernetes_master'] -%} | ||||
|  | ||||
| @ -159,6 +160,8 @@ | ||||
|  | ||||
|     {%- endif -%} | ||||
|  | ||||
|   {%- endif -%} | ||||
|  | ||||
| {%- endfor -%} | ||||
|  | ||||
| {%- if Kubernetes_Master | default(false) | bool -%} | ||||
|  | ||||
| @ -6,8 +6,7 @@ | ||||
| # Dont edit this file directly as it will be overwritten. | ||||
| # | ||||
|  | ||||
| {% if Kubernetes_Prime | default(false) | bool -%} | ||||
| cluster-cidr: "{{ KubernetesPodSubnet }}" | ||||
| {% if Kubernetes_Master | default(false) -%}cluster-cidr: "{{ KubernetesPodSubnet }}" | ||||
|  | ||||
| {% if  | ||||
|           kubernetes_config.cluster.domain_name is defined | ||||
| @ -17,9 +16,7 @@ cluster-cidr: "{{ KubernetesPodSubnet }}" | ||||
|         cluster-domain: {{ kubernetes_config.cluster.domain_name }} | ||||
|     {%- endif %} | ||||
|  | ||||
| {%- endif %} | ||||
|  | ||||
| {% if Kubernetes_Master | default(false) -%}cluster-init: true | ||||
| cluster-init: true | ||||
| disable-network-policy: true | ||||
| disable: | ||||
|   - traefik | ||||
| @ -39,6 +36,7 @@ kube-apiserver-arg: | ||||
| {% 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 %} | ||||
| @ -48,9 +46,9 @@ kubelet-arg: | ||||
|     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: {%- for node_label in kubernetes_config.hosts[inventory_hostname].labels | dict2items +%} | ||||
|   - {{ node_label.key }}={{ node_label.value }} | ||||
|  | ||||
| {%- endfor %} | ||||
| {%- endif %} | ||||
|  | ||||
| @ -58,10 +56,7 @@ node-label: | ||||
| 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 -%} | ||||
| servicelb-namespace: {{ kubernetes_config.cluster.networking.service_load_balancer_namespace | default('kube-system') }} | ||||
| service-cidr: "{{ KubernetesServiceSubnet }}" | ||||
| {% endif %} | ||||
|  | ||||
		Reference in New Issue
	
	Block a user