Create a Kubernetes cluster on AWS with Kublr


To deploy a cluster in your AWS account with Kublr, you need to create an AWS policy and an AWS API Access Key. Please refer to Register AWS Policy, create User and Create API Credentials.


This document describes the steps necessary to show how Kublr works by creating a cluster in an Amazon Web Services infrastructure and deploying a simple application (WordPress). It contains the following steps:

  1. Deploy Kublr Cluster to AWS infrastructure.
  2. Open deployed Kublr Cluster.
  3. Configure kubectl.
  4. Use Helm to deploy WordPress to the cluster.

Connect Kublr and create AWS Cluster

Connect AWS and Kublr

  1. Log into Kublr using your credentials.

  2. On the left menu, click Credentials.

  3. Click Add Credentials. Add Credentials

  4. Set Credentials Type to “AWS Credentials”.

  5. Enter Credentials Name.

  6. Enter Access Key from AWS Management Console / IAM (see above).

  7. Enter Secret Key from AWS Management Console / IAM (see above).

  8. Select AWS partitions. You can select one of the following:

    • “aws” for AWS standard partition
    • “aws-cn” for AWS China partition
    • “aws-us-gov” for AWS GovCloud (US) partition
    • enter a custom partition (this may be used for example to work with AWS US top secret region)

    Note If you do not select any value, the “aws” standard partition is used.

  9. Click Save Credentials. The “Credentials have been successfully created.” popup is displayed.

  10. To verify if credentials are valid and ready to be used, mouse over the created credentials and click the displayed Test button. Verify Credentials Verification success popup is displayed. Verify Credentials Success

  11. Click Ok.

Create a Kubernetes Cluster in Kublr

Powered by Kublr, Vanilla Kubernetes Cluster does not include any advanced Kublr features, suitable for running workloads.

To add a new cluster:

  1. On the left menu, click Clusters.

  2. Click Add Cluster. Add New Cluster The Select Intallation Type dialog is displayed.

  3. In the Select Intallation Type dialog, click Cluster.

  4. Click Continue Setup. Installation Type - Cluster The ADD CLUSTER dialog is displayed.

  5. In the ADD CLUSTER dialog, set Provider to “Amazon Web Services”.

  6. From the Credentials list, select previosly created AWS credentials.

  7. Specify Cluster Name.

  8. Set:

    • Region - it is possible to select from the list (with filtering “as you type”) (e.g., “us-gov-west-1” for AWS GovCloud (US), entering the values manually is not supported in the UI, although you can specify any string for the region in the custome cluster spec)
    • Kubernetes Version AWS-Add Cluster-General Settings
  9. Click the INSTANCES step.

  10. Specify the parameters of the master node(s) of your cluster as described below.

  11. Select Instance Type from the list.

  12. From the Masters list, select the number of master or management nodes in correspondence with the selected Instance Type.

  13. From the Operating System list, select the host OS for virtual machines in the cluster. AWS-Add Cluster-Master Configuration

  14. Optionally, select Public SSH Key from the list.

  15. Scroll to the Instance Group section (default name group1).

  16. Specify the parameters of the work node(s) in your group as described below.

  17. Select Instance Type from the list.

  18. To select the number of work nodes in a group, do one of the following:

    • In the Nodes field, set the number of work nodes.
    • Select the Auto-Scaling option, and then set the Min Nodes and Max Nodes limitations.
  19. From the Operating System list, select the host OS for virtual machines in the cluster.

  20. If necessary, set your own name for the instance group.

    Note You can also clone or delete the current instance group, or add another one. Instance Group-Operations

  21. Optionally, click the FEATURES step.

  22. If necessary, add features to your cluster, specifying parameters under:

    • Ingress Controller
    • Self-Hosted Logging
    • Self-Hosted Monitoring AWS-Add Cluster-Features Configuration
  23. Click the REVIEW & CREATE step.

  24. Review your cluster parameters.

  25. At the bottom of the dialog, click CONFIRM AND INSTALL.

    A notification is displayed “Your cluster is being created. It might take a few minutes.”

  26. In the notification window, click OK.

    Your new cluster page is displayed on the Events tab showing the cluster creation progress.


Install and Configure kubectl

For more details, please refer to the official Kubernetes documentation

For Mac users:

curl -LO$(curl -s
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

For Windows users:

  1. Download
  2. Include the path with the kubectl executable to PATH environment variable. More details:
  3. See additional information here

Copy KubeConfig File

To retrieve the config from Kublr:

  1. Click on cluster in the cluster list to access the cluster details page.
  2. On the overview tab, download the config file.

For Mac users:

mkdir ~/.kube
cp ~/Downloads/config.yaml ~/.kube/config

For Windows users:

cd %HOME%
mkdir .kube
copy %HOME%\Downloads\config.yaml .kube\config

Check that kubectl is working and using the correct config file:

kubectl config view
kubectl cluster-info


Install and Use Helm to Deploy WordPress to Your Cluster

Install helm Click here for detailed guidelines.

For Mac users:

curl >
chmod +x
./ --version v2.9.1

For Windows users:

  1. Download helm version 2.9.1 from here:
  2. Extract to the directory where kubectl is saved

Initiate and test Helm installation:

helm init

Install WordPress

NOTE: It may take a few minutes for the LoadBalancer IP to become available.

helm install stable/wordpress --name wordpress

For Mac users:

export SERVICE_IP=$(kubectl get svc --namespace default wordpress-wordpress -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
echo http://$SERVICE_IP/admin
echo Username: user
echo Password: $(kubectl get secret --namespace default wordpress-wordpress -o jsonpath='{.data.wordpress-password}' | base64 --decode)

Install helm output Open the browser and navigate to the URL from console output.

For Windows users:

  1. Run the following commands to get hostname and password:
kubectl get svc --namespace default wordpress-wordpress -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
kubectl get secret --namespace default wordpress-wordpress -o jsonpath='{.data.wordpress-password}
  1. Navigate to http://%hostname%/admin, where %hostname% is the hostname you got from the kubectl
  2. Decode admin password with

Congrats! You just deployed your first app in a Kubernetes cluster with Kublr.