You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.6 KiB

  1. # Node Layouts
  2. There are six node layout types: `default`, `separate`, `ha`, `scale`, `all-in-one`, and `multinode`.
  3. `default` is a non-HA two nodes setup with one separate `kube_node`
  4. and the `etcd` group merged with the `kube_control_plane`.
  5. `separate` layout is when there is only node of each type, which includes
  6. a kube_control_plane, kube_node, and etcd cluster member.
  7. `ha` layout consists of two etcd nodes, two control planes and a single worker node,
  8. with role intersection.
  9. `scale` layout can be combined with above layouts (`ha-scale`, `separate-scale`). It includes 200 fake hosts
  10. in the Ansible inventory. This helps test TLS certificate generation at scale
  11. to prevent regressions and profile certain long-running tasks. These nodes are
  12. never actually deployed, but certificates are generated for them.
  13. `all-in-one` layout use a single node for with `kube_control_plane`, `etcd` and `kube_node` merged.
  14. `multinode` layout consists of two separate `kube_node` and a merged single `etcd+kube_control_plane` node.
  15. Note, the canal network plugin deploys flannel as well plus calico policy controller.
  16. ## Test cases
  17. The [CI Matrix](/docs/ci.md) displays OS, Network Plugin and Container Manager tested.
  18. All tests are breakdown into 3 "stages" ("Stage" means a build step of the build pipeline) as follows:
  19. - _unit_tests_: Linting, markdown, vagrant & terraform validation etc...
  20. - _part1_: Molecule and AIO tests
  21. - _part2_: Standard tests with different layouts and OS/Runtime/Network
  22. - _part3_: Upgrade jobs, terraform jobs and recover control plane tests
  23. - _special_: Other jobs (manuals)
  24. The steps are ordered as `unit_tests->part1->part2->part3->special`.