kops spot instance

This commit is contained in:
havelight-ee
2022-12-07 18:20:21 +09:00
parent 52977e00e0
commit 7271592aa1
6 changed files with 224 additions and 0 deletions

41
spot_221207/kops_env.sh Executable file
View File

@@ -0,0 +1,41 @@
#!/bin/bash
export KOPS_STATE_STORE=s3://test.datasaker.io
export KOPS_CLUSTER_NAME=k8s-spot.datasaker.io
VPC_ID="vpc-00ba2b0e9ad59f0ed"
Network_CIDR="172.24.0.0/19"
AMI_Image="ami-0409b7ddbc59e3222"
Private_Subnet_ID_1="subnet-024f0deda82039fa4"
Private_Subnet_ID_2="subnet-050d942fa1c46540a"
Private_Subnet_ID_3="subnet-0946eb806af7377be"
Public_Subnet_ID_1="subnet-00c363356f133411d"
Public_Subnet_ID_2="subnet-07aa5e879a262014d"
Public_Subnet_ID_3="subnet-0073a61bc56a68a3e"
kops_cmd="""
kops create cluster \
--vpc "$VPC_ID" \
--cloud aws \
--ssh-public-key "$HOME/.ssh/id_rsa.pub" \
--topology private --kubernetes-version "1.25.2" \
--network-cidr "$Network_CIDR" \
--networking calico \
--container-runtime containerd \
--image $AMI_Image \
--zones ap-northeast-2a,ap-northeast-2b,ap-northeast-2c \
--master-count 3 \
--master-size t3.small \
--node-count 3 \
--node-size t3.small \
--node-volume-size 100 \
--subnets "$Private_Subnet_ID_1,$Private_Subnet_ID_2,$Private_Subnet_ID_3" \
--utility-subnets "$Public_Subnet_ID_1,$Public_Subnet_ID_2,$Public_Subnet_ID_3" \
-v 10
"""
kubeconfig="kops export kubecfg --admin8760h0m0s --kubeconfig /root/.kube/config --name=${KOPS_CLUSTER_NAME} --state=${KOPS_STATE_STORE}"
echo ${kubeconfig}
echo
echo
echo ${kops_cmd}

View File

@@ -0,0 +1,91 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-spot.datasaker.io
name: k8s-spot-process-a
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-spot-process-a
rootVolumeSize: 100
role: Node
subnets:
- ap-northeast-2a
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-spot.datasaker.io
name: k8s-spot-process-a2
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-spot-process-a2
rootVolumeSize: 100
role: Node
subnets:
- ap-northeast-2a
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-spot.datasaker.io
name: k8s-spot-process-b
spec:
image: ami-0409b7ddbc59e3222
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-spot-process-b
rootVolumeSize: 100
role: Node
subnets:
- ap-northeast-2b
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-spot.datasaker.io
name: k8s-spot-process-c
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-spot-process-c
rootVolumeSize: 100
role: Node
subnets:
- ap-northeast-2c

View File

@@ -0,0 +1,24 @@
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-spot.datasaker.io
name: k8s-spot-process-a
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-spot-process-a
rootVolumeSize: 100
role: Node
subnets:
- ap-northeast-2a

View File

@@ -0,0 +1,24 @@
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-spot.datasaker.io
name: k8s-spot-process-a2
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-spot-process-a2
rootVolumeSize: 100
role: Node
subnets:
- ap-northeast-2a

View File

@@ -0,0 +1,24 @@
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-spot.datasaker.io
name: k8s-spot-process-b
spec:
image: ami-0409b7ddbc59e3222
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-spot-process-b
rootVolumeSize: 100
role: Node
subnets:
- ap-northeast-2b

View File

@@ -0,0 +1,20 @@
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-spot.datasaker.io
name: k8s-spot-process-c
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-spot-process-c
rootVolumeSize: 100
role: Node
subnets:
- ap-northeast-2c