Demo: OpenShift in the edge with AWS Local Zones
This is the reference for a demo of deploying an OpenShift cluster on the edge of AWS Cloud with Local Zones. Summary of the Epic SPLAT-365.
Table Of Contents:
- Epic Overview
- Part 1: AWS Local Zones overview
- Part 2: Day-2 - Extend OpenShift compute nodes to Local Zones
- Part 3: Day-0 - Install OpenShift cluster in existing VPC with Local Zones
- Part 4: Day-0 demo - Installing OpenShift
- Next Steps
- References
Epic overview and goals
- Understand how we can use Local Zones in OCP
- Understand the benefits
- Provide the steps
- Create on the Product documentation how to install the OCP cluster in existing VPC with Local Zone subnets
- Eventually public a blog in the Hybrid Cloud with the results
Part 1: AWS Local Zones overview
- Product landing page
- Limitations- Resources are Limited and more expensive
- Current limitation- EBS type should be gp2
- Instance Type
- NLB is not supported
- Nat Gateway is not supported
 
 
- Example Architecture
- Local Zones are designed specially to compute nodes- Using existing VPC only
- Current options to install OCP:- Day-2
- Day-0
 
 
Part 2: Day-2 - Extend OpenShift compute nodes to Local Zones
- 
Summary of tasks: 
- 
Steps to use compute nodes in Local Zones (Day-2): - Opt in the Availability Zone Group
- Create the subnet
- Associate the Route Table
- Choose the correct gateway (IGW or NatGW*)
- Create the MachineSet for nodes in the Local Zone- Creating the edgelabel
- Set the node as unscheduled
 
- Creating the 
- Create the machine
 
- Benchmark results review
Part 3: Day-0 - Install OpenShift cluster in existing VPC with Local Zones
- 
Summary of tasks: 
- 
Steps to install a cluster in the existing network with compute nodes in Local Zones (Day-0) - Create VPC and resources
- Create the Local Zone subnet- tag as unmanaged
 
- Create the install-config.yaml specifying the subnets to install a cluster
- Create the MachineSet manifest on installer install dir- Creating the edgelabel
- Set the node as unscheduled
 
- Creating the 
- Create a cluster
 
Part 4: Day-0 demo - Installing OpenShift
- Day-0 installation- oc aws-zoneplugin used automates the install steps
- play demo
 
- AWS Console:- Zone Groups configurations
- VPC and network resources
- Local Zone subnet- Subnet tag unmanaged
- public route table
 
- Compute resources
 
Demo script: quick install using plugin
# install the plugin
curl -s https://raw.githubusercontent.com/mtulio/mtulio.labs/article-ocp-aws-lz-plugin/labs/oc-plugins/oc-aws_zone -o ${HOME}/bin/oc-aws_zone
chmod u+x ${HOME}/bin/oc-aws_zone
# read the help
oc aws-zone
# create a cluster
CLUSTER_NAME=lzdemo \
    VERSION=4.11.2 \
    CLUSTER_REGION=us-east-1 \
    ZONE_GROUP_NAME=us-east-1-nyc-1a \
    VPC_CIDR='10.0.0.0/16' \
    ZONE_CIDR='10.0.128.0/20' \
    BASE_DOMAIN='devcluster.openshift.com' \
    INSTANCE_TYPE=c5d.2xlarge \
    PULL_SECRET_FILE=${HOME}/.openshift/pull-secret-latest.json \
    SSH_PUB_KEY_FILE=${HOME}/.ssh/id_rsa.pub \
    oc aws-zone create-all
export KUBECONFIG=${PWD}/auth/kubeconfig
# review the installation
oc get clusteroperators
# check the machine
oc get machines -n openshift-machine-api
# checke the edge node
oc get nodes -l node-role.kubernetes.io/edge=''
# destroy the cluster
oc aws-zone destroy-all
Next steps
- Public the steps of Installing a cluster in existing VPC with Local Zone subnets in the Product Documentation
- Installer supports it natively:
- Current issues:- Ingress subnet discovery