2019-12-04 15:22:57 +00:00
|
|
|
# Node Layouts
|
2017-02-13 11:13:28 +00:00
|
|
|
|
|
|
|
There are four node layout types: `default`, `separate`, `ha`, and `scale`.
|
|
|
|
|
|
|
|
`default` is a non-HA two nodes setup with one separate `kube-node`
|
2021-03-24 00:26:05 +00:00
|
|
|
and the `etcd` group merged with the `kube_control_plane`.
|
2017-02-13 11:13:28 +00:00
|
|
|
|
|
|
|
`separate` layout is when there is only node of each type, which includes
|
2021-03-24 00:26:05 +00:00
|
|
|
a kube_control_plane, kube-node, and etcd cluster member.
|
2017-02-13 11:13:28 +00:00
|
|
|
|
|
|
|
`ha` layout consists of two etcd nodes, two masters and a single worker node,
|
|
|
|
with role intersection.
|
|
|
|
|
2020-06-18 06:40:05 +00:00
|
|
|
`scale` layout can be combined with above layouts (`ha-scale`, `separate-scale`). It includes 200 fake hosts
|
2017-02-13 11:13:28 +00:00
|
|
|
in the Ansible inventory. This helps test TLS certificate generation at scale
|
|
|
|
to prevent regressions and profile certain long-running tasks. These nodes are
|
|
|
|
never actually deployed, but certificates are generated for them.
|
2016-11-15 17:17:30 +00:00
|
|
|
|
|
|
|
Note, the canal network plugin deploys flannel as well plus calico policy controller.
|
|
|
|
|
2020-06-18 06:40:05 +00:00
|
|
|
## Test cases
|
|
|
|
|
2020-06-25 18:56:37 +00:00
|
|
|
The [CI Matrix](/docs/ci.md) displays OS, Network Plugin and Container Manager tested.
|
2020-06-18 06:40:05 +00:00
|
|
|
|
|
|
|
All tests are breakdown into 3 "stages" ("Stage" means a build step of the build pipeline) as follows:
|
|
|
|
|
|
|
|
- _unit_tests_: Linting, markdown, vagrant & terraform validation etc...
|
|
|
|
- _part1_: Molecule and AIO tests
|
|
|
|
- _part2_: Standard tests with different layouts and OS/Runtime/Network
|
|
|
|
- _part3_: Upgrade jobs, terraform jobs and recover control plane tests
|
|
|
|
- _special_: Other jobs (manuals)
|
|
|
|
|
|
|
|
The steps are ordered as `unit_tests->part1->part2->part3->special`.
|