How to install Charmed Kubeflow on AWS with CloudFormation

This document shows how to get an out-of-the-box Charmed Kubeflow solution on AWS.

To achieve that you will need to configure the AWS EC2 instance.

Please bear in mind that, once the configuration is set, you will have to wait for the Charmed Kubeflow Appliance to be deployed. Depending on your network, it can take anywhere between 30 and 60 minutes.


  1. Install Kubeflow with AWS CloudFormation template
  2. Fill in the form
  3. Allow SSH to the instance
  4. Access the dashboard

Install Kubeflow with AWS CloudFormation template

Clone this repository for the cloudFormation source code.

Log in to the AWS console.

Head to the cloudFormation service. Click on create stack > with new resources (standard) option.

Choose Template is ready > Upload a template file > Choose File.

After the template file is loaded, click Next. Now you will be presented with following form:

Fill in the form

By default the template provides reasonable defaults but you still need to fill the KeyPair and Password field (don’t forget to fill in the stack name in the first line).

See more: The AWS Kubeflow CloudFormation form

After filling the Parameters, click Next. Now you should see the following screen:

You can leave the options as they are and click Next. Now you should see the following (the image shows just the bottom part of the screen):

At the very end, there is a section that starts with The following resource(s) require capabilities. Tick the “I acknowledge…” box. Then click Submit. Your form is now submitted.

Wait until the stack goes to the green CREATE_COMPLETE status.


Allow SSH to the instance

By default, the ssh port for the security group connected with the EC2 instance is disabled (for security reasons). In order to ssh to the instance you need to enable it as follows:

Go to EC2 service and locate the instance.

Click on the security group connected with the instance:

Create a new “Inbound rule” for ssh (click on Edit inbound rules) and add a rule as below, then click on Save rules:

Now you should be able to ssh with the key you provided in the form.

$ ssh -i <key-pair>.pem -D 9999 ubuntu@<ec2-ip>

Waiting for deployment

After the appliance deployment you need to wait until Kubeflow is ready. The whole setup takes around 40 minutes. You can ssh into the instance and run:

juju status --watch 5s

Wait until all listed units are in Active state.

Access the dashboard

See: Install > Access the dashboard

Please note that an internet connection is required in order to deploy the product. The following components are downloaded as part of the bundle: Notebook, Katib, KServe, Pipeline, Tensorboard. This AMI requires an ongoing internet connection, in order to have all components of the bundle correctly. The dashboard access needs network proxy changes. The bundle components are subject to changes at any update.

Last updated 2 months ago.