From 781f0ebd658e8a3d5be811ddb9846ede18efb4eb Mon Sep 17 00:00:00 2001 From: havelight-ee Date: Wed, 28 Dec 2022 13:50:46 +0900 Subject: [PATCH] spot update --- aws_kubernetes/aws_kops_prod/prod_kops_env.sh | 2 +- .../spot_node_yaml/std/process-a.yaml | 16 +- .../spot_node_yaml/std/process-a2.yaml | 14 +- .../spot_node_yaml/std/process-b.yaml | 15 +- .../spot_node_yaml/std/process-c.yaml | 18 +- .../terraform/03_nlb_listener.tf | 81 ++++++ .../terraform/04_nlb_target_group.tf | 251 ++++++++++++++++++ .../aws_kops_prod/terraform/99_variables.tf | 6 +- 8 files changed, 374 insertions(+), 29 deletions(-) diff --git a/aws_kubernetes/aws_kops_prod/prod_kops_env.sh b/aws_kubernetes/aws_kops_prod/prod_kops_env.sh index dcb7caf..78ecc64 100755 --- a/aws_kubernetes/aws_kops_prod/prod_kops_env.sh +++ b/aws_kubernetes/aws_kops_prod/prod_kops_env.sh @@ -3,7 +3,7 @@ export KOPS_STATE_STORE=s3://clusters.prod.datasaker.io export KOPS_CLUSTER_NAME=k8s-prod.datasaker.io -export VPC_ID="vpc-00ba2b0e9ad59f0ed " +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" diff --git a/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-a.yaml b/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-a.yaml index 12d9c20..8f20adf 100644 --- a/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-a.yaml +++ b/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-a.yaml @@ -1,10 +1,10 @@ ---- apiVersion: kops.k8s.io/v1alpha2 kind: InstanceGroup metadata: + creationTimestamp: "2022-12-13T05:21:10Z" labels: - kops.k8s.io/cluster: k8s-spot.datasaker.io - name: k8s-spot-process-a + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-rel-process-a spec: image: ami-0409b7ddbc59e3222 machineType: m5a.xlarge @@ -16,9 +16,11 @@ spec: onDemandBase: 0 spotAllocationStrategy: capacity-optimized nodeLabels: - datasaker/group: process - kops.k8s.io/instancegroup: k8s-spot-process-a - rootVolumeSize: 100 - role: Node,Process-a + datasaker/group: rel-process + kops.k8s.io/instancegroup: k8s-rel-process-a + role: Node + rootVolumeSize: 100 subnets: - ap-northeast-2a + taints: + - prod/release:NoSchedule diff --git a/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-a2.yaml b/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-a2.yaml index 646800f..9cd9617 100644 --- a/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-a2.yaml +++ b/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-a2.yaml @@ -1,10 +1,10 @@ ---- apiVersion: kops.k8s.io/v1alpha2 kind: InstanceGroup metadata: + creationTimestamp: "2022-12-13T05:21:10Z" labels: - kops.k8s.io/cluster: k8s-spot.datasaker.io - name: k8s-spot-process-a2 + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-rel-process-a2 spec: image: ami-0409b7ddbc59e3222 machineType: m5a.xlarge @@ -16,9 +16,11 @@ spec: onDemandBase: 0 spotAllocationStrategy: capacity-optimized nodeLabels: - datasaker/group: process - kops.k8s.io/instancegroup: k8s-spot-process-a2 - rootVolumeSize: 100 + datasaker/group: rel-process + kops.k8s.io/instancegroup: k8s-rel-process-a2 role: Node + rootVolumeSize: 100 subnets: - ap-northeast-2a + taints: + - prod/release:NoSchedule diff --git a/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-b.yaml b/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-b.yaml index 7b0dc15..f516edb 100644 --- a/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-b.yaml +++ b/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-b.yaml @@ -1,10 +1,10 @@ ---- apiVersion: kops.k8s.io/v1alpha2 kind: InstanceGroup metadata: + creationTimestamp: "2022-12-13T05:21:10Z" labels: - kops.k8s.io/cluster: k8s-spot.datasaker.io - name: k8s-spot-process-b + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-rel-process-b spec: image: ami-0409b7ddbc59e3222 machineType: m6i.xlarge @@ -16,9 +16,12 @@ spec: onDemandBase: 0 spotAllocationStrategy: capacity-optimized nodeLabels: - datasaker/group: process - kops.k8s.io/instancegroup: k8s-spot-process-b - rootVolumeSize: 100 + datasaker/group: rel-process + kops.k8s.io/instancegroup: k8s-rel-process-b role: Node + rootVolumeSize: 100 subnets: - ap-northeast-2b + taints: + - prod/release:NoSchedule + diff --git a/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-c.yaml b/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-c.yaml index 5724d54..8f69e4b 100644 --- a/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-c.yaml +++ b/aws_kubernetes/aws_kops_prod/spot_node_yaml/std/process-c.yaml @@ -1,20 +1,26 @@ ---- apiVersion: kops.k8s.io/v1alpha2 kind: InstanceGroup metadata: + creationTimestamp: "2022-12-13T05:21:10Z" labels: - kops.k8s.io/cluster: k8s-spot.datasaker.io - name: k8s-spot-process-c + 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: process - kops.k8s.io/instancegroup: k8s-spot-process-c - rootVolumeSize: 100 + datasaker/group: rel-process + kops.k8s.io/instancegroup: k8s-rel-process-c role: Node + rootVolumeSize: 100 subnets: - ap-northeast-2c + taints: + - prod/release:NoSchedule diff --git a/aws_kubernetes/aws_kops_prod/terraform/03_nlb_listener.tf b/aws_kubernetes/aws_kops_prod/terraform/03_nlb_listener.tf index 706bbe8..b5fd927 100644 --- a/aws_kubernetes/aws_kops_prod/terraform/03_nlb_listener.tf +++ b/aws_kubernetes/aws_kops_prod/terraform/03_nlb_listener.tf @@ -77,4 +77,85 @@ resource "aws_alb_listener" "nlb-listener-31304-prod" { } } +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 + } +} diff --git a/aws_kubernetes/aws_kops_prod/terraform/04_nlb_target_group.tf b/aws_kubernetes/aws_kops_prod/terraform/04_nlb_target_group.tf index 6a8e273..0a371d4 100644 --- a/aws_kubernetes/aws_kops_prod/terraform/04_nlb_target_group.tf +++ b/aws_kubernetes/aws_kops_prod/terraform/04_nlb_target_group.tf @@ -245,3 +245,254 @@ resource "aws_alb_target_group_attachment" "prod-master-tls-31304-2c" { } ############################################################################### + +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 +} + +############################################################################### + diff --git a/aws_kubernetes/aws_kops_prod/terraform/99_variables.tf b/aws_kubernetes/aws_kops_prod/terraform/99_variables.tf index e7197ae..10dc1ed 100644 --- a/aws_kubernetes/aws_kops_prod/terraform/99_variables.tf +++ b/aws_kubernetes/aws_kops_prod/terraform/99_variables.tf @@ -8,15 +8,15 @@ variable "port_list" { #---------------------------------------------------------------# # LB 구성 후 target group 매칭 시 필요한 인스턴스 ID variable "master-2a" { - default = "i-06743c6115368596c" + default = "i-0e740951af7f1af18" } variable "master-2b" { - default = "i-01b5f7d2d7382274d" + default = "i-04699e92fe5063435" } variable "master-2c" { - default = "i-0739c2d32a88b7962" + default = "i-05258725ca60459fe" } #---------------------------------------------------------------#