This commit is contained in:
havelight-ee
2023-05-11 13:55:28 +09:00
parent 55d4828037
commit 2d70373907
1390 changed files with 0 additions and 1398 deletions

View File

@@ -0,0 +1,26 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-12-13T05:21:10Z"
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-rel-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: rel-process
kops.k8s.io/instancegroup: k8s-rel-process-a
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2a
taints:
- prod/rel-process:NoSchedule

View File

@@ -0,0 +1,26 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-12-13T05:21:10Z"
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-rel-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: rel-process
kops.k8s.io/instancegroup: k8s-rel-process-a2
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2a
taints:
- prod/rel-process:NoSchedule

View File

@@ -0,0 +1,26 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-12-13T05:21:10Z"
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-rel-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: rel-process
kops.k8s.io/instancegroup: k8s-rel-process-b
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2b
taints:
- prod/rel-process:NoSchedule

View File

@@ -0,0 +1,26 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-12-13T05:21:10Z"
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-rel-process-c
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/group: rel-process
kops.k8s.io/instancegroup: k8s-rel-process-c
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2c
taints:
- prod/rel-process:NoSchedule

View File

@@ -0,0 +1,74 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-a
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.2xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: k8s-prod-data-druid-a
datasaker/group: data-druid
role: Node
subnets:
- ap-northeast-2a
taints:
- prod/data-druid:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-b
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: k8s-prod-data-druid-b
datasaker/group: data-druid
role: Node
subnets:
- ap-northeast-2b
taints:
- prod/data-druid:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-c
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.4xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: k8s-prod-data-druid-c
datasaker/group: data-druid
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-druid:NoSchedule

View File

@@ -0,0 +1,74 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-es-a
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: k8s-prod-data-es-a
datasaker/group: data-es
role: Node
subnets:
- ap-northeast-2a
taints:
- prod/data-es:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-es-b
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: k8s-prod-data-es-b
datasaker/group: data-es
role: Node
subnets:
- ap-northeast-2b
taints:
- prod/data-es:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-es-c
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: k8s-prod-data-es-c
datasaker/group: data-es
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-es:NoSchedule

View File

@@ -0,0 +1,74 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-a
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: k8s-prod-data-kafka-a
datasaker/group: data-kafka
role: Node
subnets:
- ap-northeast-2a
taints:
- prod/data-kafka:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-b
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: k8s-prod-data-kafka-b
datasaker/group: data-kafka
role: Node
subnets:
- ap-northeast-2b
taints:
- prod/data-kafka:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-c
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: k8s-prod-data-kafka-c
datasaker/group: data-kafka
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-kafka:NoSchedule

View File

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

View File

@@ -0,0 +1,411 @@
apiVersion: kops.k8s.io/v1alpha2
kind: Cluster
metadata:
creationTimestamp: "2022-11-01T05:36:36Z"
generation: 2
name: k8s-prod.datasaker.io
spec:
api:
loadBalancer:
class: Network
type: Public
authorization:
rbac: {}
channel: stable
cloudProvider: aws
configBase: s3://clusters.prod.datasaker.io/k8s-prod.datasaker.io
containerRuntime: containerd
etcdClusters:
- cpuRequest: 200m
etcdMembers:
- encryptedVolume: true
instanceGroup: master-ap-northeast-2a
name: a
- encryptedVolume: true
instanceGroup: master-ap-northeast-2b
name: b
- encryptedVolume: true
instanceGroup: master-ap-northeast-2c
name: c
memoryRequest: 100Mi
name: main
- cpuRequest: 100m
etcdMembers:
- encryptedVolume: true
instanceGroup: master-ap-northeast-2a
name: a
- encryptedVolume: true
instanceGroup: master-ap-northeast-2b
name: b
- encryptedVolume: true
instanceGroup: master-ap-northeast-2c
name: c
memoryRequest: 100Mi
name: events
iam:
allowContainerRegistry: true
legacy: false
kubelet:
anonymousAuth: false
kubernetesApiAccess:
- 0.0.0.0/0
- ::/0
kubernetesVersion: 1.25.2
masterInternalName: api.internal.k8s-prod.datasaker.io
masterPublicName: api.k8s-prod.datasaker.io
networkCIDR: 172.24.0.0/19
networkID: vpc-00ba2b0e9ad59f0ed
networking:
calico: {}
nonMasqueradeCIDR: 100.64.0.0/10
sshAccess:
- 0.0.0.0/0
- ::/0
subnets:
- cidr: 172.24.8.0/23
id: subnet-024f0deda82039fa4
name: ap-northeast-2a
type: Private
zone: ap-northeast-2a
- cidr: 172.24.10.0/23
id: subnet-050d942fa1c46540a
name: ap-northeast-2b
type: Private
zone: ap-northeast-2b
- cidr: 172.24.12.0/23
id: subnet-0946eb806af7377be
name: ap-northeast-2c
type: Private
zone: ap-northeast-2c
- cidr: 172.24.0.0/24
id: subnet-00c363356f133411d
name: utility-ap-northeast-2a
type: Utility
zone: ap-northeast-2a
- cidr: 172.24.1.0/24
id: subnet-07aa5e879a262014d
name: utility-ap-northeast-2b
type: Utility
zone: ap-northeast-2b
- cidr: 172.24.2.0/24
id: subnet-0073a61bc56a68a3e
name: utility-ap-northeast-2c
type: Utility
zone: ap-northeast-2c
topology:
dns:
type: Public
masters: private
nodes: private
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:50:52Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-a
spec:
image: ami-0abb33b73a78cae31
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-a
role: Node
subnets:
- ap-northeast-2a
taints:
- prod/data-druid:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:50:52Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-b
spec:
image: ami-0abb33b73a78cae31
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-b
role: Node
subnets:
- ap-northeast-2b
taints:
- prod/data-druid:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:50:52Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-c
spec:
image: ami-0abb33b73a78cae31
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-c
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-druid:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:51:35Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-a
spec:
image: ami-0abb33b73a78cae31
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-kafka
kops.k8s.io/instancegroup: k8s-prod-data-kafka-a
role: Node
subnets:
- ap-northeast-2a
taints:
- prod/data-kafka:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:51:35Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-b
spec:
image: ami-0abb33b73a78cae31
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-kafka
kops.k8s.io/instancegroup: k8s-prod-data-kafka-b
role: Node
subnets:
- ap-northeast-2b
taints:
- prod/data-kafka:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:51:35Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-c
spec:
image: ami-0abb33b73a78cae31
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-kafka
kops.k8s.io/instancegroup: k8s-prod-data-kafka-c
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-kafka:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:51:49Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-a
spec:
image: ami-0abb33b73a78cae31
machineType: c5.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-prod-process-a
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2a
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:51:49Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-b
spec:
image: ami-0abb33b73a78cae31
machineType: c5.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-prod-process-b
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2b
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:51:49Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-c
spec:
image: ami-0abb33b73a78cae31
machineType: c5.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-prod-process-c
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2c
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-01T05:36:36Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: master-ap-northeast-2a
spec:
image: ami-0abb33b73a78cae31
instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: c5a.large
maxSize: 1
minSize: 1
role: Master
subnets:
- ap-northeast-2a
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-01T05:36:36Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: master-ap-northeast-2b
spec:
image: ami-0abb33b73a78cae31
instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: c5a.large
maxSize: 1
minSize: 1
role: Master
subnets:
- ap-northeast-2b
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-01T05:36:36Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: master-ap-northeast-2c
spec:
image: ami-0abb33b73a78cae31
instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: c5a.large
maxSize: 1
minSize: 1
role: Master
subnets:
- ap-northeast-2c

