Overview

Openstack-Helm is AT&T leaded project to deploy Openstack on top of Kubernetes using Helm, it offers version control and k8s advantages which includes HA, PaaS, RollingUpdate, etc. It’s an advanced version of Kolla.

Github Projects Explorer

cni/bin	  #CNI resource pool
openstack-helm-infra	#helm charts for infra (k8s)
openstack-helm	  #helm charts for openstack components
vancouver-workshop    #Single node example

Folder Explorer

Under openstack-helm/tools/deployment/ you’ll see:

armada	#Openstack-Helm centralized Yaml providing life-cycle hooks
baremetal	#Install Openstack-Helm on Baremetal K8s
common	 #Generic for all scenario
developer	#Multiple k8s scenario for single node deployment
multinode	#Prod ready multinode

Install example single node:

Kubernetes and Common Setup

$ cd /opt/openstack-helm
$ ./tools/deployment/developer/common/000-install-packages.sh
#install dependency packages
$ ./tools/deployment/developer/common/010-deploy-k8s.sh
#use openstack-helm-infra install k8s
$ ./tools/deployment/developer/common/020-setup-client.sh
#install python clients and setup clouds.yaml for sdk

Deploy OpenStack With Ceph

$ cd /opt/openstack-helm
$ ./tools/deployment/developer/ceph/030-ingress.sh
#deploy k8s ingress chart with new values and default openstack ingress chart
$ ./tools/deployment/developer/ceph/040-ceph.sh
$ ./tools/deployment/developer/ceph/045-ceph-ns-activate.sh
$ ./tools/deployment/developer/ceph/050-mariadb.sh
$ ./tools/deployment/developer/ceph/060-rabbitmq.sh
$ ./tools/deployment/developer/ceph/070-memcached.sh
$ ./tools/deployment/developer/ceph/080-keystone.sh
$ ./tools/deployment/developer/ceph/090-heat.sh
$ ./tools/deployment/developer/ceph/100-horizon.sh
$ ./tools/deployment/developer/ceph/110-ceph-radosgateway.sh
$ ./tools/deployment/developer/ceph/120-glance.sh
$ ./tools/deployment/developer/ceph/130-cinder.sh
$ ./tools/deployment/developer/ceph/140-openvswitch.sh
$ ./tools/deployment/developer/ceph/150-libvirt.sh
$ ./tools/deployment/developer/ceph/160-compute-kit.sh
$ ./tools/deployment/developer/ceph/170-setup-gateway.sh

Exercise the Cloud

$ cd /opt/openstack-helm
$ ./tools/deployment/developer/ceph/900-use-it.sh  #create some dummy resources

Few Hints

set -xe: exit if any error, and show trace