Compare commits

...

45 Commits

Author SHA1 Message Date
Jon
0b84d1bc0e Merge branch 'automated-tasks' into 'development'
chore(gitlab-ci): Automated update of git sub-module

See merge request nofusscomputing/projects/ansible/collections/kubernetes!83
2025-02-26 13:20:51 +00:00
c8a1f60a9e chore(git): updated submodule gitlab-ci
Automation Data:
{
    "branch": "development",
    "current_commit": "6f8dfcba0b25313b59bc17b4c99d674fcedd207a)",
    "name": "gitlab-ci",
    "path": "/builds/nofusscomputing/projects/ansible/collections/kubernetes/_automation_/gitlab-ci",
    "remote_head": "224ef831571458ad433a0143eec00df0f7e8b409)",
    "remote_name": "origin",
    "url": "https://gitlab.com/nofusscomputing/projects/gitlab-ci.git"
}

Changes: Submodule path gitlab-ci: checked out 224ef831571458ad433a0143eec00df0f7e8b409

MR !83
2025-02-26 13:08:54 +00:00
Jon
a790f5c60c Merge branch 'automated-tasks' into 'development'
chore(gitlab-ci): Automated update of git sub-module

See merge request nofusscomputing/projects/ansible/collections/kubernetes!81
2024-11-03 19:37:38 +00:00
0ebb28c978 chore(git): updated submodule gitlab-ci
Automation Data:
{
    "branch": "development",
    "current_commit": "58ffcabbfb503af3e57d9cb3ab43931b23dc4cd8)",
    "name": "gitlab-ci",
    "path": "/builds/nofusscomputing/projects/ansible/collections/kubernetes/_automation_/gitlab-ci",
    "remote_head": "6f8dfcba0b25313b59bc17b4c99d674fcedd207a)",
    "remote_name": "origin",
    "url": "https://gitlab.com/nofusscomputing/projects/gitlab-ci.git"
}

Changes: Submodule path gitlab-ci: checked out 6f8dfcba0b25313b59bc17b4c99d674fcedd207a

MR !81
2024-08-19 07:24:43 +00:00
e0ee4ba249 chore(git): updated submodule gitlab-ci
Automation Data:
{
    "branch": "development",
    "current_commit": "673441f83a7d943434252ee23899e3572cdfb141)",
    "name": "gitlab-ci",
    "path": "/builds/nofusscomputing/projects/ansible/collections/kubernetes/_automation_/gitlab-ci",
    "remote_head": "58ffcabbfb503af3e57d9cb3ab43931b23dc4cd8)",
    "remote_name": "origin",
    "url": "https://gitlab.com/nofusscomputing/projects/gitlab-ci.git"
}

Changes: Submodule path gitlab-ci: checked out 58ffcabbfb503af3e57d9cb3ab43931b23dc4cd8

MR !81
2024-08-01 06:08:19 +00:00
a6aeac42c8 build: bump version 1.13.1 -> 1.13.2
!77
2024-07-30 05:30:59 +00:00
Jon
ce8143f52d fix(nfc_kubernetes): correct logic for prime node to always be labeled prime
useful for setting up single node where if all nodes off except prime, targeting can be done

!77 !78 !79 !80 nofusscomputing/infrastructure/configuration-management/project-production!58 nofusscomputing/infrastructure/configuration-management/inventory-infrastructure!4 nofusscomputing/infrastructure/configuration-management/templates-production!28
2024-07-30 14:47:26 +09:30
6581056bc9 build: bump version 1.13.0 -> 1.13.1
!77
2024-07-28 08:11:42 +00:00
Jon
c204539b67 fix(nfc_kubernetes): prime node to always be labeled prime
useful for setting up single node where if all nodes off except prime, targeting can be done

