Skip to content

Deploy Kubernetes with kops

kops is one of the most popular open-source tools that enable you to deploy, manage, and upgrade a Kubernetes cluster in the cloud. By using kops you can quickly spin-up a highly-available Kubernetes cluster in a supported cloud platform.


Before you can deploy Pachyderm on Amazon AWS with kops, you must have the following components configured:

Configure kops

kops, which stands for Kubernetes Operations, is an open-source tool that deploys a production-grade Kubernetes cluster on a cloud environment of choice. You need to have access to the AWS Management console to add an Identity and Access Management (IAM) user for kops.

For more information about kops, see kops AWS documentation. These instructions provide more details about configuring additional cluster parameters, such as enabling version control or encryption on your S3 bucket, and so on.

To configure kops, complete the following steps:

  1. In the IAM console or by using the command line, create a kops group with the following permissions:

  2. AmazonEC2FullAccess

  3. AmazonRoute53FullAccess
  4. AmazonS3FullAccess
  5. IAMFullAccess
  6. AmazonVPCFullAccess

  7. Add a user that will create a Kubernetes cluster to that group.

  8. In the list of users, select that user and navigate to the Security credentials tab.
  9. Create an access key and save the access and secret keys in a location on your computer.
  10. Configure an AWS CLI client:
aws configure
  1. Use the access and secret keys to configure the AWSL client.

  2. Create an S3 bucket for your cluster:

aws s3api create-bucket --bucket <name> --region <region>


aws s3api create-bucket --bucket test-pachyderm --region us-east-1

System Response:

     "Location": "/test-pachyderm"
  1. Optionally, configure DNS as described in Configure DNS. In this example, a gossip-based cluster that ends with k8s.local is deployed.

  2. Export the name of your cluster and the S3 bucket for the Kubernetes cluster as variables.


export NAME=test-pachyderm.k8s.local
export KOPS_STATE_STORE=s3://test-pachyderm
  1. Create the cluster configuration:
kops create cluster --zones <region> ${NAME}
  1. Optionally, edit your cluster:
kops edit cluster ${NAME}
  1. Build and deploy the cluster:
kops update cluster ${NAME} --yes

The deployment might take some time.

  1. Run kops cluster validate periodically to monitor cluster deployment. When kops finishes deploying the cluster, you should see the output similar to the following:
kops validate cluster

System Response:

Using cluster from kubectl context: test-pachyderm.k8s.local

Validating cluster svetkars.k8s.local

master-us-west-2a Master   m3.medium   1   1   us-west-2a
nodes             Node     t2.medium   2   2   us-west-2a

NODE                                                   STATUS
NAME                                           ROLE    READY    node    True      master  True    node    True
  1. Proceed to Deploy Pachyderm on AWS.

Last update: April 5, 2021
Does this page need fixing? Edit me on GitHub