Articles

Kubernetes

Nginx as reverse proxy in Kubernetes

Nginx as reverse proxy in Kubernetes thumbnail
Although API gateways such as Kong exist, a simple reverse-proxy can be created using NGINX. Here is a sample manifest to do so in Kubernetes
KubernetesTutorials

Migrating a Kubernetes PV to a new storage class

Migrating a Kubernetes PV to a new storage class thumbnail
Kubernetes provides an abstraction layer for persistent data storage. Volumes can be of various storage classes depending on user requirements. Those requirements can evolve with time, meaning that volumes sometimes need to be migrated from one storage class to another. This article introduces a method to do so.
TutorialsKubernetes

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