Use the Docker command tool with a Kerberos secured cluster
Adding a Kerberos secure cluster connection requires additional changes to the generatedFiles directory. You must change the dockerfile file to bring in the additional dependencies and install SSL keys. For this example, the cluster is defined to use a username and password rather than a keytab. Using a keytab requires an additional ADD command to add the keytab file.
Perform the steps to prepare a container to work with a Kerberos secured cluster:
Run
DockMakerwithout the-Xparameter to prepare thegeneratedFilesdirectory but not build the image or compose the container.Copy the resulting not executed
docker buildanddocker composecommands from the output to another (different) location for later use.Copy your
krb5.confandcacerts.pemfiles to thegeneratedFilesdirectory.Any files copied to the container must be in the
generatedFilescontext to be available, which is a restriction imposed by Docker.Edit the
generatedFiles/dockerfilefile to add the following lines close to the bottom of the file but make sure they appear above theUSER ${PENTAHO_USER}line as that root must be defined to execute this additional code:RUN apt-get install -y krb5-user ADD krb5.conf /etc/krb5.conf ADD cacerts.pem /tmp/cacerts.pem RUN /usr/bin/keytool -import -noprompt -alias clustername -keystore /etc/ssl/certs/java/cacerts -file /tmp/cacerts.pem -storepass changeit;where clustername is the name of your cluster.
Run the
docker buildcommand you previously copied.Run the
docker composecommand you previously copied.
You now have a running instance with Kerberos support. You can update your template dockerfile files to make sure these lines are always added to the dockerfile when generatedFiles is first created. The template dockerfiles are in the following locations:
Server
containers\pentaho-server\pentaho-server-auto\DockerfilePDI
containers\pentaho-data-integration\pdi-client-auto\DockerfileCarte
containers\pentaho-data-integration\pdi-client-auto\Dockerfile
Last updated
Was this helpful?