View File

@@ -0,0 +1,411 @@
apiVersion: kops.k8s.io/v1alpha2
kind: Cluster
metadata:
creationTimestamp: "2022-11-01T05:36:36Z"
generation: 5
name: k8s-prod.datasaker.io
spec:
api:
loadBalancer:
class: Network
type: Public
authorization:
rbac: {}
channel: stable
cloudProvider: aws
configBase: s3://clusters.prod.datasaker.io/k8s-prod.datasaker.io
containerRuntime: containerd
etcdClusters:
- cpuRequest: 200m
etcdMembers:
- encryptedVolume: true
instanceGroup: master-ap-northeast-2a
name: a
- encryptedVolume: true
instanceGroup: master-ap-northeast-2b
name: b
- encryptedVolume: true
instanceGroup: master-ap-northeast-2c
name: c
memoryRequest: 100Mi
name: main
- cpuRequest: 100m
etcdMembers:
- encryptedVolume: true
instanceGroup: master-ap-northeast-2a
name: a
- encryptedVolume: true
instanceGroup: master-ap-northeast-2b
name: b
- encryptedVolume: true
instanceGroup: master-ap-northeast-2c
name: c
memoryRequest: 100Mi
name: events
iam:
allowContainerRegistry: true
legacy: false
kubelet:
anonymousAuth: false
kubernetesApiAccess:
- 0.0.0.0/0
- ::/0
kubernetesVersion: 1.25.2
masterInternalName: api.internal.k8s-prod.datasaker.io
masterPublicName: api.k8s-prod.datasaker.io
networkCIDR: 172.24.0.0/19
networkID: vpc-00ba2b0e9ad59f0ed
networking:
calico: {}
nonMasqueradeCIDR: 100.64.0.0/10
sshAccess:
- 0.0.0.0/0
- ::/0
subnets:
- cidr: 172.24.8.0/23
id: subnet-024f0deda82039fa4
name: ap-northeast-2a
type: Private
zone: ap-northeast-2a
- cidr: 172.24.10.0/23
id: subnet-050d942fa1c46540a
name: ap-northeast-2b
type: Private
zone: ap-northeast-2b
- cidr: 172.24.12.0/23
id: subnet-0946eb806af7377be
name: ap-northeast-2c
type: Private
zone: ap-northeast-2c
- cidr: 172.24.0.0/24
id: subnet-00c363356f133411d
name: utility-ap-northeast-2a
type: Utility
zone: ap-northeast-2a
- cidr: 172.24.1.0/24
id: subnet-07aa5e879a262014d
name: utility-ap-northeast-2b
type: Utility
zone: ap-northeast-2b
- cidr: 172.24.2.0/24
id: subnet-0073a61bc56a68a3e
name: utility-ap-northeast-2c
type: Utility
zone: ap-northeast-2c
topology:
dns:
type: Public
masters: private
nodes: private
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:50:52Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-a
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-a
role: Node
subnets:
- ap-northeast-2a
taints:
- prod/data-druid:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:50:52Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-b
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-b
role: Node
subnets:
- ap-northeast-2b
taints:
- prod/data-druid:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:50:52Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-c
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-c
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-druid:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:51:35Z"
generation: 3
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-a
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-kafka
kops.k8s.io/instancegroup: k8s-prod-data-kafka-a
role: Node
subnets:
- ap-northeast-2a
taints:
- prod/data-kafka:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:51:35Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-b
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-kafka
kops.k8s.io/instancegroup: k8s-prod-data-kafka-b
role: Node
subnets:
- ap-northeast-2b
taints:
- prod/data-kafka:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:51:35Z"
generation: 3
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-c
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-kafka
kops.k8s.io/instancegroup: k8s-prod-data-kafka-c
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-kafka:NoSchedule
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:51:49Z"
generation: 3
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-a
spec:
image: ami-0409b7ddbc59e3222
machineType: c5.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-prod-process-a
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2a
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:51:49Z"
generation: 3
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-b
spec:
image: ami-0409b7ddbc59e3222
machineType: c5.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-prod-process-b
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2b
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:51:49Z"
generation: 3
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-c
spec:
image: ami-0409b7ddbc59e3222
machineType: c5.large
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-prod-process-c
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2c
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-01T05:36:36Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: master-ap-northeast-2a
spec:
image: ami-0409b7ddbc59e3222
instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: c5a.large
maxSize: 1
minSize: 1
role: Master
subnets:
- ap-northeast-2a
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-01T05:36:36Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: master-ap-northeast-2b
spec:
image: ami-0409b7ddbc59e3222
instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: c5a.large
maxSize: 1
minSize: 1
role: Master
subnets:
- ap-northeast-2b
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-01T05:36:36Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: master-ap-northeast-2c
spec:
image: ami-0409b7ddbc59e3222
instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: c5a.large
maxSize: 1
minSize: 1
role: Master
subnets:
- ap-northeast-2c

View File

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

View File

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

View File

@@ -0,0 +1,99 @@
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
taints:
- prod/spot:NoSchedule
---
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
taints:
- prod/spot:NoSchedule
---
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
taints:
- prod/spot:NoSchedule
---
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
taints:
- prod/spot:NoSchedule

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,31 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:50:52Z"
generation: 7
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-c2
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.4xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/druid-size: large
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-c2
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-druid:NoSchedule

View File

@@ -0,0 +1,24 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-c3
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
datasaker/group2: stream-process
kops.k8s.io/instancegroup: k8s-prod-process-c3
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2c

View File

@@ -0,0 +1,25 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-rel-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: rel-process
kops.k8s.io/instancegroup: k8s-rel-process-a
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2a
taints:
- prod/rel-process:NoSchedule

View File

@@ -0,0 +1,25 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-rel-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: rel-process
kops.k8s.io/instancegroup: k8s-rel-process-a2
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2a
taints:
- prod/rel-process:NoSchedule

View File

