Network Topologies in kOps

Each of the supported topologies are listed below, with an example on how to deploy them.

AWS

kOps supports the following topologies on AWS

on Public and Private subnets in AWS

Notes on subnets

Public Subnet
Private Subnet

If a subnet doesn’t have a route to the Internet gateway, the subnet is known as a private subnet.

Private topologies will have public access via the Kubernetes API and an (optional) SSH bastion instance.

Defining a topology on create

To specify a topology use the or -t flag as in :

In the case of a private cluster you must also set a networking option other than kubenet. Currently the supported options are:

  • weave
  • calico
  • cni

To change the ELB that fronts the API server from Internet facing to Internal only there are a few steps to accomplish

The AWS ELB does not support changing from internet facing to Internal. However what we can do is have kOps recreate the ELB for us.

  • Edit the cluster: kops edit cluster $NAME
  • Change the api load balancer type from: Public to Internal… should look like this when done:

    1. loadBalancer:
    2. type: Internal
  • Quit the edit

  • Run the update command to check the config:
  • BEFORE DOING the same command with the --yes option go into the AWS console and DELETE the api ELB
  • Now run: kops update cluster $NAME --yes