Dear Team and community,
I tried to install nubus 1.14.0 on kubernetes on a vps and used the article “Install Nubus for Kubernetes on your notebook in 20 minutes” as a reference.
But the installation is failing everytime due to timeout and I don’t know how to fix it, please help me
Here is the full installation log:
# cat kind-cluster-config.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
extraPortMappings:
- containerPort: 80
hostPort: 8080
protocol: TCP
- containerPort: 443
hostPort: 8443
protocol: TCP
# kind delete clusters nubus
enabling experimental podman provider
Deleted nodes: ["nubus-control-plane"]
Deleted clusters: ["nubus"]
# kind create cluster --name nubus --config=kind-cluster-config.yaml
enabling experimental podman provider
Creating cluster "nubus" ...
✓ Ensuring node image (kindest/node:v1.34.0) 🖼
✓ Preparing nodes 📦
✓ Writing configuration 📜
✓ Starting control-plane 🕹️
✓ Installing CNI 🔌
✓ Installing StorageClass 💾
Set kubectl context to "kind-nubus"
Thanks for using kind! 😊
# helm upgrade --install ingress-nginx ingress-nginx \
--repo https://kubernetes.github.io/ingress-nginx \
--namespace ingress-nginx \
--create-namespace \
--version "4.8.0" \
--set controller.allowSnippetAnnotations=true \
--set controller.config.hsts=false \
--set controller.service.enableHttps=false \
--set controller.hostPort.enabled=true \
--set controller.service.ports.http=80
Release "ingress-nginx" does not exist. Installing it now.
NAME: ingress-nginx
LAST DEPLOYED: Fri Oct 24 12:36:30 2025
NAMESPACE: ingress-nginx
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The ingress-nginx controller has been installed.
It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status by running 'kubectl --namespace ingress-nginx get services -o wide -w ingress-nginx-controller'
# export NAMESPACE_FOR_NUBUS="default"
# export RELEASE_NAME="nubus"
# export VERSION="1.14.0"
# curl \
--output custom_values_examples.yaml \
https://raw.githubusercontent.com/univention/nubus-stack/v"$VERSION"/helm/nubus/example.yaml
# cat custom_values_examples.yaml
---
global:
nubusDeployment: true
ldap:
baseDn: "dc=example,dc=com"
domainName: "example.com"
domain: example.com
ingressClass: "nginx"
certManagerIssuer: "letsencrypt"
secrets:
masterPassword: "IchHabeHunger2025!!!"
# kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.17.1/cert-manager.yaml
namespace/cert-manager created
customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io created
Warning: unrecognized format "int32"
Warning: unrecognized format "int64"
customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/challenges.acme.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/clusterissuers.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/issuers.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/orders.acme.cert-manager.io created
serviceaccount/cert-manager-cainjector created
serviceaccount/cert-manager created
serviceaccount/cert-manager-webhook created
clusterrole.rbac.authorization.k8s.io/cert-manager-cainjector created
clusterrole.rbac.authorization.k8s.io/cert-manager-controller-issuers created
clusterrole.rbac.authorization.k8s.io/cert-manager-controller-clusterissuers created
clusterrole.rbac.authorization.k8s.io/cert-manager-controller-certificates created
clusterrole.rbac.authorization.k8s.io/cert-manager-controller-orders created
clusterrole.rbac.authorization.k8s.io/cert-manager-controller-challenges created
clusterrole.rbac.authorization.k8s.io/cert-manager-controller-ingress-shim created
clusterrole.rbac.authorization.k8s.io/cert-manager-cluster-view created
clusterrole.rbac.authorization.k8s.io/cert-manager-view created
clusterrole.rbac.authorization.k8s.io/cert-manager-edit created
clusterrole.rbac.authorization.k8s.io/cert-manager-controller-approve:cert-manager-io created
clusterrole.rbac.authorization.k8s.io/cert-manager-controller-certificatesigningrequests created
clusterrole.rbac.authorization.k8s.io/cert-manager-webhook:subjectaccessreviews created
clusterrolebinding.rbac.authorization.k8s.io/cert-manager-cainjector created
clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-issuers created
clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-clusterissuers created
clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-certificates created
clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-orders created
clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-challenges created
clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-ingress-shim created
clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-approve:cert-manager-io created
clusterrolebinding.rbac.authorization.k8s.io/cert-manager-controller-certificatesigningrequests created
clusterrolebinding.rbac.authorization.k8s.io/cert-manager-webhook:subjectaccessreviews created
role.rbac.authorization.k8s.io/cert-manager-cainjector:leaderelection created
role.rbac.authorization.k8s.io/cert-manager:leaderelection created
role.rbac.authorization.k8s.io/cert-manager-tokenrequest created
role.rbac.authorization.k8s.io/cert-manager-webhook:dynamic-serving created
rolebinding.rbac.authorization.k8s.io/cert-manager-cainjector:leaderelection created
rolebinding.rbac.authorization.k8s.io/cert-manager:leaderelection created
rolebinding.rbac.authorization.k8s.io/cert-manager-cert-manager-tokenrequest created
rolebinding.rbac.authorization.k8s.io/cert-manager-webhook:dynamic-serving created
service/cert-manager-cainjector created
service/cert-manager created
service/cert-manager-webhook created
deployment.apps/cert-manager-cainjector created
deployment.apps/cert-manager created
deployment.apps/cert-manager-webhook created
mutatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created
validatingwebhookconfiguration.admissionregistration.k8s.io/cert-manager-webhook created
# helm upgrade \
--install \
--namespace="$NAMESPACE_FOR_NUBUS" \
--values custom_values.yaml \
--version "$VERSION" \
--timeout 20m \
"$RELEASE_NAME" \
oci://artifacts.software-univention.de/nubus/charts/nubus
Release "nubus" does not exist. Installing it now.
Pulled: artifacts.software-univention.de/nubus/charts/nubus:1.14.0
Digest: sha256:3443acb94c1b07ce7c3e7620755da7d46b400746bb76d4a922b72535c822da84
coalesce.go:298: warning: cannot overwrite table with non table for nubusGuardian.postgresql.auth.existingSecret (map[keyMapping:map[password:<nil>] name:<nil>])
coalesce.go:298: warning: cannot overwrite table with non table for nubusNotificationsApi.postgresql.auth.existingSecret (map[keyMapping:map[password:<nil>] name:])
coalesce.go:298: warning: cannot overwrite table with non table for keycloak.postgresql.auth.existingSecret (map[keyMapping:map[password:<nil>] name:<nil>])
coalesce.go:301: warning: destination for minio.ingress.tls is a table. Ignoring non-table value (false)
I1024 12:38:53.768259 1183762 warnings.go:110] "Warning: spec.SessionAffinity is ignored for headless services"
I1024 12:38:53.774025 1183762 warnings.go:110] "Warning: spec.SessionAffinity is ignored for headless services"
I1024 12:38:53.776042 1183762 warnings.go:110] "Warning: spec.SessionAffinity is ignored for headless services"
I1024 12:38:53.778573 1183762 warnings.go:110] "Warning: spec.SessionAffinity is ignored for headless services"
I1024 12:38:53.784315 1183762 warnings.go:110] "Warning: spec.SessionAffinity is ignored for headless services"
I1024 12:38:53.784501 1183762 warnings.go:110] "Warning: spec.SessionAffinity is ignored for headless services"
Error: failed post-install: 1 error occurred:
* timed out waiting for the condition`
# kubectl -n default get pods
NAME READY STATUS RESTARTS AGE
nubus-guardian-authorization-api-8684b788d7-zrkrx 0/1 Error 0 20m
nubus-guardian-management-api-85bb6cfd9-n8c2n 0/1 Init:Error 0 20m
nubus-guardian-management-ui-86c9c4b4f9-rzcrr 0/1 PodInitializing 0 20m
nubus-guardian-open-policy-agent-5d897fc5cb-f8d7l 0/1 ContainerCreating 0 20m
nubus-guardian-provisioning-1-bjn4j 0/1 Init:0/1 0 20m
nubus-helpdesk-1-keycloak-bootstrap-dwck4 0/1 Init:0/1 0 20m
nubus-helpdesk-bfdb4fbf5-dpg9n 0/1 ImagePullBackOff 0 20m
nubus-helpdesk-ui-6975866bb4-l7mnv 0/1 Init:0/1 0 20m
nubus-keycloak-0 0/1 Init:0/1 0 20m
nubus-keycloak-bootstrap-bootstrap-1-g552j 0/1 Init:0/1 0 20m
nubus-ldap-notifier-0 0/1 ContainerCreating 0 20m
nubus-ldap-server-primary-0 0/2 Init:0/5 0 20m
nubus-ldap-server-proxy-7dc677747d-stxtd 0/1 Init:0/6 0 20m
nubus-ldap-server-secondary-0 0/1 Init:0/6 0 20m
nubus-minio-66f765499d-xg8pv 0/1 ContainerCreating 0 20m
nubus-minio-provisioning-n7gsz 0/1 Init:0/1 0 20m
nubus-notifications-api-d6fcb866b-dk8f5 0/1 ContainerCreating 0 20m
nubus-portal-consumer-0 0/1 Init:0/5 0 20m
nubus-portal-frontend-6867c4b57d-cf6pj 0/1 ContainerCreating 0 20m
nubus-portal-server-9d9dbdfc6-ppqcd 0/1 Init:0/1 0 20m
nubus-postgresql-0 0/1 ContainerCreating 0 20m
nubus-postgresql-provisioning-bnxq4 0/1 Init:0/1 0 20m
nubus-provisioning-api-845c5c4d76-b8mbw 0/1 Init:0/1 0 20m
nubus-provisioning-dispatcher-d5bf74b97-gxdfv 0/1 Init:0/1 0 20m
nubus-provisioning-nats-0 0/3 ContainerCreating 0 20m
nubus-provisioning-prefill-fdf6869fd-jqsn4 0/1 Init:0/2 0 20m
nubus-provisioning-register-consumers-1-d4cmq 0/1 Init:0/2 0 20m
nubus-provisioning-udm-listener-0 0/1 Init:0/1 0 20m
nubus-provisioning-udm-transformer-bbf9fcbc7-xh8c6 0/1 Init:0/4 0 20m
nubus-selfservice-listener-86dc79d47c-9fvwd 0/1 Init:0/1 0 20m
nubus-stack-data-ums-1-22zzz 0/1 Init:0/4 0 20m
nubus-udm-rest-api-6c8bcd7864-sl4t9 0/1 Init:0/5 0 20m
nubus-umc-gateway-557d474f96-7h8wc 0/1 Init:0/5 0 20m
nubus-umc-server-0 0/2 Init:0/4 0 20m
nubus-umc-server-7b756899dd-wxwb4 0/1 ContainerCreating 0 20m
nubus-umc-server-memcached-677f7d4546-zs7z5 0/1 ContainerCreating 0 20m
# kubectl -n default describe pod nubus-guardian-authorization-api-8684b788d7-zrkrx
Name: nubus-guardian-authorization-api-8684b788d7-zrkrx
Namespace: default
Priority: 0
Service Account: nubus-guardian
Node: nubus-control-plane/10.89.0.21
Start Time: Mon, 27 Oct 2025 07:11:46 +0100
Labels: app.kubernetes.io/instance=nubus
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=nubus-guardian-authorization-api
app.kubernetes.io/version=2.0.0
helm.sh/chart=nubusGuardian-0.22.5
pod-template-hash=8684b788d7
Annotations: checksum/config: d8c06944be6eb670f82b1c3734d54d6a3455c491d5fa57257ad06aca5cfd160e
Status: Running
IP: 10.244.0.11
IPs:
IP: 10.244.0.11
Controlled By: ReplicaSet/nubus-guardian-authorization-api-8684b788d7
Containers:
authorization-api:
Container ID: containerd://af50895eac1b0847821a334a89dedbaa5c37a1e45617b38811545d46c0f44e97
Image: docker.software-univention.de/guardian-authorization-api-authorization-api:3.0.0
Image ID: docker.software-univention.de/guardian-authorization-api-authorization-api@sha256:d2849b25ddd0322e1bef6c1e7b16f59fb63f35b0924f99f200bc22de834d9a2d
Port: 8000/TCP (http)
Host Port: 0/TCP (http)
SeccompProfile: RuntimeDefault
State: Terminated
Reason: Error
Exit Code: 3
Started: Mon, 27 Oct 2025 07:12:09 +0100
Finished: Mon, 27 Oct 2025 07:12:10 +0100
Ready: False
Restart Count: 0
Limits:
cpu: 4
memory: 4Gi
Requests:
cpu: 250m
memory: 512Mi
Liveness: http-get http://:http/guardian/authorization/openapi.json delay=120s timeout=3s period=30s #success=1 #failure=3
Readiness: http-get http://:http/guardian/authorization/openapi.json delay=30s timeout=3s period=15s #success=1 #failure=30
Environment Variables from:
nubus-guardian-authorization-api ConfigMap Optional: false
Environment: <none>
Mounts:
/tmp from tmp (rw)
/var/guardian from udm-adapter-user (rw)
/var/secrets from secrets (rw)
Conditions:
Type Status
PodReadyToStartContainers True
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
tmp:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
udm-adapter-user:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: nubus-guardian-udm-adapter-user
Optional: false
secrets:
Type: Secret (a volume populated by a Secret)
SecretName: nubus-ldap-server-admin
Optional: false
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 20m default-scheduler Successfully assigned default/nubus-guardian-authorization-api-8684b788d7-zrkrx to nubus-control-plane
Normal Pulled 20m kubelet Successfully pulled image "docker.software-univention.de/guardian-authorization-api-authorization-api:3.0.0" in 21.922s (21.922s including waiting). Image size: 162009083 bytes.
Normal Created 20m kubelet Created container: authorization-api
Normal Started 20m kubelet Started container authorization-api
Normal Pulling 20m (x2 over 20m) kubelet Pulling image "docker.software-univention.de/guardian-authorization-api-authorization-api:3.0.0"
# kubectl -n default describe pod nubus-guardian-management-api-85bb6cfd9-n8c2n
Name: nubus-guardian-management-api-85bb6cfd9-n8c2n
Namespace: default
Priority: 0
Service Account: nubus-guardian
Node: nubus-control-plane/10.89.0.21
Start Time: Mon, 27 Oct 2025 07:11:46 +0100
Labels: app.kubernetes.io/instance=nubus
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=nubus-guardian-management-api
app.kubernetes.io/version=2.0.0
helm.sh/chart=nubusGuardian-0.22.5
pod-template-hash=85bb6cfd9
Annotations: checksum/config: ec61d4b503a324100c5c5abc7ce677ae50a81f2e708b7758c314a1a90c666e46
Status: Pending
IP: 10.244.0.12
IPs:
IP: 10.244.0.12
Controlled By: ReplicaSet/nubus-guardian-management-api-85bb6cfd9
Init Containers:
database-migrations:
Container ID: containerd://7ffe49680458a38fc7a087b70d70c24538697f8aa33eabe3844f6eb21e0f6cf4
Image: docker.software-univention.de/guardian-management-api-management-api:3.0.0
Image ID: docker.software-univention.de/guardian-management-api-management-api@sha256:f3c9af13d50632a7e2232f675408b5559fb9ca314b7babf367cf4db80b62ebea
Port: <none>
Host Port: <none>
SeccompProfile: RuntimeDefault
Command:
alembic
upgrade
head
State: Terminated
Reason: Error
Exit Code: 1
Started: Mon, 27 Oct 2025 07:12:20 +0100
Finished: Mon, 27 Oct 2025 07:12:22 +0100
Ready: False
Restart Count: 0
Limits:
cpu: 4
memory: 4Gi
Requests:
cpu: 250m
memory: 512Mi
Environment Variables from:
nubus-guardian-management-api ConfigMap Optional: false
Environment:
SQL_PERSISTENCE_ADAPTER__PASSWORD: <set to the key 'password' in secret 'nubus-guardian-management-api-postgresql-credentials'> Optional: false
Mounts: <none>
Containers:
management-api:
Container ID:
Image: docker.software-univention.de/guardian-management-api-management-api:3.0.0
Image ID:
Port: 8000/TCP (http)
Host Port: 0/TCP (http)
SeccompProfile: RuntimeDefault
State: Waiting
Reason: PodInitializing
Ready: False
Restart Count: 0
Limits:
cpu: 4
memory: 4Gi
Requests:
cpu: 250m
memory: 512Mi
Liveness: http-get http://:http/guardian/management/openapi.json delay=120s timeout=3s period=30s #success=1 #failure=3
Readiness: http-get http://:http/guardian/management/openapi.json delay=30s timeout=3s period=15s #success=1 #failure=30
Environment Variables from:
nubus-guardian-management-api ConfigMap Optional: false
Environment:
SQL_PERSISTENCE_ADAPTER__PASSWORD: <set to the key 'password' in secret 'nubus-guardian-management-api-postgresql-credentials'> Optional: false
Mounts:
/guardian_service_dir/bundle_server from bundles (rw)
/tmp from tmp (rw)
/var/secrets from secrets (rw)
Conditions:
Type Status
PodReadyToStartContainers True
Initialized False
Ready False
ContainersReady False
PodScheduled True
Volumes:
bundles:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
tmp:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
secrets:
Type: Secret (a volume populated by a Secret)
SecretName: nubus-guardian-keycloak-client-secret
Optional: false
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 21m default-scheduler Successfully assigned default/nubus-guardian-management-api-85bb6cfd9-n8c2n to nubus-control-plane
Normal Pulled 20m kubelet Successfully pulled image "docker.software-univention.de/guardian-management-api-management-api:3.0.0" in 11.018s (32.94s including waiting). Image size: 185802902 bytes.
Normal Created 20m kubelet Created container: database-migrations
Normal Started 20m kubelet Started container database-migrations
Normal Pulling 20m (x2 over 21m) kubelet Pulling image "docker.software-univention.de/guardian-management-api-management-api:3.0.0"
# kubectl -n default describe pod nubus-guardian-management-ui-86c9c4b4f9-rzcrr
Name: nubus-guardian-management-ui-86c9c4b4f9-rzcrr
Namespace: default
Priority: 0
Service Account: nubus-guardian
Node: nubus-control-plane/10.89.0.21
Start Time: Mon, 27 Oct 2025 07:11:46 +0100
Labels: app.kubernetes.io/instance=nubus
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=nubus-guardian-management-ui
app.kubernetes.io/version=2.0.0
helm.sh/chart=nubusGuardian-0.22.5
pod-template-hash=86c9c4b4f9
Annotations: checksum/config: 12ad6b4c86628ce9be4c600eb7408dd1bd517f4b291216b4fa3834960e2f6f21
Status: Pending
IP: 10.244.0.14
IPs:
IP: 10.244.0.14
Controlled By: ReplicaSet/nubus-guardian-management-ui-86c9c4b4f9
Init Containers:
app-configuration:
Container ID: containerd://3836df552d8b07608f198b6fcda704e55f7d9cba4fedfd2d38c8f7989a2b73f4
Image: docker.software-univention.de/guardian-management-ui-management-ui:3.0.0
Image ID: docker.software-univention.de/guardian-management-ui-management-ui@sha256:b90d496a323353c71e29938a6b1980655fb3aefe53bab455da865e3202b7f0f8
Port: <none>
Host Port: <none>
SeccompProfile: RuntimeDefault
Command:
sh
-c
/entrypoint.sh; cp -a /app/* /target/app/
State: Terminated
Reason: Completed
Exit Code: 0
Started: Mon, 27 Oct 2025 07:12:35 +0100
Finished: Mon, 27 Oct 2025 07:12:35 +0100
Ready: True
Restart Count: 0
Limits:
cpu: 4
memory: 4Gi
Requests:
cpu: 250m
memory: 512Mi
Environment Variables from:
nubus-guardian-management-ui ConfigMap Optional: false
Environment:
SKIP_CONFIG_GENERATION: TRUE
Mounts:
/target/app from app-config (rw)
Containers:
management-ui:
Container ID:
Image: docker.software-univention.de/guardian-management-ui-management-ui:3.0.0
Image ID:
Port: 8080/TCP (http)
Host Port: 0/TCP (http)
SeccompProfile: RuntimeDefault
State: Waiting
Reason: PodInitializing
Ready: False
Restart Count: 0
Limits:
cpu: 4
memory: 4Gi
Requests:
cpu: 250m
memory: 512Mi
Liveness: http-get http://:http/ delay=120s timeout=3s period=30s #success=1 #failure=3
Readiness: http-get http://:http/ delay=30s timeout=3s period=15s #success=1 #failure=30
Environment Variables from:
nubus-guardian-management-ui ConfigMap Optional: false
Environment: <none>
Mounts:
/app from app-config (rw)
/etc/nginx/sites-enabled/default from nginx-conf (rw,path="nginx.conf")
/var/lib/nginx from var-lib (rw)
/var/run from var-run (rw)
Conditions:
Type Status
PodReadyToStartContainers True
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
app-config:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
var-lib:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
var-run:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
nginx-conf:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: nubus-guardian-nginx-conf
Optional: false
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 22m default-scheduler Successfully assigned default/nubus-guardian-management-ui-86c9c4b4f9-rzcrr to nubus-control-plane
Normal Pulling 22m kubelet Pulling image "docker.software-univention.de/guardian-management-ui-management-ui:3.0.0"
Normal Pulled 21m kubelet Successfully pulled image "docker.software-univention.de/guardian-management-ui-management-ui:3.0.0" in 14.592s (47.465s including waiting). Image size: 115354992 bytes.
Normal Created 21m kubelet Created container: app-configuration
Normal Started 21m kubelet Started container app-configuration
Normal Pulling 21m kubelet Pulling image "docker.software-univention.de/guardian-management-ui-management-ui:3.0.0"
# kubectl -n default describe pod nubus-helpdesk-bfdb4fbf5-dpg9n
Name: nubus-helpdesk-bfdb4fbf5-dpg9n
Namespace: default
Priority: 0
Service Account: nubus-helpdesk
Node: nubus-control-plane/10.89.0.21
Start Time: Mon, 27 Oct 2025 07:11:46 +0100
Labels: app=nubus-helpdesk
app.kubernetes.io/instance=nubus
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=helpdesk
app.kubernetes.io/version=1.0.0
helm.sh/chart=nubusTwofaHelpdesk-0.14.1
pod-template-hash=bfdb4fbf5
Annotations: <none>
Status: Pending
IP: 10.244.0.13
IPs:
IP: 10.244.0.13
Controlled By: ReplicaSet/nubus-helpdesk-bfdb4fbf5
Containers:
twofa-helpdesk-backend-api:
Container ID:
Image: artifacts.software-univention.de/nubus/images/twofa-helpdesk-backend:0.14.1@sha256:78a4f546c83858a749f073f74bcfcbfcfd9db49de520f30e753b3a992f145a5f
Image ID:
Port: 8080/TCP
Host Port: 0/TCP
SeccompProfile: RuntimeDefault
State: Waiting
Reason: ImagePullBackOff
Ready: False
Restart Count: 0
Limits:
cpu: 4
memory: 4Gi
Requests:
cpu: 250m
memory: 512Mi
Liveness: http-get http://:8080/backend/ delay=20s timeout=3s period=30s #success=1 #failure=3
Readiness: http-get http://:8080/backend/ delay=20s timeout=3s period=15s #success=1 #failure=30
Environment Variables from:
nubus-helpdesk-config ConfigMap Optional: false
Environment:
KEYCLOAK_PASSWORD: <set to the key 'admin_password' in secret 'nubus-keycloak-credentials'> Optional: false
Mounts: <none>
Conditions:
Type Status
PodReadyToStartContainers True
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes: <none>
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 22m default-scheduler Successfully assigned default/nubus-helpdesk-bfdb4fbf5-dpg9n to nubus-control-plane
Warning Failed 16m kubelet Failed to pull image "artifacts.software-univention.de/nubus/images/twofa-helpdesk-backend:0.14.1@sha256:78a4f546c83858a749f073f74bcfcbfcfd9db49de520f30e753b3a992f145a5f": rpc error: code = Canceled desc = failed to pull and unpack image "artifacts.software-univention.de/nubus/images/twofa-helpdesk-backend@sha256:78a4f546c83858a749f073f74bcfcbfcfd9db49de520f30e753b3a992f145a5f": context canceled
Warning Failed 16m kubelet Error: ErrImagePull
Normal BackOff 16m kubelet Back-off pulling image "artifacts.software-univention.de/nubus/images/twofa-helpdesk-backend:0.14.1@sha256:78a4f546c83858a749f073f74bcfcbfcfd9db49de520f30e753b3a992f145a5f"
Warning Failed 16m kubelet Error: ImagePullBackOff
Normal Pulling 16m (x2 over 22m) kubelet Pulling image "artifacts.software-univention.de/nubus/images/twofa-helpdesk-backend:0.14.1@sha256:78a4f546c83858a749f073f74bcfcbfcfd9db49de520f30e753b3a992f145a5f"
Please help me and Thanks in Advance !
Duc