@@ -0,0 +1,25 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-rel-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: rel-process
kops.k8s.io/instancegroup: k8s-rel-process-b
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2b
taints:
- prod/rel-process:NoSchedule

View File

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

View File

@@ -0,0 +1,27 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-12-02T09:21:48Z"
generation: 9
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-a
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.2xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
nodeLabels:
datasaker/druid-size: middle
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-a
role: Node
subnets:
- ap-northeast-2a
taints:
- prod/data-druid:NoSchedule

View File

@@ -0,0 +1,27 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-12-02T09:21:53Z"
generation: 8
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-b
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
nodeLabels:
datasaker/druid-size: small
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-b
role: Node
subnets:
- ap-northeast-2b
taints:
- prod/data-druid:NoSchedule

View File

@@ -0,0 +1,27 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:50:52Z"
generation: 8
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-c
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.4xlarge
manager: CloudGroup
maxSize: 2
minSize: 2
nodeLabels:
datasaker/druid-size: large
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-c
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-druid:NoSchedule

View File

@@ -0,0 +1,31 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-02T01:50:52Z"
generation: 8
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-c2
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.4xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/druid-size: large
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-c2
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-druid:NoSchedule

View File

@@ -0,0 +1,26 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-04-29T12:23:16Z"
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-middle
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.2xlarge
manager: CloudGroup
maxSize: 2
minSize: 2
nodeLabels:
datasaker/druid-size: middle
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-middle
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-druid:NoSchedule

View File

@@ -0,0 +1,27 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-04-29T12:23:24Z"
generation: 7
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-druid-small
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/druid-size: small
datasaker/group: data-druid
kops.k8s.io/instancegroup: k8s-prod-data-druid-small
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-druid:NoSchedule

View File

@@ -0,0 +1,26 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-12-02T06:42:32Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-es-a
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
nodeLabels:
datasaker/group: data-es
kops.k8s.io/instancegroup: k8s-prod-data-es-a
role: Node
subnets:
- ap-northeast-2a
taints:
- prod/data-es:NoSchedule

View File

@@ -0,0 +1,26 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-12-02T06:42:32Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-es-b
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
nodeLabels:
datasaker/group: data-es
kops.k8s.io/instancegroup: k8s-prod-data-es-b
role: Node
subnets:
- ap-northeast-2b
taints:
- prod/data-es:NoSchedule

View File

@@ -0,0 +1,25 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-12-02T06:42:33Z"
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-es-c
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-es
kops.k8s.io/instancegroup: k8s-prod-data-es-c
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-es:NoSchedule

View File

@@ -0,0 +1,25 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-04-29T12:23:39Z"
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-es-c2
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-es
kops.k8s.io/instancegroup: k8s-prod-data-es-c2
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-es:NoSchedule

View File

@@ -0,0 +1,25 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-04-29T12:23:44Z"
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-es-c3
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-es
kops.k8s.io/instancegroup: k8s-prod-data-es-c3
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-es:NoSchedule

View File

@@ -0,0 +1,26 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-12-02T09:26:35Z"
generation: 5
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-a
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
nodeLabels:
datasaker/group: data-kafka
kops.k8s.io/instancegroup: k8s-prod-data-kafka-a
role: Node
subnets:
- ap-northeast-2a
taints:
- prod/data-kafka:NoSchedule

View File

@@ -0,0 +1,26 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-12-02T09:26:40Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-b
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
nodeLabels:
datasaker/group: data-kafka
kops.k8s.io/instancegroup: k8s-prod-data-kafka-b
role: Node
subnets:
- ap-northeast-2b
taints:
- prod/data-kafka:NoSchedule

View File

@@ -0,0 +1,26 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-12-02T09:26:45Z"
generation: 4
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-c
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-kafka
kops.k8s.io/instancegroup: k8s-prod-data-kafka-c
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-kafka:NoSchedule

View File

@@ -0,0 +1,25 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-02-20T10:04:39Z"
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-c2
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-kafka
kops.k8s.io/instancegroup: k8s-prod-data-kafka-c2
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-kafka:NoSchedule

View File

@@ -0,0 +1,25 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-02-20T10:05:05Z"
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-data-kafka-c3
spec:
image: ami-0409b7ddbc59e3222
kubelet:
anonymousAuth: false
nodeLabels:
node-role.kubernetes.io/node: ""
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: data-kafka
kops.k8s.io/instancegroup: k8s-prod-data-kafka-c3
role: Node
subnets:
- ap-northeast-2c
taints:
- prod/data-kafka:NoSchedule

View File

@@ -0,0 +1,23 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-01-06T00:24:37Z"
generation: 3
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-a
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-prod-process-a
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2a
taints:
- prod/process:NoSchedule

View File

@@ -0,0 +1,23 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-01-06T00:24:42Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-a2
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-prod-process-a2
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2a
taints:
- prod/process:NoSchedule

View File

@@ -0,0 +1,23 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-01-06T00:24:48Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-b
spec:
image: ami-0409b7ddbc59e3222
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-prod-process-b
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2b
taints:
- prod/process:NoSchedule

View File

@@ -0,0 +1,23 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-01-06T00:24:53Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-c
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 2
minSize: 2
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-prod-process-c
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2c
taints:
- prod/process:NoSchedule

View File

@@ -0,0 +1,22 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-02-20T09:23:11Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-c2
spec:
image: ami-0409b7ddbc59e3222
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 3
minSize: 2
nodeLabels:
datasaker/group: process
datasaker/group2: stream-process
kops.k8s.io/instancegroup: k8s-prod-process-c2
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2c

View File

@@ -0,0 +1,26 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-04-04T08:25:12Z"
generation: 1
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-c3
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/group: process
datasaker/group2: stream-process
kops.k8s.io/instancegroup: k8s-prod-process-c3
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2c

View File

@@ -0,0 +1,23 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-04-29T12:23:54Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-prod-process-c4
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 1
minSize: 1
nodeLabels:
datasaker/group: process
kops.k8s.io/instancegroup: k8s-prod-process-c4
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2c
taints:
- prod/process:NoSchedule

View File

@@ -0,0 +1,27 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-01-06T00:25:00Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-rel-process-a
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/group: rel-process
kops.k8s.io/instancegroup: k8s-rel-process-a
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2a
taints:
- prod/rel-process:NoSchedule

View File

@@ -0,0 +1,27 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-01-06T00:25:05Z"
generation: 3
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-rel-process-a2
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/group: rel-process
kops.k8s.io/instancegroup: k8s-rel-process-a2
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2a
taints:
- prod/rel-process:NoSchedule

View File

@@ -0,0 +1,27 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-01-06T00:25:10Z"
generation: 3
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-rel-process-b
spec:
image: ami-0409b7ddbc59e3222
machineType: m6i.xlarge
manager: CloudGroup
maxSize: 0
minSize: 0
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/group: rel-process
kops.k8s.io/instancegroup: k8s-rel-process-b
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2b
taints:
- prod/rel-process:NoSchedule

