Skip to content

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 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

Part 3: Day-0 - Install OpenShift cluster in existing VPC with Local Zones

Part 4: Day-0 demo - Installing OpenShift

  • Day-0 installation
    • oc aws-zone plugin 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

asciicast

# 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

References