1) Look into my case.
Nếu EKS báo cáo rằng đã hết IP để cấp cho pod
Bạn check lại thì VPC có cidr = “10.195.88.0/21”
Bạn kiểm tra lại các subnet đang được sử dụng:
azs = ["us-west-2c", "us-west-2b", "us-west-2a"] private_subnets = ["10.195.89.0/24", "10.195.90.0/24", "10.195.91.0/24"] public_subnets = ["10.195.92.0/24", "10.195.93.0/24", "10.195.94.0/24"]
Bạn lên chia subnet online và kiểm tra.
vậy đang còn 2 subnet chưa đươc sử dụng là: 10.195.88.0/24 và 192.168.95.0/24
Hiện tại eks của mình đang nằm trong public subnet.
và mình cần add 2 subnet kia vào trong public subnet.
Và các subnet mới phải được associate with this “route table public.”
2) Do It
2.1) Define terraform configuration to create a new public subnet.
Đầu tiên là file: c1-versions.tf
provider "aws" { region = "us-west-2" }
Tiếp theo là tạo public subnet và kiên kêt với vpc va route table có sẵn
data "aws_vpc" "selected" { tags = { Name = "dev-nimtechnology-engine" # Replace with your VPC's tag name } } resource "aws_subnet" "public_subnet_2a_extended" { availability_zone = "us-west-2a" cidr_block = "10.195.95.0/24" vpc_id = data.aws_vpc.selected.id map_public_ip_on_launch = true tags = { Name = "dev-nimtechnology-engine-public-us-west-2a-extended" "kubernetes.io/cluster/dev-nimtechnology-engines" = "shared" "kubernetes.io/cluster/dev-nimtechnology-service" = "shared" "kubernetes.io/role/elb" = "1" } } data "aws_route_table" "selected" { tags = { Name = "dev-nimtechnology-engine-public" # Replace with your Route tables's tag name } } resource "aws_route_table_association" "public_subnet" { subnet_id = aws_subnet.public_subnet_2a_extended.id route_table_id = data.aws_route_table.selected.id }
Sau khi bạn run terraform apply thì chúng ta sẽ có 1 subnet mới. và route ngon
Tiếp đến bạn add new subnet đó trong Auto scaling Group
và cuối cùng là làm mới instance và kiểm tra kết quả