mirror of
https://opendev.org/openstack/ironic.git
synced 2026-01-11 19:57:20 +00:00
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>
45 lines
No EOL
961 B
Text
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 |