terraform-openstack-k3os-cluster

Ampere Computing

This repo will be archived in 30 days from 11/27. This is in an effort to keep a clean and timely Github presence for Ampere computing. As a result of the archiving any issues, pull requests, code, labels, milestones, projects, wiki, releases, commits, tags, branches, reactions, code scanning alerts, comments and permissions become read-only.

Please plan accordingly or reach out to repo owner with concerns.

Thank you.

-Ampere Computing

terraform-openstack-k3os-cluster

License

Description

This Terraform will build a multinode (ARM64/AMD64) k3OS cluster with a single master and N+1 minions. Minions join the Master node upon boot. The IP address of the master node is rendered dynamically in the cloud-config template used to launch the Minons. Minion count is configurable via the minion_count variable located in variables.tf

Quickstart


git clone https://github.com/amperecomputing/terraform-openstack-k3os-cluster
cd terraform-openstack-k3os-cluster
terraform init && terraform plan && terraform apply -auto-approve

k3OS Packer Image Template

git clone https://github.com/rancher/k3os
cd k3os/package/packer/openstack
source /etc/kolla/admin-openrc.sh
export OS_SOURCE_IMAGE=`openstack image list | grep 'ubuntu-18.04'| awk '{print $2}'`
export OS_NETWORKS_ID=`openstack network list | grep 'demo-net'| awk '{print $2}'`
export OS_FLOATING_IP_POOL='public1'
packer validate template-arm64.json
packer build template-arm64.json

Notes

watch -n1 kubectl get nodes -o wide