!77 !78 !79 nofusscomputing/infrastructure/configuration-management/project-production!58 nofusscomputing/infrastructure/configuration-management/inventory-infrastructure!4 nofusscomputing/infrastructure/configuration-management/templates-production!28
2024-07-28 17:27:52 +09:30
06f44f5c3b build: bump version 1.12.0 -> 1.13.0
!77
2024-07-28 06:36:20 +00:00
Jon
9f3fcdc5e3 Merge branch 'node-labels-taints' into 'development'
feat(nfc_kubernetes): ability to add node labels and taints

See merge request nofusscomputing/projects/ansible/collections/kubernetes!77
2024-07-28 06:23:02 +00:00
Jon
3c06647637 feat(nfc_kubernetes): prime node to always be labeled prime
useful for setting up single node where if all nodes off except prime, targeting can be done

!77 nofusscomputing/infrastructure/configuration-management/project-production!58 nofusscomputing/infrastructure/configuration-management/inventory-infrastructure!4 nofusscomputing/infrastructure/configuration-management/templates-production!28
2024-07-28 15:40:24 +09:30
Jon
6d26e2e0cf feat(nfc_kubernetes): ability to add node labels and taints
!77 nofusscomputing/infrastructure/configuration-management/project-production!58 nofusscomputing/infrastructure/configuration-management/inventory-infrastructure!4 nofusscomputing/infrastructure/configuration-management/templates-production!28
2024-07-28 15:29:46 +09:30
b47b868f43 build: bump version 1.11.0 -> 1.12.0
!75
2024-07-08 07:48:01 +00:00
Jon
f3f2769f0a Merge branch 'fixes' into 'development'
fix(kebernetes): Apply fixes listed in issues

Closes #33 and #32

See merge request nofusscomputing/projects/ansible/collections/kubernetes!75
2024-07-08 02:02:29 +00:00
cba13dd8a3 fix(kubernetes_roles): conditional checks for prime
required so that config not applied to workers

!75
2024-07-08 00:46:06 +00:00
425e05de37 fix(kubernetes_roles): conditional checks for prime
required so that config not applied to workers

!75
2024-07-08 00:45:55 +00:00
cf63ec5543 fix(kubernetes_roles): conditional checks for prime
required so that config not applied to workers

!75
2024-07-08 00:45:42 +00:00
115755ad54 fix(kubernetes_roles): clean up white space
!75
2024-07-08 00:44:15 +00:00
6893164f90 fix(kubernetes_roles): clean up white space
!75
2024-07-08 00:44:05 +00:00
6275dde9e3 fix(kubernetes_roles): clean up white space
!75
2024-07-08 00:43:51 +00:00
98b6442bf8 fix(kubernetes_roles): clean up white space
!75
2024-07-08 00:43:33 +00:00
202e92a90b fix(kubernetes_role): delete leftover ]
this was a leftover from a copy and paste

!75
2024-07-07 14:33:45 +09:30
860addad4d fix(kubernetes_role): Change "https://" + hostvars[ns.prime_name].ansible_host + ":6443" -> "https://" + ns.prime_name.ansible_host + ":6443"
!75
2024-07-07 14:23:44 +09:30
8c1223769d fix(kubernetes_role): get prime hostname
required to set https address

!75
2024-07-07 14:11:30 +09:30
6bd8d27cfd fix(kubernetes_role): set server var -> "https://" + hostvars[nfc_role_kubernetes_node_prime].ansible_host + ":6443"
!75
2024-07-07 10:35:03 +09:30
a8ddcad1a0 fix(kubernetes_role): remove not nfc_role_kubernetes_cluster_upgraded | default(true) | bool section
Does not appear to acomplish what I was after

!75
2024-07-06 14:29:41 +09:30
536bab4ce2 fix(kubernetes_role): undo previous change
tasks did not run

