openstack-ironic/ironic/console/container/ironic-console-pod.yaml.template
Steve Baker 28168c4168 Add a kubernetes provider for console container
A new ``ironic.console.container`` provider is added called
``kubernetes`` which allows Ironic conductor to manage console
containers as Kubernetes pods. The kubernetes resources are defined in
the template file configured by ``[vnc]kubernetes_container_template``
and the default template creates one secret to store the app info, and
one pod to run the console container.

It is expected that Ironic conductor is deployed inside the kubernetes
cluster. The associated service account will need roles and bindings
which allow it to manage the required resources (with the default
template this will be secrets and pods).

This provider holds the assumption that ironic-novnc will be deployed in
the same kubernetes cluster, and so can connect to the VNC servers via
the pod's ``status.hostIP``.

Assisted-By: gemini
Change-Id: Ib91f7d7c15be51d68ebf886e44efaf191a14437b
Signed-off-by: Steve Baker <sbaker@redhat.com>
2025-12-04 11:25:05 -08:00

45 lines
No EOL
961 B
Text

apiVersion: v1
kind: Secret
metadata:
name: "ironic-console-{{ uuid }}"
namespace: openstack
labels:
app: ironic
component: ironic-console
conductor: "{{ conductor }}"
stringData:
app-info: '{{ app_info }}'
---
apiVersion: v1
kind: Pod
metadata:
name: "ironic-console-{{ uuid }}"
namespace: openstack
labels:
app: ironic
component: ironic-console
conductor: "{{ conductor }}"
spec:
containers:
- name: x11vnc
image: "{{ image }}"
imagePullPolicy: Always
ports:
- containerPort: 5900
resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: 500m
memory: 1024Mi
env:
- name: APP
value: "{{ app }}"
- name: READ_ONLY
value: "{{ read_only }}"
- name: APP_INFO
valueFrom:
secretKeyRef:
name: "ironic-console-{{ uuid }}"
key: app-info