View File

@@ -0,0 +1,27 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2023-01-06T00:25:15Z"
generation: 3
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: k8s-rel-process-c
spec:
image: ami-0409b7ddbc59e3222
machineType: m5a.xlarge
manager: CloudGroup
maxSize: 4
minSize: 4
mixedInstancesPolicy:
onDemandAboveBase: 0
onDemandBase: 0
spotAllocationStrategy: capacity-optimized
nodeLabels:
datasaker/group: rel-process
kops.k8s.io/instancegroup: k8s-rel-process-c
role: Node
rootVolumeSize: 100
subnets:
- ap-northeast-2c
taints:
- prod/rel-process:NoSchedule

View File

@@ -0,0 +1,19 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-01T05:36:36Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: master-ap-northeast-2a
spec:
image: ami-0409b7ddbc59e3222
instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: c5a.large
maxSize: 1
minSize: 1
role: Master
subnets:
- ap-northeast-2a

View File

@@ -0,0 +1,19 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-01T05:36:36Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: master-ap-northeast-2b
spec:
image: ami-0409b7ddbc59e3222
instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: c5a.large
maxSize: 1
minSize: 1
role: Master
subnets:
- ap-northeast-2b

View File

@@ -0,0 +1,19 @@
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2022-11-01T05:36:36Z"
generation: 2
labels:
kops.k8s.io/cluster: k8s-prod.datasaker.io
name: master-ap-northeast-2c
spec:
image: ami-0409b7ddbc59e3222
instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: c5a.large
maxSize: 1
minSize: 1
role: Master
subnets:
- ap-northeast-2c

View File

@@ -0,0 +1,99 @@
apiVersion: kops.k8s.io/v1alpha2
kind: Cluster
metadata:
creationTimestamp: "2022-11-01T05:36:36Z"
generation: 5
name: k8s-prod.datasaker.io
spec:
api:
loadBalancer:
class: Network
type: Public
authorization:
rbac: {}
channel: stable
cloudProvider: aws
configBase: s3://clusters.prod.datasaker.io/k8s-prod.datasaker.io
containerRuntime: containerd
etcdClusters:
- cpuRequest: 200m
etcdMembers:
- encryptedVolume: true
instanceGroup: master-ap-northeast-2a
name: a
- encryptedVolume: true
instanceGroup: master-ap-northeast-2b
name: b
- encryptedVolume: true
instanceGroup: master-ap-northeast-2c
name: c
memoryRequest: 100Mi
name: main
- cpuRequest: 100m
etcdMembers:
- encryptedVolume: true
instanceGroup: master-ap-northeast-2a
name: a
- encryptedVolume: true
instanceGroup: master-ap-northeast-2b
name: b
- encryptedVolume: true
instanceGroup: master-ap-northeast-2c
name: c
memoryRequest: 100Mi
name: events
iam:
allowContainerRegistry: true
legacy: false
kubelet:
anonymousAuth: false
kubernetesApiAccess:
- 0.0.0.0/0
- ::/0
kubernetesVersion: 1.25.2
masterInternalName: api.internal.k8s-prod.datasaker.io
masterPublicName: api.k8s-prod.datasaker.io
networkCIDR: 172.24.0.0/19
networkID: vpc-00ba2b0e9ad59f0ed
networking:
calico: {}
nonMasqueradeCIDR: 100.64.0.0/10
sshAccess:
- 0.0.0.0/0
- ::/0
subnets:
- cidr: 172.24.8.0/23
id: subnet-024f0deda82039fa4
name: ap-northeast-2a
type: Private
zone: ap-northeast-2a
- cidr: 172.24.10.0/23
id: subnet-050d942fa1c46540a
name: ap-northeast-2b
type: Private
zone: ap-northeast-2b
- cidr: 172.24.12.0/23
id: subnet-0946eb806af7377be
name: ap-northeast-2c
type: Private
zone: ap-northeast-2c
- cidr: 172.24.0.0/24
id: subnet-00c363356f133411d
name: utility-ap-northeast-2a
type: Utility
zone: ap-northeast-2a
- cidr: 172.24.1.0/24
id: subnet-07aa5e879a262014d
name: utility-ap-northeast-2b
type: Utility
zone: ap-northeast-2b
- cidr: 172.24.2.0/24
id: subnet-0073a61bc56a68a3e
name: utility-ap-northeast-2c
type: Utility
zone: ap-northeast-2c
topology:
dns:
type: Public
masters: private
nodes: private

View File

@@ -0,0 +1,41 @@
#!/bin/bash
export KOPS_STATE_STORE=s3://clusters.prod.datasaker.io
export KOPS_CLUSTER_NAME=k8s-prod.datasaker.io
export VPC_ID="vpc-00ba2b0e9ad59f0ed"
export Network_CIDR="172.24.0.0/19"
export AMI_Image="ami-0abb33b73a78cae31"
export Private_Subnet_ID_1="subnet-024f0deda82039fa4"
export Private_Subnet_ID_2="subnet-050d942fa1c46540a"
export Private_Subnet_ID_3="subnet-0946eb806af7377be"
export Public_Subnet_ID_1="subnet-00c363356f133411d"
export Public_Subnet_ID_2="subnet-07aa5e879a262014d"
export 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 --admin --kubeconfig $HOME/.kube/config --name=${KOPS_CLUSTER_NAME} --state=${KOPS_STATE_STORE}"
echo ${kubeconfig}
echo
echo
echo ${kops_cmd}

View File

