A Kubernetes Operator built using the Operator Framework for Go. The Operator provides a way to easily install and manage an OpenStack Ironic installation on Kubernetes. This Operator was developed using RDO containers for openStack.
The operator is intended to be deployed via OLM Operator Lifecycle Manager
The Operator creates a custom Ironic resource that can be used to create Ironic API and conductor instances within the cluster. Example CR to create an Ironic in your cluster:
apiVersion: ironic.openstack.org/v1beta1
kind: Ironic
metadata:
name: ironic
namespace: openstack
spec:
serviceUser: ironic
customServiceConfig: |
[DEFAULT]
debug = true
databaseInstance: openstack
databaseUser: ironic
ironicAPI:
replicas: 1
containerImage: quay.io/tripleomastercentos9/openstack-ironic-api:current-tripleo
ironicConductor:
replicas: 1
containerImage: quay.io/tripleomastercentos9/openstack-ironic-conductor:current-tripleo
pxeContainerImage: quay.io/tripleomastercentos9/openstack-ironic-pxe:current-tripleo
secret: ironic-secret
The current design takes care of the following:
- Creates ironic config files via config maps
- Creates an ironic deployment with the specified replicas
- Creates an ironic service
- Ironic bootstrap, and db sync are executed automatically on install and updates
- ConfigMap is recreated on any changes Ironic object changes and the Deployment updated.