Switch Calico integration tests to k8s v1.24

This commit is contained in:
Ciprian Hacman 2022-05-21 10:43:13 +02:00
parent dcc3d3c46b
commit f5954e1388
3 changed files with 75 additions and 55 deletions

View File

@ -181,11 +181,13 @@ func (i *integrationTest) withAddons(addons ...string) *integrationTest {
}
const (
dnsControllerAddon = "dns-controller.addons.k8s.io-k8s-1.12"
awsCCMAddon = "aws-cloud-controller.addons.k8s.io-k8s-1.18"
awsEBSCSIAddon = "aws-ebs-csi-driver.addons.k8s.io-k8s-1.17"
leaderElectionAddon = "leader-migration.rbac.addons.k8s.io-k8s-1.23"
calicoAddon = "networking.projectcalico.org-k8s-1.23"
certManagerAddon = "certmanager.io-k8s-1.16"
ciliumAddon = "networking.cilium.io-k8s-1.16"
dnsControllerAddon = "dns-controller.addons.k8s.io-k8s-1.12"
leaderElectionAddon = "leader-migration.rbac.addons.k8s.io-k8s-1.23"
)
// TestMinimal runs the test on a minimum configuration, similar to kops create cluster minimal.example.com --zones us-west-1a
@ -325,7 +327,7 @@ func TestMinimalIPv6Private(t *testing.T) {
// TestMinimalIPv6Calico runs the test on a minimum IPv6 configuration with Calico
func TestMinimalIPv6Calico(t *testing.T) {
newIntegrationTest("minimal-ipv6.example.com", "minimal-ipv6-calico").
withAddons(awsCCMAddon, awsEBSCSIAddon, calicoAddon, dnsControllerAddon).
withAddons(calicoAddon, awsCCMAddon, awsEBSCSIAddon, dnsControllerAddon, leaderElectionAddon).
runTestTerraformAWS(t)
newIntegrationTest("minimal-ipv6.example.com", "minimal-ipv6-calico").runTestCloudformation(t)
}
@ -405,21 +407,17 @@ func TestPrivateFlannel(t *testing.T) {
runTestTerraformAWS(t)
}
const calicoAddon = "networking.projectcalico.org-k8s-1.16"
// TestPrivateCalico runs the test on a configuration with private topology, calico networking
func TestPrivateCalico(t *testing.T) {
newIntegrationTest("privatecalico.example.com", "privatecalico").
withPrivate().
withAddons(calicoAddon, dnsControllerAddon).
withAddons(calicoAddon, awsCCMAddon, awsEBSCSIAddon, dnsControllerAddon, leaderElectionAddon).
runTestTerraformAWS(t)
newIntegrationTest("privatecalico.example.com", "privatecalico").
withPrivate().
runTestCloudformation(t)
}
const ciliumAddon = "networking.cilium.io-k8s-1.16"
func TestPrivateCilium(t *testing.T) {
newIntegrationTest("privatecilium.example.com", "privatecilium").
withPrivate().

View File

@ -8,12 +8,6 @@ spec:
loadBalancer:
type: Public
class: Network
kubernetesApiAccess:
- 0.0.0.0/0
- ::/0
sshAccess:
- 0.0.0.0/0
- ::/0
channel: stable
cloudConfig:
awsEBSCSIDriver:
@ -30,25 +24,33 @@ spec:
- instanceGroup: master-us-test-1a
name: us-test-1a
name: events
iam: {}
iam:
allowContainerRegistry: true
legacy: false
kubelet:
anonymousAuth: false
kubernetesVersion: v1.21.0
kubernetesApiAccess:
- 0.0.0.0/0
- ::/0
kubernetesVersion: v1.24.0
masterInternalName: api.internal.minimal-ipv6.example.com
masterPublicName: api.minimal-ipv6.example.com
networkCIDR: 172.20.0.0/16
networking:
calico: {}
nonMasqueradeCIDR: ::/0
topology:
masters: public
nodes: public
sshAccess:
- 0.0.0.0/0
- ::/0
subnets:
- cidr: 172.20.32.0/19
ipv6CIDR: 2001:db8:0:111::/64
name: us-test-1a
type: Public
zone: us-test-1a
topology:
masters: public
nodes: public
---
@ -56,34 +58,42 @@ apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2016-12-10T22:42:28Z"
name: nodes
labels:
kops.k8s.io/cluster: minimal-ipv6.example.com
spec:
associatePublicIp: true
image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21
machineType: t2.medium
maxSize: 2
minSize: 2
role: Node
subnets:
- us-test-1a
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2016-12-10T22:42:28Z"
name: master-us-test-1a
labels:
kops.k8s.io/cluster: minimal-ipv6.example.com
spec:
associatePublicIp: true
image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21
machineType: m3.medium
instanceMetadata:
httpPutResponseHopLimit: 1
httpTokens: required
machineType: t3.medium
maxSize: 1
minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: master-us-test-1a
role: Master
subnets:
- us-test-1a
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2016-12-10T22:42:28Z"
labels:
kops.k8s.io/cluster: minimal-ipv6.example.com
name: nodes
spec:
image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21
instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: t3.medium
maxSize: 1
minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: nodes
role: Node
subnets:
- us-test-1a

View File

@ -4,9 +4,11 @@ metadata:
creationTimestamp: "2016-12-12T04:13:14Z"
name: privatecalico.example.com
spec:
kubernetesApiAccess:
- 0.0.0.0/0
channel: stable
cloudConfig:
awsEBSCSIDriver:
enabled: true
cloudControllerManager: {}
cloudProvider: aws
configBase: memfs://clusters.example.com/privatecalico.example.com
etcdClusters:
@ -18,10 +20,15 @@ spec:
- instanceGroup: master-us-test-1a
name: us-test-1a
name: events
iam: {}
iam:
allowContainerRegistry: true
legacy: false
kubelet:
anonymousAuth: false
kubernetesVersion: v1.21.0
kubernetesApiAccess:
- 0.0.0.0/0
- ::/0
kubernetesVersion: v1.24.0
masterInternalName: api.internal.privatecalico.example.com
masterPublicName: api.privatecalico.example.com
networkCIDR: 172.20.0.0/16
@ -30,9 +37,7 @@ spec:
nonMasqueradeCIDR: 100.64.0.0/10
sshAccess:
- 0.0.0.0/0
topology:
masters: private
nodes: private
- ::/0
subnets:
- cidr: 172.20.32.0/19
name: us-test-1a
@ -42,6 +47,9 @@ spec:
name: utility-us-test-1a
type: Utility
zone: us-test-1a
topology:
masters: private
nodes: private
---
@ -49,13 +57,15 @@ apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2016-12-12T04:13:15Z"
name: master-us-test-1a
labels:
kops.k8s.io/cluster: privatecalico.example.com
name: master-us-test-1a
spec:
associatePublicIp: true
image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21
machineType: m3.medium
instanceMetadata:
httpPutResponseHopLimit: 1
httpTokens: required
machineType: t3.medium
maxSize: 1
minSize: 1
role: Master
@ -68,13 +78,15 @@ apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2016-12-12T04:13:15Z"
name: nodes
labels:
kops.k8s.io/cluster: privatecalico.example.com
name: nodes
spec:
associatePublicIp: true
image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21
machineType: t2.medium
instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: t3.medium
maxSize: 2
minSize: 2
role: Node
@ -88,13 +100,13 @@ apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2016-12-14T15:32:41Z"
name: bastion
labels:
kops.k8s.io/cluster: privatecalico.example.com
name: bastion
spec:
associatePublicIp: true
image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21
machineType: t2.micro
machineType: t3.micro
maxSize: 1
minSize: 1
role: Bastion