Articles

Kubernetes

Solving Kong latency problems in Kubernetes

Solving Kong latency problems in Kubernetes thumbnail
Kong is a popular API gateway that can be used as a reverse proxy for clients to access back-end services. It can be run as a Docker container and, as such, can be deployed to Kubernetes. However, when doing so, requests might be severely impacted by unusually high latency. This can be solved by configuring the order in which Kong resolves DNS records.
KubernetesKongTutorials

GitLab Microk8s >1.24 certificate based integration

GitLab Microk8s >1.24 certificate based integration thumbnail
With newer versions of Microk8s, its GitLab integration changes slightly. Here are the key differences
KubernetesMicrok8sTutorialsGitLab

Kubernetes and Docker equivalence

Kubernetes and Docker equivalence thumbnail
Kubernetes is a container orchestration system. As such, it features functions that are similar to that of Docker. If a container can be run with the Docker CLI, it can also be run equivalently using Kubernetes. This articles highlights such equivalence by presenting how to deploy a PostgreSQL instance using both technologies.
KubernetesTutorials

Dissecting a Kubernetes manifest

Dissecting a Kubernetes manifest thumbnail
Kubernetes manifests can seem quite daunting at first, but it is important to understand that their apparent complexity is simply a result of the large number of customization options. In the end, manifests are used to deploy resources that interact with each other, which, among others, lead to the correct operations of containerized applications. Consequently, resources specified in a manifest must be configured accordingly. This article aims at explaining how manifests are structured to do so.
TutorialsKubernetesFeatured

Updating Ingresses to networking.k8s.io/v1

Updating Ingresses to networking.k8s.io/v1 thumbnail
Using Ingress with the extensions/v1beta1 API has been deprecated in Kubernetes 1.14 and will be removed in 1.22. This article presents how to update an existing manifest to the new API, networking.k8s.io/v1.
KubernetesTutorials

Fixing "File locked" Nextcloud errors

When syncing files with NextCloud, some might get stuck in a "locked" state. Here is how to unlock them.
NextcloudKubernetes

OpenProject in Kubernetes

OpenProject is an awesome project management application that can be installed on one's own server. This makes it ideal for users who want to keep control over their data. However, at the time of writing this article, OpenProject does not yet provide installation methods for Kubernetes so I decided to write my own manifest files.
OpenprojectKubernetes

Distributing a Helm chart on Artifact Hub

Distributing a Helm chart on Artifact Hub thumbnail
Building applications in a microservice architecture has become more and more popular recently. With this design pattern, an application is composed of multiple services that run independently and generally share data across network protocols.
KubernetesHelmWIPDevOps

Encrypted Mosquitto broker in Kubernetes

Encrypted Mosquitto broker in Kubernetes thumbnail
Mosquitto can usually be installed on an Ubuntu server fairly easily using the APT package manager. By Default, the broker handles unencrypted MQTT connections but it can be configured to use SSL certificates obtained, for example, using Certbot and thus enable MQTTs connections. This configuration is usually achieved by editing the Mosquitto configuration file in /etc/mosquitto so as to point to certificates obtained independently. However, when deploying Mosquitto to Kubernetes, one would prefer not to edit configuration files manually after install. Moreover, in Kubernetes, one can use Cert-manager to obtain SSL certificates. Thus, this article presents an efficient method to deploy a secure MQTTs broker in Kubernetes.
KubernetesMQTTTutorials

"Resizing" a PVC and its PV in Microk8s

With the storage addon enabled, microk8s can automatically provision a PV when a PVC is created. The size of the PV is set according to that of the PVC. However, PVCs cannot be resized after creation. The PVC could be deleted and recreated with a larger size but this would result in the deletion of the PV and, by extension, all the data stored so far in it. This article presents a workaround to resize a PVC and its corresponding PV without any loss of data.
TutorialsMediumKubernetesMicrok8s