Add test case for calico using etcd datastore (#10722)

* Add multinode ci layout

* Add test case for calico using etcd datastore
pull/10738/head
Max Gautier 2023-12-20 09:59:02 +01:00 committed by GitHub
parent 29ea790c30
commit 243ca5d08f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 48 additions and 1 deletions

View File

@ -61,6 +61,11 @@ packet_ubuntu22-calico-all-in-one:
extends: .packet_pr extends: .packet_pr
when: on_success when: on_success
packet_ubuntu22-calico-etcd-datastore:
stage: deploy-part2
extends: .packet_pr
when: on_success
packet_centos7-flannel-addons-ha: packet_centos7-flannel-addons-ha:
extends: .packet_pr extends: .packet_pr
stage: deploy-part2 stage: deploy-part2

View File

@ -1,6 +1,6 @@
# Node Layouts # Node Layouts
There are five node layout types: `default`, `separate`, `ha`, `scale`, and `all-in-one`. There are six node layout types: `default`, `separate`, `ha`, `scale`, `all-in-one`, and `multinode`.
`default` is a non-HA two nodes setup with one separate `kube_node` `default` is a non-HA two nodes setup with one separate `kube_node`
and the `etcd` group merged with the `kube_control_plane`. and the `etcd` group merged with the `kube_control_plane`.
@ -18,6 +18,8 @@ never actually deployed, but certificates are generated for them.
`all-in-one` layout use a single node for with `kube_control_plane`, `etcd` and `kube_node` merged. `all-in-one` layout use a single node for with `kube_control_plane`, `etcd` and `kube_node` merged.
`multinode` layout consists of two separate `kube_node` and a merged single `etcd+kube_control_plane` node.
Note, the canal network plugin deploys flannel as well plus calico policy controller. Note, the canal network plugin deploys flannel as well plus calico policy controller.
## Test cases ## Test cases

View File

@ -81,6 +81,16 @@ instance-2
[broken_etcd] [broken_etcd]
instance-1 etcd_member_name=etcd2 instance-1 etcd_member_name=etcd2
instance-2 etcd_member_name=etcd3 instance-2 etcd_member_name=etcd3
{% elif mode == "multinode" %}
[kube_control_plane]
instance-1
[etcd]
instance-1
[kube_node]
instance-2
instance-3
{% endif %} {% endif %}
[k8s_cluster:children] [k8s_cluster:children]

View File

@ -7,6 +7,7 @@ _vm_count_dict:
ha-recover: 3 ha-recover: 3
ha-recover-noquorum: 3 ha-recover-noquorum: 3
all-in-one: 1 all-in-one: 1
multinode: 3
default: 2 default: 2
vm_count: "{{ _vm_count_dict[mode | d('default')] }}" vm_count: "{{ _vm_count_dict[mode | d('default')] }}"

View File

@ -0,0 +1,29 @@
---
# Instance settings
cloud_image: ubuntu-2204
mode: multinode
vm_memory: 1600Mi
# Kubespray settings
auto_renew_certificates: true
# Currently ipvs not available on KVM: https://packages.ubuntu.com/search?suite=focal&arch=amd64&mode=exactfilename&searchon=contents&keywords=ip_vs_sh.ko
kube_proxy_mode: iptables
enable_nodelocaldns: False
containerd_registries:
"docker.io": "https://mirror.gcr.io"
containerd_registries_mirrors:
- prefix: docker.io
mirrors:
- host: https://mirror.gcr.io
capabilities: ["pull", "resolve"]
skip_verify: false
- prefix: 172.19.16.11:5000
mirrors:
- host: http://172.19.16.11:5000
capabilities: ["pull", "resolve", "push"]
skip_verify: true
calico_datastore: "etcd"