@@ -0,0 +1,102 @@
if [ -z "$BASH_VERSION" ]; then exec bash "$0" "$@"; exit; fi
#----------------------------------------------------------------------------------------------------------------
# 변수 선언
echo_line="=========================================================================="
search_tag="spot"
stop_function="spot_stop"
start_function="spot_start"
#----------------------------------------------------------------------------------------------------------------
# aws 인스턴스 조회
_get_aws_status (){
aws_query="Reservations[].Instances[].[ InstanceId, Tags[?Key=='Name'].Value|[0] ]"
aws_filter="Name=instance-state-name,Values=running"
current_ec2_num=`aws ec2 describe-instances --query "${aws_query}" --filter ${aws_filter} --output text | grep ${search_tag} | wc -l`
}
#----------------------------------------------------------------------------------------------------------------
# log 출력
_get_time_log (){
datetime=`date +'%Y-%m-%d %H:%M:%S'`
string=$1
echo "[${datetime}] ${string}"
}
#----------------------------------------------------------------------------------------------------------------
# aws lambda 실행 후 인스턴스 조회하여 성공/실패 여부 체크
_main (){
lambda_function=$1
echo ${echo_line}
if [[ ${lambda_fuction} == *"stop"* ]]; then
what_func='stop'
else
what_func='start'
fi
_get_time_log "[INFO] aws lambda ${lambda_function} start"
aws lambda invoke --function-name ${lambda_function} --cli-binary-format raw-in-base64-out --payload '{ "key": "value" }' response.json > /tmp/aws_func_result
#echo "aws lambda invoke --function-name ${lambda_function} --cli-binary-format raw-in-base64-out --payload '{ "key": "value" }' response.json"
succ_flag=0
while read line
do
if [[ $line == *"200"* ]]; then
succ_flag=1
_get_time_log "[INFO] aws lambda ${lambda_function} success!"
break
else
succ_flag=0
fi
done < /tmp/aws_func_result
if [[ ${succ_flag} == 1 ]]; then
aws lambda invoke --function-name ${lambda_function} out --log-type Tail --query 'LogResult' --output text | base64 -d > /tmp/aws_func_output
if [[ ${what_func} == 'stop' ]]; then
final_ec2_num=0
else
final_ec2_num=`grep "Starting" /tmp/aws_func_output | wc -l`
fi
num=0
while true
do
_get_aws_status
num=`echo $(( $num + 1 ))`
if [[ ${current_ec2_num} == ${final_ec2_num} ]]; then
_get_time_log "[INFO] aws ${search_tag} instance number: ${final_ec2_num} check success!"
break
elif [[ ${num} == 30 ]]; then
_get_time_log "[Error] time out!"
break
else
_get_time_log "[Retry: ${num}] aws ${search_tag} instance number: ${final_ec2_num} checking..."
fi
sleep 5
done
else
echo ${echo_line}
_get_time_log "[Error] aws lambda ${lambda_function} failed!"
exit
fi
echo ${echo_line}
#---------------
}
#----------------------------------------------------------------------------------------------------------------
# 실행
_main ${stop_function}
_main ${start_function}
#----------------------------------------------------------------------------------------------------------------
# 임시 파일 삭제
unlink out
unlink response.json
unlink /tmp/aws_func_output
unlink /tmp/aws_func_result
#----------------------------------------------------------------------------------------------------------------

View File

@@ -0,0 +1,100 @@
if [ -z "$BASH_VERSION" ]; then exec bash "$0" "$@"; exit; fi
#----------------------------------------------------------------------------------------------------------------
# 변수 선언
echo_line="=========================================================================="
search_tag="spot"
stop_function="spot_stop"
start_function="spot_start"
#----------------------------------------------------------------------------------------------------------------
# aws 인스턴스 조회
_get_aws_status (){
aws_query="Reservations[].Instances[].[ InstanceId, Tags[?Key=='Name'].Value|[0] ]"
aws_filter="Name=instance-state-name,Values=running"
current_ec2_num=`aws ec2 describe-instances --query "${aws_query}" --filter ${aws_filter} --output text | grep ${search_tag} | wc -l`
}
#----------------------------------------------------------------------------------------------------------------
# log 출력
_get_time_log (){
datetime=`date +'%Y-%m-%d %H:%M:%S'`
string=$1
echo "[${datetime}] ${string}"
}
#----------------------------------------------------------------------------------------------------------------
# aws lambda 실행 후 인스턴스 조회하여 성공/실패 여부 체크
_main (){
lambda_function=$1
echo ${echo_line}
if [[ ${lambda_fuction} == *"stop"* ]]; then
what_func='stop'
else
what_func='start'
fi
_get_time_log "[INFO] aws lambda ${lambda_function} start"
aws lambda invoke --function-name ${lambda_function} --cli-binary-format raw-in-base64-out --payload '{ "key": "value" }' response.json > /tmp/aws_func_result
#echo "aws lambda invoke --function-name ${lambda_function} --cli-binary-format raw-in-base64-out --payload '{ "key": "value" }' response.json"
succ_flag=0
while read line
do
if [[ $line == *"200"* ]]; then
succ_flag=1
_get_time_log "[INFO] aws lambda ${lambda_function} success!"
break
else
succ_flag=0
fi
done < /tmp/aws_func_result
if [[ ${succ_flag} == 1 ]]; then
aws lambda invoke --function-name ${lambda_function} out --log-type Tail --query 'LogResult' --output text | base64 -d > /tmp/aws_func_output
if [[ ${what_func} == 'stop' ]]; then
final_ec2_num=0
else
final_ec2_num=`grep "Starting" /tmp/aws_func_output | wc -l`
fi
num=0
while true
do
_get_aws_status
num=`echo $(( $num + 1 ))`
if [[ ${current_ec2_num} == ${final_ec2_num} ]]; then
_get_time_log "[INFO] aws ${search_tag} instance number: ${final_ec2_num} check success!"
break
elif [[ ${num} == 30 ]]; then
_get_time_log "[Error] time out!"
break
else
_get_time_log "[Retry: ${num}] aws ${search_tag} instance number: ${final_ec2_num} checking..."
fi
sleep 5
done
else
echo ${echo_line}
_get_time_log "[Error] aws lambda ${lambda_function} failed!"
exit
fi
echo ${echo_line}
#---------------
}
#----------------------------------------------------------------------------------------------------------------
# 실행
_main ${stop_function}
#----------------------------------------------------------------------------------------------------------------
# 임시 파일 삭제
unlink out
unlink response.json
unlink /tmp/aws_func_output
unlink /tmp/aws_func_result
#----------------------------------------------------------------------------------------------------------------

View File

@@ -0,0 +1,25 @@
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.
provider "registry.terraform.io/hashicorp/aws" {
version = "4.45.0"
constraints = ">= 4.0.0"
hashes = [
"h1:J/XjRsEJIpxi+mczXQfnH3nvfACv3LRDtrthQJCIibY=",
"zh:22da03786f25658a000d1bcc28c780816a97e7e8a1f59fff6eee7d452830e95e",
"zh:2543be56eee0491eb0c79ca1c901dcbf71da26625961fe719f088263fef062f4",
"zh:31a1da1e3beedfd88c3c152ab505bdcf330427f26b75835885526f7bb75c4857",
"zh:4409afe50f225659d5f378fe9303a45052953a1219f7f1acc82b69d07528b7ba",
"zh:4dadec3b783f10d2f8eef3dab5e817baae9c932a7967d45fe3d77fcbcbdaa438",
"zh:55be80d6e24828dcb0db7a0226fb275415c1c0ad63dd2f33b76f3ac0cd64e6a6",
"zh:560bba29efb7dbe0bfcc937369d88817aa31a8d18aa25395b1afe2576cb04495",
"zh:6caacc202e83438ff63d5d96733e283f44e349668d96c6b1c5c7df463ebf85cc",
"zh:6cabab83a61d5b4ac801c5a5d57556a0e76ec8dc879d28cf777509db5f6a657e",
"zh:96c4528bf9c16edb8841b68479ec51c499ed7fa680462fa28caeab3fc168bb43",
"zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425",
"zh:cdc0b47ff840d708fbf75abfe86d23dc7f1dffdd233a771822a17b5c637f4769",
"zh:d9a9583e82776d1ebb6cf6c3d47acc2b302f8778f470ceffe7579dc794eb1feb",
"zh:e9367ca9f6f6418a23cdf8d01f29dd0c4f614e78499f52a767a422e4c334b915",
"zh:f6d355a2fb3bcebb597f68bbca4fa2aaa364efd29240236c582375e219d77656",
]
}

