Terraform Provider

Follow these steps to create a Kubernetes cluster using the Platform9 terraform provider.

What you’ll need

Log in to your Platform9 Account

Log in to your Platform9 account. Once you sign in you’ll be directed to your account's dashboard. This is a summary of all Kubernetes clusters, nodes, pods, and cloud accounts associated with your Platform9 account. If this is a brand new account, there may not be anything associated… yet!

Platform9 – UI - Dashboard
Logged In

Create a terraform file

Create a file named p9-simple-cluster.tf and paste the below contents within that file.

locals { p9_tenant_uuid = "" aws_account_key = "" aws_account_secret = "" aws_keypair_name = "" tags = { source: "terraform/platform9/pf9" provider_version: "0.1.6" } } terraform { required_providers { pf9 = { source = "platform9/pf9" version = "0.1.6" } } } provider "pf9" {} resource "pf9_aws_cloud_provider" "My-AWS-Provider" { name = "My-AWS-Provider" type = "aws" key = local.aws_account_key secret = local.aws_account_secret project_uuid = local.p9_tenant_uuid } resource "pf9_cluster" "simple-aws-cluster" { /*P9 Account Values*/ project_uuid = local.p9_tenant_uuid cloud_provider_uuid = "" /*Cluster Config Values*/ name = "simple-aws-cluster" containers_cidr = "10.20.0.0/16" services_cidr = "10.21.0.0/16" num_masters = 1 num_workers = 1 /*AWS Specific Values*/ ami = "ubuntu" azs = ["us-east-1b"] region = "us-east-1" worker_flavor = "t2.medium" master_flavor = "t2.medium" ssh_key = local.aws_keypair_name tags = local.tags }

In the “locals” area of the file fill in the relevant information:



p9_tenant_uuid

Your Platform9 project UUID. Learn how to find this value, here.

aws_account_key

Your AWS account info.

aws_account_secret

Your AWS account secret.

aws_keypair_name

The name of a saved AWS keypair.



Save the file and note its path

Create cloud provider and cluster using Terraform

Navigate to the directory where you saved the tf file, in your terminal

Run the following command using the terraform cli

terraform init
Info

Terraform will find the .tf file and initialize the directory for management of the provider.

Once initialized, start the Terraform pf9 provider with the following command

terraform apply
Info

Terraform will run through validations of your values and begin creating the cloud provider and then the cluster.

To follow the progress of your cluster creation go back to the Platform9 dashboard and navigate to “Infrastructure”, and then “Node Health”. Initially, the screen will be:


As the deployment progresses, the screen will update with steps completed and a final message of "Connected" and "Healthy".



Cluster Created

Navigate back to your dashboard to see a summary of the new management plane.

Removing the new cluster using Terraform

  1. Using your terminal run the following command:

terraform destroy

This will remove the cluster completely.

Next Steps


  Last updated by Anagha Pamidi