!75
2024-07-06 14:08:51 +09:30
8217889910 test(kubernetes_role): set not nfc_role_kubernetes_cluster_upgraded | default(false | bool -> not nfc_role_kubernetes_cluster_upgraded | default(true) | bool
Testing to set node as a prime

!75
2024-07-06 13:49:52 +09:30
d59f20077e test(kubernetes_role): set prime default value to true
!74
2024-07-06 12:33:13 +09:30
23808704ae fix(kubernetes_role): remove commented out section
Not required

!74
2024-07-06 11:53:31 +09:30
55cc007575 fix(kubernetes_roles): use inventory_hostname
!74
2024-07-05 12:33:42 +09:30
044c914617 feat(kubernetes_role): nfc_role_kubernetes_prime cast type to bool
needs to check if type is a boolean

!74
2024-07-05 12:16:47 +09:30
2d5eb7c375 fix(kubernetes_roles): update cmd for setting ip6tables
!74
2024-07-04 18:10:18 +09:30
4d51d3ca00 fix(kubernetes_roles): update variable nfc_role_kubernetes_prime | default(false) | boolean -> nfc_role_kubernetes_prime !=false
test failed with result could not load boolean

!74
2024-07-04 17:21:05 +09:30
14a2cbed98 fix(kubernetes_role): set variable prime_hostname
!74
2024-07-04 17:10:40 +09:30
a2580f9328 fix(kubernetes_roles): update variable nfc_role_kubernetes_prime type to boolean
!74
2024-07-04 16:42:00 +09:30
28c4e3bbca feat(kubernetes_role): set var nfc_role_kubernetes_prime type boolean
!74 fixes #33
2024-07-04 15:24:45 +09:30
576ab623d8 fix(kubernetes_role): update var kubernetes_config.cluster.prime.name -> nfc_role_kubernetes_prime
variable is depreciated

!74
2024-07-04 15:03:16 +09:30
f5bba112cf feat(kubernetes_role): set ip6tables to legacy mode
!74 fixes #32
2024-07-04 14:41:06 +09:30
5a188407fe Merge branch 'automated-tasks' into 'development'
chore(website-template): Automated update of git sub-module

See merge request nofusscomputing/projects/ansible/collections/kubernetes!73
2024-06-30 18:14:29 +00:00
cb6211862c chore(git): updated submodule website-template
Automation Data:
{
    "branch": "development",
    "current_commit": "92c4b16a14524e7b5b18171d4e21b72676c36fbf)",
    "name": "website-template",
    "path": "/builds/nofusscomputing/projects/ansible/collections/kubernetes/_automation_/website-template",
    "remote_head": "8735f623dc5e1d9c9e46e50db03b4c41cb3d1efd)",
    "remote_name": "origin",
    "url": "https://gitlab.com/nofusscomputing/infrastructure/website-template.git"
}

Changes: Submodule path website-template: checked out 8735f623dc5e1d9c9e46e50db03b4c41cb3d1efd

MR !73
2024-06-30 18:03:32 +00:00
88e5f73b33 Merge branch 'automated-tasks' into 'development'
chore(gitlab-ci): Automated update of git sub-module

See merge request nofusscomputing/projects/ansible/collections/kubernetes!72
2024-06-30 18:00:03 +00:00
870dfcbb81 chore(git): updated submodule website-template
Automation Data:
{
    "branch": "development",
    "current_commit": "f5a82d3604faca56756eec91acee28ff89defd1d)",
    "name": "website-template",
    "path": "/builds/nofusscomputing/projects/ansible/collections/kubernetes/_automation_/website-template",
    "remote_head": "92c4b16a14524e7b5b18171d4e21b72676c36fbf)",
    "remote_name": "origin",
    "url": "https://gitlab.com/nofusscomputing/infrastructure/website-template.git"
}

Changes: Submodule path website-template: checked out 92c4b16a14524e7b5b18171d4e21b72676c36fbf

MR !72
2024-06-30 17:48:08 +00:00
edb2ef2409 chore(git): updated submodule gitlab-ci
Automation Data:
{
    "branch": "development",
    "current_commit": "a24f352ca3d82b8d0f02f5db20173fe2c3f71a4a)",
    "name": "gitlab-ci",
    "path": "/builds/nofusscomputing/projects/ansible/collections/kubernetes/_automation_/gitlab-ci",
    "remote_head": "673441f83a7d943434252ee23899e3572cdfb141)",
    "remote_name": "origin",
    "url": "https://gitlab.com/nofusscomputing/projects/gitlab-ci.git"
}

Changes: Submodule path gitlab-ci: checked out 673441f83a7d943434252ee23899e3572cdfb141

MR !72
2024-06-30 17:46:00 +00:00
9 changed files with 104 additions and 53 deletions

View File

@ -4,5 +4,5 @@ commitizen:
prerelease_offset: 1
tag_format: $version
update_changelog_on_bump: false
version: 1.11.0
version: 1.13.2
version_scheme: semver

View File

@ -1,3 +1,39 @@
## 1.13.2 (2024-07-30)
### Fix
- **nfc_kubernetes**: correct logic for prime node to always be labeled prime
## 1.13.1 (2024-07-28)
### Fix
- **nfc_kubernetes**: prime node to always be labeled prime
## 1.13.0 (2024-07-28)
### Feat
- **nfc_kubernetes**: prime node to always be labeled prime
- **nfc_kubernetes**: ability to add node labels and taints
## 1.12.0 (2024-07-08)
### Fix
- **kubernetes_roles**: conditional checks for prime
- **kubernetes_roles**: conditional checks for prime
- **kubernetes_roles**: conditional checks for prime
- **kubernetes_roles**: clean up white space
- **kubernetes_roles**: clean up white space
- **kubernetes_roles**: clean up white space
- **kubernetes_roles**: clean up white space
- **kubernetes_role**: delete leftover ]
- **kubernetes_role**: Change "https://" + hostvars[ns.prime_name].ansible_host + ":6443" -> "https://" + ns.prime_name.ansible_host + ":6443"
- **kubernetes_role**: get prime hostname
- **kubernetes_role**: set server var -> "https://" + hostvars[nfc_role_kubernetes_node_prime].ansible_host + ":6443"
- **kubernetes_role**: remove not nfc_role_kubernetes_cluster_upgraded | default(true) | bool section
## 1.11.0 (2024-06-27)
### Feat
@ -24,48 +60,12 @@
## 1.10.0 (2024-05-03)
### Feat
- **nfc_kubernetes**: new variable 'nfc_role_kubernetes_node_prime' to denote the hostname of the prime node
### Fix
- **nfc_kubernetes**: correct 'Create Required directories' when logic
- **nfc_kubernetes**: only run tasks on master nodes
- **nfc_kubernetes**: only run tasks on prime node
- **nfc_kubernetes**: ensure correct node type selection for installation
### Refactor
- **nfc_kubernetes**: remove usage of prime node name over is_prime var
## 1.9.0 (2024-05-03)
### Feat
- **nfc_kubernetes**: add debug out to k3s download on failure
### Fix
- **nfc_kubernetes**: cast url var as list
- **nfc_kubernetes**: correct url build to loop through all cpu arch
## 1.8.0 (2024-05-02)
### Feat
- **nfc_kubernetes**: build url and on use cast as string
## 1.7.2 (2024-04-25)
### Fix
- **nfc_kubernetes**: adjust some tasks to run during checkmode
## 1.7.1 (2024-04-24)
### Fix
- add role readme
## 1.7.0 (2024-04-24)

