mirror of https://github.com/kubernetes/kops.git
Create create_cluster test for karpenter
This commit is contained in:
parent
8f276cf944
commit
8e59f5bc23
|
|
@ -30,9 +30,11 @@ import (
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
|
|
||||||
"k8s.io/kops/cloudmock/aws/mockec2"
|
"k8s.io/kops/cloudmock/aws/mockec2"
|
||||||
"k8s.io/kops/cmd/kops/util"
|
"k8s.io/kops/cmd/kops/util"
|
||||||
"k8s.io/kops/pkg/apis/kops"
|
"k8s.io/kops/pkg/apis/kops"
|
||||||
|
"k8s.io/kops/pkg/featureflag"
|
||||||
"k8s.io/kops/pkg/kopscodecs"
|
"k8s.io/kops/pkg/kopscodecs"
|
||||||
"k8s.io/kops/pkg/testutils"
|
"k8s.io/kops/pkg/testutils"
|
||||||
"k8s.io/kops/pkg/testutils/golden"
|
"k8s.io/kops/pkg/testutils/golden"
|
||||||
|
|
@ -133,6 +135,16 @@ func TestCreateClusterIPv6(t *testing.T) {
|
||||||
runCreateClusterIntegrationTest(t, "../../tests/integration/create_cluster/ipv6", "v1alpha2")
|
runCreateClusterIntegrationTest(t, "../../tests/integration/create_cluster/ipv6", "v1alpha2")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestCreateClusterKarpenter runs kops create cluster --instance-manager=karpenter
|
||||||
|
func TestCreateClusterKarpenter(t *testing.T) {
|
||||||
|
featureflag.ParseFlags("+Karpenter")
|
||||||
|
unsetFeatureFlags := func() {
|
||||||
|
featureflag.ParseFlags("-Karpenter")
|
||||||
|
}
|
||||||
|
defer unsetFeatureFlags()
|
||||||
|
runCreateClusterIntegrationTest(t, "../../tests/integration/create_cluster/karpenter", "v1alpha2")
|
||||||
|
}
|
||||||
|
|
||||||
func runCreateClusterIntegrationTest(t *testing.T, srcDir string, version string) {
|
func runCreateClusterIntegrationTest(t *testing.T, srcDir string, version string) {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,119 @@
|
||||||
|
apiVersion: kops.k8s.io/v1alpha2
|
||||||
|
kind: Cluster
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: "2017-01-01T00:00:00Z"
|
||||||
|
name: karpenter.example.com
|
||||||
|
spec:
|
||||||
|
api:
|
||||||
|
dns: {}
|
||||||
|
authorization:
|
||||||
|
rbac: {}
|
||||||
|
channel: stable
|
||||||
|
cloudProvider: aws
|
||||||
|
configBase: memfs://tests/karpenter.example.com
|
||||||
|
etcdClusters:
|
||||||
|
- cpuRequest: 200m
|
||||||
|
etcdMembers:
|
||||||
|
- encryptedVolume: true
|
||||||
|
instanceGroup: master-us-test-1a
|
||||||
|
name: a
|
||||||
|
memoryRequest: 100Mi
|
||||||
|
name: main
|
||||||
|
- cpuRequest: 100m
|
||||||
|
etcdMembers:
|
||||||
|
- encryptedVolume: true
|
||||||
|
instanceGroup: master-us-test-1a
|
||||||
|
name: a
|
||||||
|
memoryRequest: 100Mi
|
||||||
|
name: events
|
||||||
|
iam:
|
||||||
|
allowContainerRegistry: true
|
||||||
|
legacy: false
|
||||||
|
useServiceAccountExternalPermissions: true
|
||||||
|
karpenter:
|
||||||
|
enabled: true
|
||||||
|
kubelet:
|
||||||
|
anonymousAuth: false
|
||||||
|
kubernetesApiAccess:
|
||||||
|
- 0.0.0.0/0
|
||||||
|
- ::/0
|
||||||
|
kubernetesVersion: v1.23.0
|
||||||
|
masterPublicName: api.karpenter.example.com
|
||||||
|
networkCIDR: 172.20.0.0/16
|
||||||
|
networking:
|
||||||
|
calico: {}
|
||||||
|
nonMasqueradeCIDR: 100.64.0.0/10
|
||||||
|
serviceAccountIssuerDiscovery:
|
||||||
|
discoveryStore: memfs://kops-state-store/karpenter.example.com
|
||||||
|
enableAWSOIDCProvider: true
|
||||||
|
sshAccess:
|
||||||
|
- 0.0.0.0/0
|
||||||
|
- ::/0
|
||||||
|
subnets:
|
||||||
|
- cidr: 172.20.32.0/19
|
||||||
|
name: us-test-1a
|
||||||
|
type: Public
|
||||||
|
zone: us-test-1a
|
||||||
|
- cidr: 172.20.64.0/19
|
||||||
|
name: us-test-1b
|
||||||
|
type: Public
|
||||||
|
zone: us-test-1b
|
||||||
|
- cidr: 172.20.96.0/19
|
||||||
|
name: us-test-1c
|
||||||
|
type: Public
|
||||||
|
zone: us-test-1c
|
||||||
|
topology:
|
||||||
|
dns:
|
||||||
|
type: Public
|
||||||
|
masters: public
|
||||||
|
nodes: public
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: kops.k8s.io/v1alpha2
|
||||||
|
kind: InstanceGroup
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: "2017-01-01T00:00:00Z"
|
||||||
|
labels:
|
||||||
|
kops.k8s.io/cluster: karpenter.example.com
|
||||||
|
name: master-us-test-1a
|
||||||
|
spec:
|
||||||
|
image: 099720109477/ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20211118
|
||||||
|
instanceMetadata:
|
||||||
|
httpPutResponseHopLimit: 3
|
||||||
|
httpTokens: required
|
||||||
|
machineType: m3.medium
|
||||||
|
manager: CloudGroup
|
||||||
|
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: "2017-01-01T00:00:00Z"
|
||||||
|
labels:
|
||||||
|
kops.k8s.io/cluster: karpenter.example.com
|
||||||
|
name: nodes
|
||||||
|
spec:
|
||||||
|
image: 099720109477/ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20211118
|
||||||
|
instanceMetadata:
|
||||||
|
httpPutResponseHopLimit: 1
|
||||||
|
httpTokens: required
|
||||||
|
machineType: t2.medium
|
||||||
|
manager: Karpenter
|
||||||
|
maxSize: 2
|
||||||
|
minSize: 2
|
||||||
|
nodeLabels:
|
||||||
|
kops.k8s.io/instancegroup: nodes
|
||||||
|
role: Node
|
||||||
|
subnets:
|
||||||
|
- us-test-1a
|
||||||
|
- us-test-1b
|
||||||
|
- us-test-1c
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
ClusterName: karpenter.example.com
|
||||||
|
Zones:
|
||||||
|
- us-test-1a
|
||||||
|
- us-test-1b
|
||||||
|
- us-test-1c
|
||||||
|
CloudProvider: aws
|
||||||
|
Networking: calico
|
||||||
|
KubernetesVersion: v1.23.0
|
||||||
|
InstanceManager: karpenter
|
||||||
|
DiscoveryStore: memfs://kops-state-store
|
||||||
Loading…
Reference in New Issue