View File

@@ -0,0 +1,138 @@
#!/bin/bash
#----------------------------------------------------------------------------------------------------------------
# BASH SHELL로 실행
if [ -z "$BASH_VERSION" ]; then exec bash "$0" "$@"; exit; fi
#----------------------------------------------------------------------------------------------------------------
# 변수 선언
echo_line="======================================================"
kops_env_file="prod_kops_env.sh"
var_file="99_variables.tf"
search_tag="masters.k8s-prod"
#----------------------------------------------------------------------------------------------------------------
# 파일에서 기존에 선언되어 있는 ID값 가져오는 함수
_get_var_id (){
tf_variable=$1
ret_id=`grep ${tf_variable} ${var_file_path} -A 1 | tail -1 | awk -F= '{print $2}' | tr -d ' ' | tr -d "\""`
if [ -z ${ret_id} ]; then echo "[Error] ${tf_variable} : Not found variable default (${var_file_path})"; exit; fi
#if [ -z ${ret_id} ]; then echo "[Error] ${tf_variable} : Not found variable default"; fi
}
#----------------------------------------------------------------------------------------------------------------
# 파일의 내용을 변경하는 함수 (before_id -> after_id)
_change_default (){
before_id=$1
after_id=$2
#echo "[${before_id}]"
#echo "[${after_id}]"
echo ${echo_line}
echo "[INFO] ${tf_variable}"
if [ "${before_id}" != "${after_id}" ]
then
if [ "${after_id}" == "" ];
then
echo "[Error] # ${tf_variable} value is null"
else
echo "[Change] # ${before_id} --> ${after_id}"
sed -i "s/${before_id}/${after_id}/g" ${var_file_path}
#echo "sed -i 's/${before_id}/${after_id}/g' ${var_file_path}"
fi
else
echo "[PASS] # ${ret_id}"
fi
}
#----------------------------------------------------------------------------------------------------------------
# master 별 ID 확인 후 변수에 저장하는 함수
_get_aws_ec2_id (){
ec2_id=$1
tag_name=$2
if [ `echo ${tag_name} | grep 2a | wc -l` == 1 ]
then
master_2a=${ec2_id}
elif [ `echo ${tag_name} | grep 2b | wc -l` == 1 ]
then
master_2b=${ec2_id}
elif [ `echo ${tag_name} | grep 2c | wc -l` == 1 ]
then
master_2c=${ec2_id}
fi
}
#----------------------------------------------------------------------------------------------------------------
# path 확인
current_path=`pwd`
kops_env_path=`find ${current_path} -name ${kops_env_file}`
var_file_path=`find ${current_path} -name ${var_file}`
#----------------------------------------------------------------------------------------------------------------
# kops 환경변수 적용
source ${kops_env_path} > /dev/null 2>/dev/null
if [ -z "${VPC_ID}" ]; then
source ../${kops_env_file}
fi
#----------------------------------------------------------------------------------------------------------------
# aws에 인스턴스 ID 조회
aws_query="Reservations[].Instances[].[ InstanceId, Tags[?Key=='Name'].Value|[0] ]"
aws_filter="Name=instance-state-name,Values=running"
aws ec2 describe-instances --query "${aws_query}" --filter ${aws_filter} --output text | grep ${search_tag} > tmp_cluster
#echo "aws ec2 describe-instances --query \"${aws_query}\" --filter \"${aws_filter}\" --output text | grep ${search_tag}"
while read line
do
_get_aws_ec2_id ${line}
done < tmp_cluster
unlink tmp_cluster
#----------------------------------------------------------------------------------------------------------------
# 기존에 파일에 선언되어 있는 ID 값을 조회해서 변경된 ID값이 있으면 변경 진행
_get_var_id master-2a
before_master_2a=${ret_id}
_change_default ${before_master_2a} ${master_2a}
_get_var_id master-2b
before_master_2b=${ret_id}
_change_default ${before_master_2b} ${master_2b}
_get_var_id master-2c
before_master_2c=${ret_id}
_change_default ${before_master_2c} ${master_2c}
_get_var_id VPC_ID
before_VPC_ID=${ret_id}
_change_default ${before_VPC_ID} ${VPC_ID}
_get_var_id Network_CIDR
before_Network_CIDR=${ret_id}
_change_default ${before_Network_CIDR} ${Network_CIDR}
_get_var_id Private_Subnet_ID_1
before_Private_Subnet_ID_1=${ret_id}
_change_default ${before_Private_Subnet_ID_1} ${Private_Subnet_ID_1}
_get_var_id Private_Subnet_ID_2
before_Private_Subnet_ID_2=${ret_id}
_change_default ${before_Private_Subnet_ID_2} ${Private_Subnet_ID_2}
_get_var_id Private_Subnet_ID_3
before_Private_Subnet_ID_3=${ret_id}
_change_default ${before_Private_Subnet_ID_3} ${Private_Subnet_ID_3}
_get_var_id Public_Subnet_ID_1
before_Public_Subnet_ID_1=${ret_id}
_change_default ${before_Public_Subnet_ID_1} ${Public_Subnet_ID_1}
_get_var_id Public_Subnet_ID_2
before_Public_Subnet_ID_2=${ret_id}
_change_default ${before_Public_Subnet_ID_2} ${Public_Subnet_ID_2}
_get_var_id Public_Subnet_ID_3
before_Public_Subnet_ID_3=${ret_id}
_change_default ${before_Public_Subnet_ID_3} ${Public_Subnet_ID_3}
echo ${echo_line}

View File

@@ -0,0 +1,17 @@
terraform {
required_version = ">= 0.15.0"
required_providers {
aws = {
"configuration_aliases" = [aws.files]
"source" = "hashicorp/aws"
"version" = ">= 4.0.0"
}
}
}
provider "aws" {
alias = "files"
region = "ap-northeast-2"
}

View File