View File

@ -8,7 +8,7 @@ namespace: nofusscomputing
name: kubernetes
# The version of the collection. Must be compatible with semantic versioning
version: 1.11.0
version: 1.13.2
# The path to the Markdown (.md) readme file. This path is relative to the root of the collection
readme: README.md

View File

@ -46,6 +46,8 @@ nfc_role_kubernetes_install_kubevirt: false
nfc_role_kubernetes_kubevirt_operator_replicas: 1
nfc_role_kubernetes_node_labels: {} # Optional, Dict. Node labels.
nfc_role_kubernetes_node_taints: {} # Optional, Dict. Node taints.
# nfc_role_kubernetes_node_prime: '' # Mandatory*, string. the inventory_hostname of the prime node. ONLY required for multi-node deployments
nfc_role_kubernetes_oidc_enabled: false

View File

@ -58,14 +58,32 @@
kind: Node
metadata:
name: "{{ inventory_hostname }}"
{% if kubernetes_config.hosts[inventory_hostname].labels | default([]) | list | length > 0 -%}
{% if
nfc_role_kubernetes_node_labels
and
not nfc_role_kubernetes_prime | bool
-%}
labels:
{{ kubernetes_config.hosts[inventory_hostname].labels | to_nice_yaml | indent(4) }}
{{ nfc_role_kubernetes_node_labels | to_nice_yaml(indent=0) | indent(4) }}
{% elif
nfc_role_kubernetes_prime | bool
%}
labels:
node-role.kubernetes.io/prime: "true"
{% if nfc_role_kubernetes_node_labels %}
{{ nfc_role_kubernetes_node_labels | to_nice_yaml(indent=0) | indent(4) }}
{% endif %}
{%- endif +%}
{% if kubernetes_config.hosts[inventory_hostname].taints | default([]) | list | length > 0 -%}
{% if nfc_role_kubernetes_node_taints -%}
spec:
taints:
{{ kubernetes_config.hosts[inventory_hostname].taints | to_nice_yaml(indent=0) | indent(4) }}
{{ nfc_role_kubernetes_node_taints | to_nice_yaml(indent=0) | indent(4) }}
{% endif %}
dest: /var/lib/rancher/k3s/server/manifests/node-manifest-{{ inventory_hostname }}.yaml
owner: root
@ -73,6 +91,8 @@
mode: '700'
delegate_to: "{{ nfc_role_kubernetes_node_prime }}"
when:
kubernetes_config.hosts[inventory_hostname].labels | default([]) | list | length > 0
nfc_role_kubernetes_node_labels
or
kubernetes_config.hosts[inventory_hostname].taints | default([]) | list | length > 0
nfc_role_kubernetes_node_taints
or
nfc_role_kubernetes_prime | bool

