Launching kops cluster on an existing subnet

Written on September 12, 2018

La experiencia reciente me ha dicho que la mejor forma de usar Kubernetes en AWS es utilizando kops en lugar de EKS. El problema es que la instalación por defecto asume que el cluster lo levantaremos en una subnet (y por lo tanto en una VPC) que no existen.

Pero qué pasa cuando si existen? Cuando ya tenemos una VPC con sus respectivas subnets, todo listo para usar?

Le estuve dando una vuelta, porque estaba seguro que habría una forma. Y la encontré! Lo que hay que hacer es lo siguiente:

  • Crear el cluster
  • Editar la configuración del cluster
  • Agregar algunos parámetros a spec.subnets.cidr: el CIDR y el ID de la subnet

Lo que llevado a comandos se traduce en:

kops create cluster --zones <zone> --name $NAME --vpc $VPC_ID
kops edit cluster $NAME

Y agregar lo siguiente:

spec:
(...)
  subnets:
  - cidr: 10.240.0.0/24 (nuestra subnet)
   id: subnet-<id>
   name: us-east-1a
   type: Public
   zone: us-east-1a

Luego de eso, un kops update cluster $NAME --yes y listo!