Installation of community edition failes during image pull

Hello,

I’m trying to install OpenIAM Community Edition on a private Kubernetes cluster using the recommended Terraform install path. I’m trying to install version 4.2.2 as this is the default tag of the Bitbucket repository.

I changed the recommended variables in the env.sh and terraform.tfvars files. I also changed the source of the deployment module in the main.tf to source = "./modules/core/helm" as mentioned in the documentation.

On my first attempt I did not change the CONTAINER_SERVICE_NAMESPACE variable in the env.sh file which then lead to a lot of ImagePullBackOff errors in many of my kubernetes pods. I then figured out that the community edition images are located in a different path on the image repository. On my second attempt I changed the CONTAINER_SERVICE_NAMESPACE to openiam_service_ce since I found some of the images in this directory. Now I still get a lot of ImagePullBackOff errors because the images still can not be found.

I’m not sure what I’m doing wrong or what I’m missing in the documentation because I can’t seem to find any hint on what DOCKER_REGISTRY or CONTAINER_SERVICE_NAMESPACE setting to use to successfully pull all the images used by the helm charts.

Any help would be highly appreciated :slight_smile:

Hello @offsec1 ,

Thanks for the question. Kubernetes actually isn’t supported as part of the Community release. This changes with an Enterprise Edition subscription.

The current version of the Community Edition is 4.2.1.14 which can be downloaded from this link: https://help.openiam.com/knowledge/rpm-download-urls-for-release-4.2.1.14

Installation docs are below:

Deploying via RPM on Linux

Please let me know if you have any other questions.

Thanks,

Ameet

Hey @ameet_shah,

thanks for the quick response!

This is new to me. I couldn’t find any information about this in the docs but so be it.

You mentioned the RPM download link and the docker-swarm installation documentation. As far as I can see at the docker-compose Bitbucket repository it is not meant to be for high availability deployments. To ensure high availability I would need to follow the RPM installation for HA deployments, right?

Thanks for your help! :slight_smile:

Hi @offsec1

You can download the RPM version by registering on the openiam site at Download OpenIAM for Evaluation

you will be able to see a download section to get the RPM files. You should use 4.2.1.15 for your tests. You can find details around the RPM install and HA here: Deploying via RPM on Linux

The limitation around the K8 installs is more around our ability to support K8 deployments on the community . we see many more questions related to this type of deployment and why we are currently limiting this.

We are in the process of creating in a new getting started guide that will be include both RPM + K8 deployments and hopefully simplify the effort. Once we publish this (later in january), we will be support K8 deployments on the community.

Also, the manner in which we do enterprise and community will be changing (for the better). We will publish these details in the next week.

1 Like

Hey,

I was just wondering if the K8 installation for the CE is already supported? We have a lot of issues using the docker swarm installation in our environment.

Thanks!

Hello @offsec1,

Can you please let us know what issues you are facing?

Thanks.

Hey @ameet_shah,

after a few days the deployment stops working and the containers get stuck in a restart loop. I took some time to invest what is happening and I was able to see that the vault gets sealed. I manually unseald it and restarted all the containers using the shutdown and startup script. Now the next error occurs. It seems like the ESB is not able to communicate properly with the vault or find the correct keys in the vault. I didn’t debug it completely but it seems like now the SSL Certificate is missing or the vault is pretty much empty.
I get following logs from the vault container:

[INFO] expiration: revoked lease: lease_id=auth/cert/login/hed9bd3743f3d7536aed7a7b2155a0187dae8be8bc051626f84dce527df4aadec
http: TLS handshake error from 10.0.5.64:36643: EOF

And following logs from the ESB container:

INFO 1 — [           main] org.openiam.vault.VaultConfigResolver    : Could not find property ‘https://vault:8200/v1/secret/openiam/vault.secret.elasticsearch.password’ in vault.
…
INFO 1 — [           main] org.openiam.vault.VaultConfigResolver    : Could not find property ‘https://vault:8200/v1/secret/openiam/vault.secret.rabbitmq.jks.password’ in vault.
…
ERROR 1 — [           main] o.s.boot.SpringApplication               : Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘accessCertificationServiceImpl’: Unsatisfied dependency expressed through field ‘userDataService’; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException:
…
Caused by: java.lang.RuntimeException: java.lang.IllegalStateException: Master key is null

Since @suneetshah pointed out that the K8s deployment will be supported soon I would happily switch to this because then we would hopefully be able to use OpenIAM in our production environment.

Thanks, @offsec1. I am consulting my team internally and will get back to you shortly.

Hello @offsec1,

Please follow the steps in the document linked at the end of this post but instead of steps 1–6 mentioned in the document, please do the following:

  1. Stop OpenIAM
  2. Remove the Vault and etcd volumes
  3. Start OpenIAM again

The remaining steps stay the same as outlined in the document.

PAD Block Corrupted