View File

@ -552,6 +552,14 @@
# ipv6: true
- name: Set IP6Tables to legacy mode
ansible.builtin.command:
cmd: update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
changed_when: false
when: >
not nfc_role_kubernetes_cluster_upgraded | default(false) | bool
- name: Set IPTables to legacy mode
ansible.builtin.command:
cmd: update-alternatives --set iptables /usr/sbin/iptables-legacy

View File

@ -9,9 +9,10 @@
{%- if
nfc_role_kubernetes_master
or
kubernetes_config.cluster.prime.name | default(inventory_hostname) == inventory_hostname
nfc_role_kubernetes_prime | default(true) | bool
and
not nfc_role_kubernetes_worker
-%}
{%
set kube_apiserver_arg = [
@ -197,13 +198,28 @@
}) -%}
{%- elif
kubernetes_config.cluster.prime.name != inventory_hostname
nfc_role_kubernetes_prime | default(true) | bool
and
not node_k3s.installed
and
not nfc_role_kubernetes_worker
-%}
{%- set ns = namespace(prime_name) -%}
{%- for hostname, values in hostvars.iteritems() -%}
{%- if values.nfc_role_kubernetes_node_prime ==true -%}
{%- set ns.prime_name = hostname -%}
{%- endif -%}
{%- endfor -%}
{%- set server = (server | default([])) + [
"https://" + hostvars[kubernetes_config.cluster.prime.name].ansible_host + ":6443"
"https://" + ns.prime_name.ansible_host + ":6443"
] -%}
{%- set all_nodes_config = all_nodes_config | combine({
@ -235,13 +251,18 @@
{%- endif -%}
{# EoF All Nodes #}
{%- if
nfc_role_kubernetes_master
or
kubernetes_config.cluster.prime.name | default(inventory_hostname) == inventory_hostname
(
nfc_role_kubernetes_master
or
nfc_role_kubernetes_prime | default(true) | bool
)
and
not nfc_role_kubernetes_worker
-%}
{%- set servers_config = servers_config | combine( all_nodes_config ) -%}