# Issue during Passbolt kubernetes deployment

**URL:** <https://community.passbolt.com/t/issue-during-passbolt-kubernetes-deployment/9241>\
**Category:** Installation Issues\
**Created:** [January 15, 2024, 12:46pm UTC](https://community.passbolt.com/t/issue-during-passbolt-kubernetes-deployment/9241 "2024-01-15T12:46:23Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![BcGear33](https://avatars.discourse-cdn.com/v4/letter/b/f0a364/32.png) [@BcGear33](https://community.passbolt.com/u/BcGear33)\
**Post date:** [January 15, 2024, 12:46pm UTC](https://community.passbolt.com/t/issue-during-passbolt-kubernetes-deployment/9241/1 "2024-01-15T12:46:23Z")

</div>

**Checklist**  
[x] I have read intro post: [About the Installation Issues category](https://community.passbolt.com/t/about-the-installation-issues-category/12)  
[x] I have read the tutorials, help and searched for similar issues  
[x] I provide relevant information about my server (component names and versions, etc.)  
 I provide a copy of my logs and healthcheck  
[x] I describe the steps I have taken to trouble shoot the problem  
[x] I describe the steps on how to reproduce the issue

Hello,

I’ve been trying to deploy passbolt on my kubernetes cluster for several days now. It’s just been set up and has three nodes (one master and three workers). To deploy the passbolt version of kubernetes, i’ve used the following commands:

> helm repo add passbolt “[https://download.passbolt.com/charts/passbolt](https://download.passbolt.com/charts/passbolt)”  
> helm install mypassbolt passbolt/passbolt

After waiting several minutes, during which time I was unable to perform any action, I received the following error message:

> Error: INSTALLATION FAILED: failed pre-install: 1 error occurred:  
> \* timed out waiting for the condition

The “kubectl get event” command returns the following output:

> 9m40s Normal Scheduled pod/mypassbolt8-job-create-gpg-keys-lspf9 Successfully assigned default/mypassbolt88-job-create-gpg-keys-lspf9 to sv-csl-008-b  
> 4m58s Normal Pulled pod/mypassbolt8-job-create-gpg-keys-lspf9 Container image “passbolt/passbolt:4.4.2-1-ce” already present on machine  
> 4m58s Normal Created pod/mypassbolt8-job-create-gpg-keys-lspf9 Created container mypassbolt88-job-create-gpg-keys  
> 4m58s Normal Started pod/mypassbolt8-job-create-gpg-keys-lspf9 Started container mypassbolt88-job-create-gpg-keys  
> 3m31s Warning BackOff pod/mypassbolt8-job-create-gpg-keys-lspf9 Back-off restarting failed container mypassbolt8-job-create-gpg-keys in pod mypassbolt88-job-create-gpg-keys-lspf9\_default(c4ec3d9d-0126-4d34-b9e7-32a

I’m an absolute beginner in container management, I’m trying to set up an infrastructure because my company is planning to buy a Passbolt CE license. Do you have any ideas for solving my problem?

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![clayton](https://avatars.discourse-cdn.com/v4/letter/c/f9ae1b/32.png) [@clayton](https://community.passbolt.com/u/clayton)\
**Post date:** [January 15, 2024, 2:09pm UTC](https://community.passbolt.com/t/issue-during-passbolt-kubernetes-deployment/9241/2 "2024-01-15T14:09:12Z")

</div>

Just a reminder that Helm is more of an advanced install method and if you are a beginner with containers it might be a better idea to go with a different install choice. Particularly as you mention you are doing this for a trial and not just for educational purposes.

However if you do want to continue with Helm we’ll need a bit more information here. Could you run a describe on that pod when it is trying to start?

Also are you running this on EKS, GKE, your own hardware, something like kind or minikube, or a different option?

---

<div class="post-metadata">

**Author:** ![BcGear33](https://avatars.discourse-cdn.com/v4/letter/b/f0a364/32.png) [@BcGear33](https://community.passbolt.com/u/BcGear33)\
**Post date:** [January 15, 2024, 2:37pm UTC](https://community.passbolt.com/t/issue-during-passbolt-kubernetes-deployment/9241/3 "2024-01-15T14:37:48Z")

</div>

Thank you for your answer.

I’m interrested if you have a more simple way to install passbolt on kubernetes cluster: my main goal is to make it work 🙂

I have set a kubernetes cluster on my own hardware (three servers under Rocky Linux 9). I have installed Kubernetes from scratch.

Here is the result of the describe:

```auto
Name: mypassbolt-job-create-gpg-keys-ggxnp
Namespace: default
Priority: 0
Service Account: mypassbolt-sa-create-gpg-keys
Node: sv-csl-008-b/10.1.2.161
Start Time: Mon, 15 Jan 2024 15:29:09 +0100
Labels: app.kubernetes.io/action=create-gpg-keys
                  app.kubernetes.io/type=job
                  batch.kubernetes.io/controller-uid=8deb203e-c2d8-4758-adf6-7e755da3d6ed
                  batch.kubernetes.io/job-name=mypassbolt-job-create-gpg-keys
                  controller-uid=8deb203e-c2d8-4758-adf6-7e755da3d6ed
                  job-name=mypassbolt-job-create-gpg-keys
Annotations: cni.projectcalico.org/containerID: 998ff3b748b58c7100d1b79b8f8f88544adeca18161626733d07339e289958aa
                  cni.projectcalico.org/podIP: 192.168.211.129/32
                  cni.projectcalico.org/podIPs: 192.168.211.129/32
Status: Running
IP: 192.168.211.129
IPs:
  IP: 192.168.211.129
Controlled By: Job/mypassbolt-job-create-gpg-keys
Containers:
  mypassbolt-job-create-gpg-keys:
    Container ID: containerd://21cf1509f0fe674eced44ab54f754037c2e75aa18bb3ef8e75ab84dfd035c238
    Image: passbolt/passbolt:4.4.2-1-ce
    Image ID: docker.io/passbolt/passbolt@sha256:d4a957640f93c936bf585c4efe3d5a77b679dece60b996f0c56d9ad09b064ca1
    Port: <none>
    Host Port: <none>
    Command:
      /bin/bash
    Args:
      -c
      set -e
      key_email="${PASSBOLT_KEY_EMAIL:-passbolt@yourdomain.com}"
      key_name="${PASSBOLT_KEY_NAME:-Passbolt default user}"
      key_length="${PASSBOLT_KEY_LENGTH:-3072}"
      subkey_length="${PASSBOLT_SUBKEY_LENGTH:-4096}"
      expiration="${PASSBOLT_KEY_EXPIRATION:-0}"
      su -c "gpg --homedir $GNUPGHOME --batch --no-tty --gen-key <<EOF
        Key-Type: default
        Key-Length: $key_length
        Subkey-Type: default
        Subkey-Length: $subkey_length
        Name-Real: $key_name
        Name-Email: $key_email
        Expire-Date: $expiration
        %no-protection
        %commit
      EOF" -ls /bin/bash www-data || \
      gpg --homedir $GNUPGHOME --batch --no-tty --gen-key <<EOF
        Key-Type: default
        Key-Length: $key_length
        Subkey-Type: default
        Subkey-Length: $subkey_length
        Name-Real: $key_name
        Name-Email: $key_email
        Expire-Date: $expiration
        %no-protection
        %commit
      EOF

      PRIVATE_SERVERKEY="$(gpg --homedir $GNUPGHOME --armor --export-secret-keys $key_email | base64 -w0)"
      PUBLIC_SERVERKEY="$(gpg --homedir $GNUPGHOME --armor --export $key_email | base64 -w0)"

      cd /tmp
      cpuArch=${CPU_ARCH:-$(eval "case `uname -m` in 'x86_64') echo 'amd64';;'aarch64') echo 'arm64';;esac")}
      kubectlDownload=${KUBECTL_DOWNLOAD_CMD:-'curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/${cpuArch}/kubectl"'}
      eval $kubectlDownload
      chmod +x kubectl
      ./kubectl patch secret mypassbolt-sec-gpg --type='json' -p='[{"op": "replace", "path" : "/data/serverkey_private.asc", "value" : '"${PRIVATE_SERVERKEY}"'}]'
      ./kubectl patch secret mypassbolt-sec-gpg --type='json' -p='[{"op": "replace", "path" : "/data/serverkey.asc", "value" : '"${PUBLIC_SERVERKEY}"'}]'
      touch /tmp/pod/success
      echo "Success"

    State: Waiting
      Reason: CrashLoopBackOff
    Last State: Terminated
      Reason: Error
      Exit Code: 6
      Started: Mon, 15 Jan 2024 15:34:08 +0100
      Finished: Mon, 15 Jan 2024 15:34:51 +0100
    Ready: False
    Restart Count: 4
    Environment Variables from:
      mypassbolt-cm-env ConfigMap Optional: false
      mypassbolt-sec-env Secret Optional: false
    Environment:
      DATASOURCES_DEFAULT_HOST: mypassbolt-mariadb-primary
    Mounts:
      /tmp/pod from mypassbolt-job-create-gpg-keys-vol-success (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-2lrsr (ro)
Conditions:
  Type Status
  PodReadyToStartContainers True
  Initialized True
  Ready False
  ContainersReady False
  PodScheduled True
Volumes:
  mypassbolt-job-create-gpg-keys-vol-success:
    Type: EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit: <unset>
  kube-api-access-2lrsr:
    Type: Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds: 3607
    ConfigMapName: kube-root-ca.crt
    ConfigMapOptional: <nil>
    DownwardAPI: true
QoS Class: BestEffort
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 6m15s default-scheduler Successfully assigned default/mypassbolt-job-create-gpg-keys-ggxnp to sv-csl-008-b
  Normal Pulling 6m14s kubelet Pulling image "passbolt/passbolt:4.4.2-1-ce"
  Normal Pulled 5m42s kubelet Successfully pulled image "passbolt/passbolt:4.4.2-1-ce" in 32.495s (32.495s including waiting)
  Normal Created 77s (x5 over 5m42s) kubelet Created container mypassbolt-job-create-gpg-keys
  Normal Pulled 77s (x4 over 4m53s) kubelet Container image "passbolt/passbolt:4.4.2-1-ce" already present on machine
  Normal Started 76s (x5 over 5m42s) kubelet Started container mypassbolt-job-create-gpg-keys
  Warning BackOff 7s (x9 over 4m7s) kubelet Back-off restarting failed container mypassbolt-job-create-gpg-keys in pod mypassbolt-job-create-gpg-keys-ggxnp_default(ad1dd605-f413-4d96-975d-aab369dd9370)

```

---

<div class="post-metadata">

**Author:** ![clayton](https://avatars.discourse-cdn.com/v4/letter/c/f9ae1b/32.png) [@clayton](https://community.passbolt.com/u/clayton)\
**Post date:** [January 15, 2024, 3:21pm UTC](https://community.passbolt.com/t/issue-during-passbolt-kubernetes-deployment/9241/4 "2024-01-15T15:21:29Z")

</div>

I’d suggest not using kubernetes, it isn’t really an easy or beginner friendly way to install. Since you have Rocky we do offer an RPM package which would likely get you up and running quickest here.

Can you grab the logs from this?

Also a thing I have seen before on some set ups is an issue with the pvc so I would check there

---

<div class="post-metadata">

**Author:** ![BcGear33](https://avatars.discourse-cdn.com/v4/letter/b/f0a364/32.png) [@BcGear33](https://community.passbolt.com/u/BcGear33)\
**Post date:** [January 22, 2024, 3:35pm UTC](https://community.passbolt.com/t/issue-during-passbolt-kubernetes-deployment/9241/5 "2024-01-22T15:35:53Z")

</div>

Hello and thank you ! I’m sorry for my late answer but i was away from office because of health issue…

I know that kubernetes isn’t the easyest way to install passbolt, but my company want to buy it and to ensure that the front of passbolt will be highly avaible. We already have highly avaiable databases, so my objective is to build an infrastructure that can make the frontend of pasbolt highly avaiable.

Did you find issues with pvc? Or do you know others solutions that can allow me to make pasbolt frontend highly avaible?

Kind regards

---

<div class="post-metadata">

**Author:** ![clayton](https://avatars.discourse-cdn.com/v4/letter/c/f9ae1b/32.png) [@clayton](https://community.passbolt.com/u/clayton)\
**Post date:** [February 1, 2024, 7:20am UTC](https://community.passbolt.com/t/issue-during-passbolt-kubernetes-deployment/9241/6 "2024-02-01T07:20:59Z")

</div>

Hey, apologies for the delay in getting back to you here. For some kubernetes set ups there can be some issues with PVCs. For example when running a testing cluster I had to enable local path storage

As for other solutions what is your HA requirement? A lot of people say HA but really they mean a DR set up where a few minutes of downtime is fine while failing over to another instance

---

<div class="post-metadata">

**Author:** ![BcGear33](https://avatars.discourse-cdn.com/v4/letter/b/f0a364/32.png) [@BcGear33](https://community.passbolt.com/u/BcGear33)\
**Post date:** [February 5, 2024, 9:06am UTC](https://community.passbolt.com/t/issue-during-passbolt-kubernetes-deployment/9241/7 "2024-02-05T09:06:04Z")

</div>

Hello and thank you for your reply!

I’m writing a new topic on the forum to better describe my project. I want my passbolt instance to be redundant, i.e. with at least two web front-ends and a database cluster.

I’ve abandoned the idea of using Kubernetes for this project because it’s too complex.
