Commit Graph

7850 Commits (baf0a331c91691cb2197178b774eca681e059a4c)
 

Author SHA1 Message Date
Max Gautier baf0a331c9
Don't generate static tokens for nodes and control planes
Nodes to api-server relies by default certificates, and bootstrap
tokens, and there should be no need to generate tokens for every nodes,
even when enabling static token auth.
2024-09-23 16:58:42 +02:00
Kubernetes Prow Robot 03a055c383
Merge pull request #10643 from VannTen/cleanup/k8s_node_templates
Refactor kubernetes/node templates
2024-09-23 14:16:00 +01:00
Kubernetes Prow Robot e9d406ed08
Merge pull request #11559 from VannTen/cleanup/less_inventory_boilerplate
Only require minimum structure in inventory, compute the rest
2024-09-23 10:08:00 +01:00
dependabot[bot] 99c6a884a9
Bump ansible-lint from 24.9.0 to 24.9.2 (#11563)
Bumps [ansible-lint](https://github.com/ansible/ansible-lint) from 24.9.0 to 24.9.2.
- [Release notes](https://github.com/ansible/ansible-lint/releases)
- [Commits](https://github.com/ansible/ansible-lint/compare/v24.9.0...v24.9.2)

---
updated-dependencies:
- dependency-name: ansible-lint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-23 09:32:00 +01:00
Max Gautier 1818993a8a
CI: for upgrade testing, checkout old version before provisioning
Otherwise, modifying the test inventory + it's expected structure will
always fail.
2024-09-21 15:10:59 +02:00
Max Gautier 88b6f08e26
Documentation of k8s_cluster auto-defined
Also remove the group from the example inventory, since it should not be
needed anymore.
2024-09-21 14:35:36 +02:00
Max Gautier 7580e59bbf
Define k8s_cluster dynamically
This allows inventories to not define the k8s_cluster group manually.
2024-09-21 14:35:35 +02:00
Max Gautier 2ec1c93897
Test group membership with group_names
Testing for group membership with group names makes Kubespray more
tolerant towards the structure of the inventory.
Where 'inventory_hostname in groups["some_group"] would fail if
"some_group" is not defined, '"some_group" in group_names' would not.
2024-09-21 14:09:09 +02:00
dependabot[bot] 89ff0710e9
Bump ansible-lint from 24.7.0 to 24.9.0 (#11541)
Bumps [ansible-lint](https://github.com/ansible/ansible-lint) from 24.7.0 to 24.9.0.
- [Release notes](https://github.com/ansible/ansible-lint/releases)
- [Commits](https://github.com/ansible/ansible-lint/compare/v24.7.0...v24.9.0)

---
updated-dependencies:
- dependency-name: ansible-lint
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 10:45:58 +01:00
dependabot[bot] 1fa4bb733d
Bump ansible from 9.8.0 to 9.10.0 (#11540)
Bumps [ansible](https://github.com/ansible-community/ansible-build-data) from 9.8.0 to 9.10.0.
- [Changelog](https://github.com/ansible-community/ansible-build-data/blob/main/docs/release-process.md)
- [Commits](https://github.com/ansible-community/ansible-build-data/compare/9.8.0...9.10.0)

---
updated-dependencies:
- dependency-name: ansible
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 09:33:39 +01:00
Kubernetes Prow Robot 93ee1226eb
Merge pull request #11521 from VannTen/cleanup/deduplicate_kubeadm_control_plane
Use in inventory variables rather than patch files for kubeadm_patches
2024-09-20 01:05:14 +01:00
Leeon Fu 4323e5d039
Reset operation, disable service enabled and clean container's logs. (#11501) 2024-09-19 19:14:37 +01:00
Kubernetes Prow Robot 163697951c
Merge pull request #11527 from VannTen/feat/vagrant_multi_inv
Cleanup Vagrantfile and allow to use multiples inventories
2024-09-19 13:46:45 +01:00
Kubernetes Prow Robot 893e9cb177
Merge pull request #11471 from VannTen/feat/config_plugin_list
Update the list of admission plugins which needs config
2024-09-18 13:18:44 +01:00
Max Gautier 76c42b4d3f
CI: cleanup '-scale' tests infra (#11535)
There is actually no test using this since ad6fecefa8,
so there is no reason to keep that infra in our tests scripts.
2024-09-18 13:04:50 +01:00
Max Gautier b3b00775ea
Remove unused test infrastructure (#11529)
These two files haven't been touched since 2016 and don't appear to be
referenced anywhere else
2024-09-18 13:04:44 +01:00
Qasim Mehmood e550118314
Allow setting annotations on ingress-nginx service (#11544) 2024-09-18 11:54:44 +01:00
Max Gautier c3de25c782
Move the CRI endpoint setting to kubelet config (#11550)
The `--container-runtime-endpoint` kubelet argument is deprecated in
favor of the config file alternative.
2024-09-18 01:34:45 +01:00
dependabot[bot] 59dd713585
Bump molecule from 24.8.0 to 24.9.0 (#11542)
Bumps [molecule](https://github.com/ansible-community/molecule) from 24.8.0 to 24.9.0.
- [Release notes](https://github.com/ansible-community/molecule/releases)
- [Commits](https://github.com/ansible-community/molecule/compare/v24.8.0...v24.9.0)

---
updated-dependencies:
- dependency-name: molecule
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 08:31:14 +01:00
Kay Yan e5d2452828
fix elastx cleanup security groups (#11411) 2024-09-15 13:59:13 +01:00
ChengHao Yang 8cb081a3d0
Fix: download hash crictl link (#11534)
Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com>
2024-09-14 17:35:13 +01:00
Max Gautier 4bf2d7a2c2
Rework vagrant documentation
- Use proper syntax highlighting for config.rb examples
- Consistent shell style ($ as prompt)
- Use only one way to do things
- Remove OS specific details
2024-09-13 08:00:33 +02:00
Max Gautier 1e769b7260
Rework vagrant inventory handling + support for multiples inventories
The current way to handle a custom inventory in vagrant is a bit
hackish, copy files around and can break Vagrantfile parsing in
cornercase scenarios (removing vagrant inventories, or the inventory
copied into vagrant inventory).

Instead, simply pass additional inventories to the ansible-playbook
command lines as raw arguments with `-i`.
This also makes supporting multiples inventories trivial, so we add a
new `$inventories` variable for that purpose.
2024-09-13 08:00:32 +02:00
Max Gautier 8d8d063de4
Remove useless file (#11526)
This was somehow copied from vagrant docs, not sure why it's there...
2024-09-13 04:31:12 +01:00
Kevin Huang c601c8faf2
fix: Swap kubespray-defaults & boostrap-os (#11441)
- Execute boostrap-os before so that Python is installed for kubespray-defaults
- Remove outdated kubespray-defaults dependency on boostrap-os
2024-09-12 22:21:12 +01:00
Max Gautier 5ae433bf47
Remove refs to rhel7 in Vagrantfile (#11525) 2024-09-12 11:01:13 +01:00
Max Gautier d54356e113
Add testcase for kubeadm_patches 2024-09-12 10:31:10 +02:00
Max Gautier c87097fc35
Document how to use kubeadm patches 2024-09-12 10:31:09 +02:00
Kubernetes Prow Robot 4e6ae04b06
Merge pull request #11513 from VannTen/feat/python_download
Refactor and expand download_hash.py
2024-09-12 06:51:12 +01:00
Max Gautier 8e254ec1e8
kubeadm: allow to provide patch inline in inventories
Specifying one directory for kubeadm patches is not ideal:
1. It does not allow working with multiples inventories easily
2. No ansible templating of the patch
3. Ansible path searching can sometimes be confusing

Instead, provide the patch directly in a variable, and add some quality
of life to handle components targeting and patch ordering more
explicitly (`target` and `type` which are translated to the kubeadm
scheme which is based on the file name)
2024-09-10 20:37:14 +02:00
Max Gautier a8b66fd207
Deduplicate kubeadm_patches tasks
kubernetes/control-plane and kubernetes/kubeadm roles both push kubeadm
patches in the same way.
Extract that code and make it a dependency of both.
This is safe because it's only configuration for kubeadm, which only
takes effect when kubeadm is run.
2024-09-10 17:39:31 +02:00
M. Hamzah Khan d54cfba6c2
Fix SAN check on newer versions versions of openssl (#11277) 2024-09-09 10:04:27 +01:00
dependabot[bot] 533dbc62fe
Bump ara[server] from 1.7.1 to 1.7.2 (#11514)
Bumps [ara[server]](https://github.com/ansible-community/ara) from 1.7.1 to 1.7.2.
- [Commits](https://github.com/ansible-community/ara/compare/1.7.1...1.7.2)

---
updated-dependencies:
- dependency-name: ara[server]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-09 08:38:27 +01:00
dependabot[bot] 95f038559b
Bump tox from 4.18.0 to 4.18.1 (#11515)
Bumps [tox](https://github.com/tox-dev/tox) from 4.18.0 to 4.18.1.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.18.0...4.18.1)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-09 06:04:27 +01:00
Sy Tran Dung bb724655ae
Add favicon in Kubespray website (#11512) 2024-09-09 04:42:27 +01:00
Qasim Mehmood 538a1f2791
Update multus to v4.1.0 and clarify cilium compatibility (#11434)
* Update multus to v4.1.0 and clarify cilium compatibility

* Fix: bug introduced by #10934 where the template would break if multus was defined

* Set priorityClassName to system-node-critical for multus pods
2024-09-09 03:56:27 +01:00
Max Gautier 230cb37626
download_hash: document usage 2024-09-08 14:27:03 +02:00
Max Gautier dec4e711d1
download_hash: cache request for 'multi-hash' files
This avoid re-downloading the same file for different arch and
re-parsing it
2024-09-08 14:27:03 +02:00
Max Gautier 1b1045c0e2
download_hash: use persistent session
This allows to reuse http connection and be more efficient.
From rough measuring it saves around 25-30% of execution time.
2024-09-08 14:27:02 +02:00
Max Gautier 86855be634
download_hash: document missing support 2024-09-08 14:27:02 +02:00
Max Gautier b2e64aed4b
download_hash: support 'multi-hash' components 2024-09-08 14:27:01 +02:00
Max Gautier a2644c7a4f
download_hash: add support for 'simple hash' components 2024-09-08 14:14:00 +02:00
Max Gautier e256f74f2a
download_hash: propagate new patch versions to all archs 2024-09-08 14:11:47 +02:00
Max Gautier 2710e984c8
download_hash: argument handling with argparse
Allow the script to be called with a list of components, to only
download new versions checksums for those.
By default, we get new versions checksums for all supported (by the
script) components.
2024-09-08 11:13:25 +02:00
Max Gautier da0e445d69
download_hash.py: support for 'multi-hash' file + runc
runc upstream does not provide one hash file per assets in their
releases, but one file with all the hashes.
To handle this (and/or any arbitrary format from upstreams), add a
dictionary mapping the name of the download to a lambda function which
transform the file provided by upstream into a dictionary of hashes,
keyed by architecture.
2024-09-08 11:13:24 +02:00
Max Gautier a7616231a4
download_hash.py: generalized and data-driven
The script is currently limited to one hardcoded URL for kubernetes
related binaries, and a fixed set of architectures.

The solution is three-fold:
1. Use an url template dictionary for each download -> this allow to easily
   add support for new downloads.
2. Source the architectures to search from the existing data
3. Enumerate the existing versions in the data and start searching from
   the last one until no newer version is found (newer in the version
   order sense, irrespective of actual age)
2024-09-08 11:13:23 +02:00
Max Gautier fe60832a02
Remove kubelet_node_{custom_flags,config_extra_args}
There is no need to have an extra variables for this, just use different
values per host (using Ansible group_vars, for example)
2024-09-06 09:35:34 +02:00
Max Gautier 1bc61c9f35
Simplify kubelet-config template
Remove system|kube_master_<resource>_reserved variables.
Those variables are unnecessary because users can simply use the
variables in group_vars if they which to differentiate control plane
nodes from other nodes.

Set conservative defaults for ephemeral-storage and pids for both kube
and system reserved resources.
2024-09-06 09:33:07 +02:00
Max Gautier 872d717105
Add kube|system_reserved CI testing 2024-09-06 09:25:26 +02:00
Max Gautier 1533d40411
Fix kube_reserved_cgroups_for_service_slice
The default value is used across kubespray but only defined in
kubernetes/node.
Move it to kubespray-defaults
2024-09-06 09:25:23 +02:00