@@ -0,0 +1,19 @@
resource "aws_alb" "nlb-prod-kr-ingress" {
name = "nlb-prod-kr-ingress"
internal = false
load_balancer_type = "network"
subnet_mapping {
subnet_id = "${var.Public_Subnet_ID_1}"
}
subnet_mapping {
subnet_id = "${var.Public_Subnet_ID_2}"
}
subnet_mapping {
subnet_id = "${var.Public_Subnet_ID_3}"
}
enable_deletion_protection = false
tags = {
Environment = "nlb-prod-kr-ingress"
}
}

View File

@@ -0,0 +1,161 @@
resource "aws_alb_listener" "nlb-listener-http-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "443"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-30001.arn
}
}
resource "aws_alb_listener" "nlb-listener-tls-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "80"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-30000.arn
}
}
resource "aws_alb_listener" "nlb-listener-31300-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "31300"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-31300.arn
}
}
resource "aws_alb_listener" "nlb-listener-31301-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "31301"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-31301.arn
}
}
resource "aws_alb_listener" "nlb-listener-31302-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "31302"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-31302.arn
}
}
resource "aws_alb_listener" "nlb-listener-31303-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "31303"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-31303.arn
}
}
resource "aws_alb_listener" "nlb-listener-31304-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "31304"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-31304.arn
}
}
resource "aws_alb_listener" "nlb-listener-31305-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "31305"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-31305.arn
}
}
resource "aws_alb_listener" "nlb-listener-31310-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "31310"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-31310.arn
}
}
resource "aws_alb_listener" "nlb-listener-31311-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "31311"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-31311.arn
}
}
resource "aws_alb_listener" "nlb-listener-31312-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "31312"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-31312.arn
}
}
resource "aws_alb_listener" "nlb-listener-31313-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "31313"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-31313.arn
}
}
resource "aws_alb_listener" "nlb-listener-31314-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "31314"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-31314.arn
}
}
resource "aws_alb_listener" "nlb-listener-31315-prod" {
load_balancer_arn = aws_alb.nlb-prod-kr-ingress.arn
port = "31315"
protocol = "TCP"
default_action {
type = "forward"
target_group_arn = aws_alb_target_group.tg-prod-kr-tcp-31315.arn
}
}

View File

@@ -0,0 +1,498 @@
resource "aws_alb_target_group" "tg-prod-kr-tcp-30000" {
name = "tg-prod-kr-tcp-30000"
port = 30000
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-http-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-30000.arn}"
target_id = "${var.master-2a}"
port = 30000
}
resource "aws_alb_target_group_attachment" "prod-master-http-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-30000.arn}"
target_id = "${var.master-2b}"
port = 30000
}
resource "aws_alb_target_group_attachment" "prod-master-http-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-30000.arn}"
target_id = "${var.master-2c}"
port = 30000
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-30001" {
name = "tg-prod-kr-tcp-30001"
port = 30001
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-30001-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-30001.arn}"
target_id = "${var.master-2a}"
port = 30001
}
resource "aws_alb_target_group_attachment" "prod-master-tls-30001-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-30001.arn}"
target_id = "${var.master-2b}"
port = 30001
}
resource "aws_alb_target_group_attachment" "prod-master-tls-30001-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-30001.arn}"
target_id = "${var.master-2c}"
port = 30001
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-31300" {
name = "tg-prod-kr-tcp-31300"
port = 31300
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31300-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31300.arn}"
target_id = "${var.master-2a}"
port = 31300
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31300-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31300.arn}"
target_id = "${var.master-2b}"
port = 31300
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31300-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31300.arn}"
target_id = "${var.master-2c}"
port = 31300
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-31301" {
name = "tg-prod-kr-tcp-31301"
port = 31301
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31301-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31301.arn}"
target_id = "${var.master-2a}"
port = 31301
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31301-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31301.arn}"
target_id = "${var.master-2b}"
port = 31301
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31301-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31301.arn}"
target_id = "${var.master-2c}"
port = 31301
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-31302" {
name = "tg-prod-kr-tcp-31302"
port = 31302
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31302-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31302.arn}"
target_id = "${var.master-2a}"
port = 31302
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31302-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31302.arn}"
target_id = "${var.master-2b}"
port = 31302
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31302-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31302.arn}"
target_id = "${var.master-2c}"
port = 31302
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-31303" {
name = "tg-prod-kr-tcp-31303"
port = 31303
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31303-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31303.arn}"
target_id = "${var.master-2a}"
port = 31303
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31303-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31303.arn}"
target_id = "${var.master-2b}"
port = 31303
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31303-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31303.arn}"
target_id = "${var.master-2c}"
port = 31303
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-31304" {
name = "tg-prod-kr-tcp-31304"
port = 31304
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31304-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31304.arn}"
target_id = "${var.master-2a}"
port = 31304
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31304-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31304.arn}"
target_id = "${var.master-2b}"
port = 31304
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31304-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31304.arn}"
target_id = "${var.master-2c}"
port = 31304
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-31305" {
name = "tg-prod-kr-tcp-31305"
port = 31305
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31305-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31305.arn}"
target_id = "${var.master-2a}"
port = 31305
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31305-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31305.arn}"
target_id = "${var.master-2b}"
port = 31305
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31305-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31305.arn}"
target_id = "${var.master-2c}"
port = 31305
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-31310" {
name = "tg-prod-kr-tcp-31310"
port = 31310
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31310-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31310.arn}"
target_id = "${var.master-2a}"
port = 31310
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31310-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31310.arn}"
target_id = "${var.master-2b}"
port = 31310
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31310-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31310.arn}"
target_id = "${var.master-2c}"
port = 31310
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-31311" {
name = "tg-prod-kr-tcp-31311"
port = 31311
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31311-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31311.arn}"
target_id = "${var.master-2a}"
port = 31311
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31311-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31311.arn}"
target_id = "${var.master-2b}"
port = 31311
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31311-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31311.arn}"
target_id = "${var.master-2c}"
port = 31311
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-31312" {
name = "tg-prod-kr-tcp-31312"
port = 31312
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31312-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31312.arn}"
target_id = "${var.master-2a}"
port = 31312
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31312-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31312.arn}"
target_id = "${var.master-2b}"
port = 31312
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31312-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31312.arn}"
target_id = "${var.master-2c}"
port = 31312
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-31313" {
name = "tg-prod-kr-tcp-31313"
port = 31313
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31313-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31313.arn}"
target_id = "${var.master-2a}"
port = 31313
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31313-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31313.arn}"
target_id = "${var.master-2b}"
port = 31313
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31313-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31313.arn}"
target_id = "${var.master-2c}"
port = 31313
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-31314" {
name = "tg-prod-kr-tcp-31314"
port = 31314
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31314-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31314.arn}"
target_id = "${var.master-2a}"
port = 31314
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31314-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31314.arn}"
target_id = "${var.master-2b}"
port = 31314
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31314-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31314.arn}"
target_id = "${var.master-2c}"
port = 31314
}
###############################################################################
resource "aws_alb_target_group" "tg-prod-kr-tcp-31315" {
name = "tg-prod-kr-tcp-31315"
port = 31315
protocol = "TCP"
vpc_id = "${var.VPC_ID}"
health_check {
interval = 30
protocol = "TCP"
healthy_threshold = 3
unhealthy_threshold = 3
}
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31315-2a" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31315.arn}"
target_id = "${var.master-2a}"
port = 31315
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31315-2b" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31315.arn}"
target_id = "${var.master-2b}"
port = 31315
}
resource "aws_alb_target_group_attachment" "prod-master-tls-31315-2c" {
target_group_arn = "${aws_alb_target_group.tg-prod-kr-tcp-31315.arn}"
target_id = "${var.master-2c}"
port = 31315
}
###############################################################################

