In the first two parts of this series, we looked at setting up a production Kubernetes cluster in our labs. In part three of this series, we are going to deploy some services to our cluster such as Guacamole and Keycloak.
Step-by-step documentation and further service examples are here.
Guacamole
Guacamole is a very useful piece of software that allows you to remotely connect to your devices via RDP, SSH, or other protocols. I use it extensively to access my lab resources, even when I am at home.
You can use this Helm Chart to install Guacamole on your Kubernetes cluster. The steps are as follows:
- Clone the Guacamole Helm Chart from here
- Apply any changes to values.yaml such as the annotations and ingress settings.
- Deploy the Helm Chart from the
apache-guacamole-helm-chart
directoryhelm install . -f values.yaml --name=guacamole --namespace=guacamole
- An ingress is automatically created by the Helm Chart, and you can access it based on the
hosts:
section of values.yaml
Once you have deployed the Helm Chart, you should be able to access Guacamole at the ingress hostname specified in values.yaml.
Keycloak
Keycloak is an open-source single sign-on solution that is similar to Microsoft’s ADFS product. You can read more about Keycloak on my blog.
There is a stable Keycloak Helm Chart available in the default Helm repo, which we will be using to deploy Keycloak, you can find it here.
- Apply any changes to values.yaml
- Deploy the helm chart stable/keycloak with values
helm install --name keycloak stable/keycloak --values values.yaml
- Create an ingress
kubectl apply -f ingress.yaml
- Get the default password for the
keycloak
user.kubectl get secret --namespace default keycloak-http -o jsonpath="{.data.password}" | base64 --decode; echo
Though this article is on the shorter side, hopefully it exemplifies how easy it can be to run services in Kubernetes. We mainly looked at pre-made Helm Charts in this article, however deploying a service without a Chart can also be just as easy. I prefer using charts as I find it easier to manage than straight Kubernetes manifest files.
You can checkout my public Kubernetes repo at https://gitlab.com/just.insane/kubernetes/ for further information and more service examples.
Top comments (0)