Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Terraform Openstack Kubernetes Deployment using Fedora and Atomic

This Terraform deployment will allow you to deploy Kubernetes on agentless Fedora/Atomic hosts and very little prep-work.

Devices Created with this Terraform deployment:


  • 1 Fedora Host - Kubemaster (
  • 5 Atomic Hosts - Kubenode01-05 (


  • terraform-key


  • CIDR -

Security Rules:

  • kubelab-default - ICMP (, SSH (any)
  • kubelab-kubernetes - 2379 (any), 4001 (any), 8001 (any), 8080 (any)
  • kubelab-kube-mgnt - 8000 (, 9090 (
  • kubelab-nodeport-tests - 31234, 31235, 31248, 31249, 31250


  • TCP Port 9090 will present you with the Fedora Kubemaster Cockpit interface. Use this for management. User/fedora Pass/changeme
  • TCP Port 8000 is a container I started so you can review any of the information reported into etcd (via etcd-browser).
  • Guestbook is included under kubelab/jinkit-demo/kube/demo/guestbook. You can simply run ./ to bring up the working guestbook over TCP port 31234 (using nodeport).
  • Most recent Kubernetes repo is downloaded under /home/fedora/github/ so that you can run other tests.


Read through the file to configure the environment to your specific needs. In reality, that is all that's needed as far as configuring Terraform, unless you want to change the firewall rules etc. In that case, use this repo as a template for your own needs.

Step 1: Create an ssh key-pair called "terraform/". Be aware that changing this may require you to modify the Terraform deployment a little.

Step 2: Install Terraform from

Step 3: Install the openstack command-line clients as outlined on Openstack's Documentation.

Step 4: Download your Openstack file as directed from Openstack's Documentation. Download it to the root of this Terraform repository, and run it (./

Step 5: Edit the file located at the root of this repository to match your environment. While you're doing this, download the required images as instructed in Step 6.

Step 6: Download the two images required for this deployment.

Load these images into your Openstack Environment via Glance.

Step 7:

  • Run terraform plan: Plan out your deployment and review any changes before deployment.
  • Run terraform apply: To run the deployment (it will take a couple of minutes to complete).
  • Run terraform destroy: To collapes (destroy) the environment after your testing.

Notes: Once the lab build is completed, you will be presented with the host IP addresses (from your configured floating range).


Please let me know if you run into any issues, or have ideas on how to improve this. This lab will become a quick-deployment testing playground, and I will add other testing methods over time.



A Terraform Kubernetes Openstack testing lab using Fedora (master) and Atomic (nodes)






No releases published


No packages published