Documentation of k8s_cluster auto-defined

Also remove the group from the example inventory, since it should not be
needed anymore.
pull/11559/head
Max Gautier 2024-09-21 14:33:45 +02:00
parent 7580e59bbf
commit 88b6f08e26
No known key found for this signature in database
5 changed files with 4 additions and 36 deletions

View File

@ -127,8 +127,7 @@ recommended here:
You need to edit your inventory and add: You need to edit your inventory and add:
* `calico_rr` group with nodes in it. `calico_rr` can be combined with * `calico_rr` group with nodes in it. `calico_rr` can be combined with
`kube_node` and/or `kube_control_plane`. `calico_rr` group also must be a child `kube_node` and/or `kube_control_plane`.
group of `k8s_cluster` group.
* `cluster_id` by route reflector node/group (see details [here](https://hub.docker.com/r/calico/routereflector/)) * `cluster_id` by route reflector node/group (see details [here](https://hub.docker.com/r/calico/routereflector/))
Here's an example of Kubespray inventory with standalone route reflectors: Here's an example of Kubespray inventory with standalone route reflectors:
@ -157,11 +156,6 @@ node3
node4 node4
node5 node5
[k8s_cluster:children]
kube_node
kube_control_plane
calico_rr
[calico_rr] [calico_rr]
rr0 rr0
rr1 rr1

View File

@ -42,14 +42,6 @@ The inventory is composed of 3 groups:
* **kube_control_plane** : list of servers where kubernetes control plane components (apiserver, scheduler, controller) will run. * **kube_control_plane** : list of servers where kubernetes control plane components (apiserver, scheduler, controller) will run.
* **etcd**: list of servers to compose the etcd server. You should have at least 3 servers for failover purpose. * **etcd**: list of servers to compose the etcd server. You should have at least 3 servers for failover purpose.
Note: do not modify the children of _k8s_cluster_, like putting
the _etcd_ group into the _k8s_cluster_, unless you are certain
to do that and you have it fully contained in the latter:
```ShellSession
etcd ⊂ k8s_cluster => kube_node ∩ etcd = etcd
```
When _kube_node_ contains _etcd_, you define your etcd cluster to be as well schedulable for Kubernetes workloads. When _kube_node_ contains _etcd_, you define your etcd cluster to be as well schedulable for Kubernetes workloads.
If you want it a standalone, make sure those groups do not intersect. If you want it a standalone, make sure those groups do not intersect.
If you want the server to act both as control-plane and node, the server must be defined If you want the server to act both as control-plane and node, the server must be defined
@ -62,6 +54,9 @@ There are also two special groups:
* **calico_rr** : explained for [advanced Calico networking cases](/docs/CNI/calico.md) * **calico_rr** : explained for [advanced Calico networking cases](/docs/CNI/calico.md)
* **bastion** : configure a bastion host if your nodes are not directly reachable * **bastion** : configure a bastion host if your nodes are not directly reachable
Lastly, the **k8s_cluster** is dynamically defined as the union of **kube_node**, **kube_control_plane** and **calico_rr**.
This is used internally and for the purpose of defining whole cluster variables (`<inventory>/group_vars/k8s_cluster/*.yml`)
Below is a complete inventory example: Below is a complete inventory example:
```ini ```ini
@ -89,10 +84,6 @@ node3
node4 node4
node5 node5
node6 node6
[k8s_cluster:children]
kube_node
kube_control_plane
``` ```
## Group vars and overriding variables precedence ## Group vars and overriding variables precedence

View File

@ -71,9 +71,6 @@
[kube_node:children] [kube_node:children]
kubenode kubenode
[k8s_cluster:children]
kubernetes
[etcd:children] [etcd:children]
kubemaster kubemaster
kubemaster-ha kubemaster-ha
@ -81,9 +78,6 @@
[kube_control_plane:children] [kube_control_plane:children]
kubemaster kubemaster
kubemaster-ha kubemaster-ha
[kubespray:children]
kubernetes
``` ```
* Last entry here needed to apply kubespray.yml config file, renamed from all.yml of kubespray project. * Last entry here needed to apply kubespray.yml config file, renamed from all.yml of kubespray project.

View File

@ -8,7 +8,3 @@ node1
[kube_node] [kube_node]
node1 node1
[k8s_cluster:children]
kube_node
kube_control_plane

View File

@ -29,10 +29,3 @@
# node4 # node4
# node5 # node5
# node6 # node6
[calico_rr]
[k8s_cluster:children]
kube_control_plane
kube_node
calico_rr