Prevent IP collision between ELB and VMs

This creates a dedicated subnet for the ELB so its randomly assigned IPs do
not collide with the static IPs that this guide assigns to the EC2 instances.
pull/130/head
Philip Garrett 2017-02-25 16:09:43 -05:00
parent d53aca31a5
commit 54f5696aeb
1 changed files with 22 additions and 1 deletions

View File

@ -78,6 +78,21 @@ aws ec2 create-tags \
--tags Key=Name,Value=kubernetes --tags Key=Name,Value=kubernetes
``` ```
Create a subnet for the ELB, so its IP address doesn't collide with the VMs.
```
ELB_SUBNET_ID=$(aws ec2 create-subnet \
--vpc-id ${VPC_ID} \
--cidr-block 10.240.1.0/24 | \
jq -r '.Subnet.SubnetId')
```
```
aws ec2 create-tags \
--resources ${ELB_SUBNET_ID} \
--tags Key=Name,Value=kubernetes-elb
```
### Internet Gateways ### Internet Gateways
``` ```
@ -117,6 +132,12 @@ aws ec2 associate-route-table \
--subnet-id ${SUBNET_ID} --subnet-id ${SUBNET_ID}
``` ```
```
aws ec2 associate-route-table \
--route-table-id ${ROUTE_TABLE_ID} \
--subnet-id ${ELB_SUBNET_ID}
```
``` ```
aws ec2 create-route \ aws ec2 create-route \
--route-table-id ${ROUTE_TABLE_ID} \ --route-table-id ${ROUTE_TABLE_ID} \
@ -185,7 +206,7 @@ An ELB will be used to load balance traffic across the Kubernetes control plane.
aws elb create-load-balancer \ aws elb create-load-balancer \
--load-balancer-name kubernetes \ --load-balancer-name kubernetes \
--listeners "Protocol=TCP,LoadBalancerPort=6443,InstanceProtocol=TCP,InstancePort=6443" \ --listeners "Protocol=TCP,LoadBalancerPort=6443,InstanceProtocol=TCP,InstancePort=6443" \
--subnets ${SUBNET_ID} \ --subnets ${ELB_SUBNET_ID} \
--security-groups ${SECURITY_GROUP_ID} --security-groups ${SECURITY_GROUP_ID}
``` ```