View File

@@ -0,0 +1,84 @@
resource "aws_route53_record" "ui" {
zone_id = "${var.datasaker-io}"
name = "app.kr.datasaker.io"
type = "A"
alias {
name = aws_alb.nlb-prod-kr-ingress.dns_name
zone_id = aws_alb.nlb-prod-kr-ingress.zone_id
evaluate_target_health = true
}
}
resource "aws_route53_record" "krakend" {
zone_id = "${var.datasaker-io}"
name = "api.kr.datasaker.io"
type = "A"
alias {
name = aws_alb.nlb-prod-kr-ingress.dns_name
zone_id = aws_alb.nlb-prod-kr-ingress.zone_id
evaluate_target_health = true
}
}
resource "aws_route53_record" "keycloak" {
zone_id = "${var.datasaker-io}"
name = "auth.kr.datasaker.io"
type = "A"
alias {
name = aws_alb.nlb-prod-kr-ingress.dns_name
zone_id = aws_alb.nlb-prod-kr-ingress.zone_id
evaluate_target_health = true
}
}
resource "aws_route53_record" "datagate" {
zone_id = "${var.datasaker-io}"
name = "gate.kr.datasaker.io"
type = "A"
alias {
name = aws_alb.nlb-prod-kr-ingress.dns_name
zone_id = aws_alb.nlb-prod-kr-ingress.zone_id
evaluate_target_health = true
}
}
resource "aws_route53_record" "release_ui" {
zone_id = "${var.datasaker-io}"
name = "app.rel.kr.datasaker.io"
type = "A"
alias {
name = aws_alb.nlb-prod-kr-ingress.dns_name
zone_id = aws_alb.nlb-prod-kr-ingress.zone_id
evaluate_target_health = true
}
}
resource "aws_route53_record" "release_krakend" {
zone_id = "${var.datasaker-io}"
name = "api.rel.kr.datasaker.io"
type = "A"
alias {
name = aws_alb.nlb-prod-kr-ingress.dns_name
zone_id = aws_alb.nlb-prod-kr-ingress.zone_id
evaluate_target_health = true
}
}
resource "aws_route53_record" "release_datagate" {
zone_id = "${var.datasaker-io}"
name = "gate.rel.kr.datasaker.io"
type = "A"
alias {
name = aws_alb.nlb-prod-kr-ingress.dns_name
zone_id = aws_alb.nlb-prod-kr-ingress.zone_id
evaluate_target_health = true
}
}
resource "aws_route53_record" "druid_route" {
zone_id = "${var.datasaker-io}"
name = "druid2.kr.datasaker.io"
type = "A"
alias {
name = aws_alb.nlb-prod-kr-ingress.dns_name
zone_id = aws_alb.nlb-prod-kr-ingress.zone_id
evaluate_target_health = true
}
}

View File

@@ -0,0 +1,79 @@
#---------------------------------------------------------------#
# target group port list
variable "port_list" {
type = list(string)
default = ["80","443","31300","31301","31302","31303","31304"]
}
#---------------------------------------------------------------#
# LB 구성 후 target group 매칭 시 필요한 인스턴스 ID
variable "master-2a" {
default = "i-0d3e86c594670c179"
}
variable "master-2b" {
default = "i-095d625023c4d8d7e"
}
variable "master-2c" {
default = "i-015532d6fb24f2754"
}
#---------------------------------------------------------------#
# Network ID
variable "VPC_ID" {
default = "vpc-00ba2b0e9ad59f0ed"
}
variable "Network_CIDR" {
default = "172.24.0.0/19"
}
variable "Private_Subnet_ID_1" {
default = "subnet-024f0deda82039fa4"
}
variable "Private_Subnet_ID_2" {
default = "subnet-050d942fa1c46540a"
}
variable "Private_Subnet_ID_3" {
default = "subnet-0946eb806af7377be"
}
variable "Public_Subnet_ID_1" {
default = "subnet-00c363356f133411d"
}
variable "Public_Subnet_ID_2" {
default = "subnet-07aa5e879a262014d"
}
variable "Public_Subnet_ID_3" {
default = "subnet-0073a61bc56a68a3e"
}
#---------------------------------------------------------------#
# Route53 ID
variable "datasaker-ai" {
default = "Z06479772L265DHVJW30F"
}
variable "datasaker-com" {
default = "Z0218361HIZ723RV9EX4"
}
variable "datasaker-io" {
default = "Z072735718G25WNVKU834"
}
variable "datasaker-co-kr" {
default = "Z06528191YJHOMRBYTXXT"
}
variable "datasaker-net" {
default = "Z072720912UR7SY03M9F8"
}

View File

@@ -0,0 +1,458 @@
{
"version": 4,
"terraform_version": "1.3.7",
"serial": 16,
"lineage": "1b9efcaa-3e3f-62c1-8ac7-da423fc74255",
"outputs": {},
"resources": [
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-31300-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-31301-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-31302-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-31303-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-31304-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-31305-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-31310-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-31311-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-31312-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-31313-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-31314-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-31315-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-http-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_listener",
"name": "nlb-listener-tls-prod",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-http-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-http-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-http-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-30001-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-30001-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-30001-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31300-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31300-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31300-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31301-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31301-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31301-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31302-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31302-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31302-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31303-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31303-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31303-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31304-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31304-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31304-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31305-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31305-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31305-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31310-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31310-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31310-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31311-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31311-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31311-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31312-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31312-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31312-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31313-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31313-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31313-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31314-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31314-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31314-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31315-2a",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31315-2b",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_alb_target_group_attachment",
"name": "prod-master-tls-31315-2c",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_route53_record",
"name": "datagate",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_route53_record",
"name": "druid_route",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_route53_record",
"name": "keycloak",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_route53_record",
"name": "krakend",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_route53_record",
"name": "release_datagate",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_route53_record",
"name": "release_krakend",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_route53_record",
"name": "release_ui",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
},
{
"mode": "managed",
"type": "aws_route53_record",
"name": "ui",
"provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
"instances": []
}
],
"check_results": null
}