<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kubernetes on The Blog of Boban Acimovic</title><link>https://acim.net/categories/kubernetes/</link><description>Recent content in Kubernetes on The Blog of Boban Acimovic</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>The Blog of Boban Acimovic &amp;copy; 2026</copyright><lastBuildDate>Sat, 26 Dec 2020 00:00:00 +0000</lastBuildDate><atom:link href="https://acim.net/categories/kubernetes/index.xml" rel="self" type="application/rss+xml"/><item><title>Automated MySQL MariaDB tables optimization in Kubernetes</title><link>https://acim.net/blog/automated-mysql-mariadb-tables-optimization-in-kubernetes/</link><pubDate>Sat, 26 Dec 2020 00:00:00 +0000</pubDate><guid>https://acim.net/blog/automated-mysql-mariadb-tables-optimization-in-kubernetes/</guid><description>&lt;p&gt;Kubernetes simplified applications management a lot and this also applies to databases like MySQL/MariaDB, but lot of DevOps forget to apply traditional maintenance and optimization which is still necessary unless you are using some &lt;a href="https://operatorhub.io/" target="_blank" rel="noopener"&gt;operator&lt;/a&gt;
 capable of doing so. The optimization method that will be described here applies just to single and master-slave replicated MySQL/MariaDB instances. If you run some clustered version like &lt;a href="https://galeracluster.com/" target="_blank" rel="noopener"&gt;Galera&lt;/a&gt;
, you probably have to find another way because of possible consistence and performance problems during the eventual optimization. This method would still work but you may have unpredictable consequences.&lt;/p&gt;</description></item><item><title>Sync Kubernetes volume with S3 bucket</title><link>https://acim.net/blog/sync-kubernetes-volume-with-s3-bucket/</link><pubDate>Tue, 06 Oct 2020 00:00:00 +0000</pubDate><guid>https://acim.net/blog/sync-kubernetes-volume-with-s3-bucket/</guid><description>&lt;p&gt;In the Cloud era topics like backup became kind of less important. One of the reasons is probably possibility to take automated snapshots of your volumes, another maybe that you can use some kind of redundancy. However, there are still use cases where you need more traditional ways to backup your data. In this article we will discuss about syncing files from your Kubernetes volume to S3 compatible storage.&lt;/p&gt;</description></item><item><title>Develop Kubernetes native applications in Golang with auto-recompile and auto-restart</title><link>https://acim.net/blog/develop-kubernetes-native-applications-golang-autorecompile-autorestart/</link><pubDate>Fri, 28 Aug 2020 00:00:00 +0000</pubDate><guid>https://acim.net/blog/develop-kubernetes-native-applications-golang-autorecompile-autorestart/</guid><description>&lt;p&gt;Do you develop or plan to develop a Kubernetes native application in Golang, controller or operator? Such application strongly depends on being inside Kubernetes and development outside of Kubernetes may be a real hassle. Usually you have to build an image over and over again and restart the pod (with &lt;em&gt;imagePullPolicy&lt;/em&gt; set to &lt;em&gt;Always&lt;/em&gt;). This is very boring and time consuming procedure.&lt;/p&gt;</description></item><item><title>Install cert-manager using helmfile</title><link>https://acim.net/blog/install-cert-manager-using-helmfile/</link><pubDate>Tue, 28 Jul 2020 00:00:00 +0000</pubDate><guid>https://acim.net/blog/install-cert-manager-using-helmfile/</guid><description>&lt;p&gt;You may wonder what the heck is &lt;a href="https://github.com/roboll/helmfile" target="_blank" rel="noopener"&gt;helmfile&lt;/a&gt;
? Well, I would say what is &lt;em&gt;docker-compose&lt;/em&gt; to &lt;em&gt;Docker&lt;/em&gt;, this is &lt;em&gt;helmfile&lt;/em&gt; to &lt;em&gt;&lt;a href="https://helm.sh/" target="_blank" rel="noopener"&gt;Helm&lt;/a&gt;
&lt;/em&gt;. Basically, it allows us to install the whole stack of applications to our Kubernetes cluster in a declarative way.&lt;/p&gt;</description></item><item><title>NFS provisioner for your K8S cluster</title><link>https://acim.net/blog/k8s-nfs-provisioner/</link><pubDate>Sun, 26 Jul 2020 00:00:00 +0000</pubDate><guid>https://acim.net/blog/k8s-nfs-provisioner/</guid><description>&lt;p&gt;Do you need &lt;strong&gt;ReadWriteMany&lt;/strong&gt; storage class and your cloud provider doesn&amp;rsquo;t offer it?&lt;/p&gt;
&lt;p&gt;According to &lt;a href="https://en.wikipedia.org/wiki/Network_File_System" target="_blank" rel="noopener"&gt;Wikipedia&lt;/a&gt;
, &lt;strong&gt;Network File System&lt;/strong&gt; (&lt;strong&gt;NFS&lt;/strong&gt;) is a &lt;a href="https://en.wikipedia.org/wiki/Distributed_file_system" target="_blank" rel="noopener"&gt;distributed file system&lt;/a&gt;
 protocol originally developed by &lt;a href="https://en.wikipedia.org/wiki/Sun_Microsystems" target="_blank" rel="noopener"&gt;Sun Microsystems&lt;/a&gt;
 (Sun) in 1984, allowing a user on a client &lt;a href="https://en.wikipedia.org/wiki/Computer" target="_blank" rel="noopener"&gt;computer&lt;/a&gt;
 to access files over a &lt;a href="https://en.wikipedia.org/wiki/Computer_network" target="_blank" rel="noopener"&gt;computer network&lt;/a&gt;
 much like local storage is accessed.&lt;/p&gt;</description></item><item><title>Using kubectl patch in continuous deployment</title><link>https://acim.net/blog/using-kubectl-patch-to-deploy/</link><pubDate>Wed, 23 Oct 2019 00:00:00 +0000</pubDate><guid>https://acim.net/blog/using-kubectl-patch-to-deploy/</guid><description>&lt;p&gt;How to deploy new Docker images to your Kubernetes cluster? Of course, there are many ways and one of the most common ways is to use &lt;em&gt;kubectl set image&lt;/em&gt;, for example:&lt;/p&gt;</description></item><item><title>New kind on the Block</title><link>https://acim.net/blog/new-kind-on-the-block/</link><pubDate>Thu, 03 Oct 2019 00:00:00 +0000</pubDate><guid>https://acim.net/blog/new-kind-on-the-block/</guid><description>&lt;p&gt;Few months ago I wrote an article about &lt;a href="https://acim.net/blog/forget-about-minikube-try-microk8s/"&gt;replacing Minikube with MicroK8s&lt;/a&gt;
, but now we have even better soluion, &lt;a href="https://kind.sigs.k8s.io/" target="_blank" rel="noopener"&gt;kind&lt;/a&gt;
. Like dind allows running Docker inside Docker containers, kind allows running Kubernetes inside Docker containers. kind basically abstracts nodes as Docker containers and then runs Kubernetes inside.&lt;/p&gt;</description></item><item><title>Inexpensive managed Kubernetes solutions</title><link>https://acim.net/blog/inexpensive-managed-kubernetes-solutions/</link><pubDate>Thu, 26 Sep 2019 00:00:00 +0000</pubDate><guid>https://acim.net/blog/inexpensive-managed-kubernetes-solutions/</guid><description>&lt;p&gt;&lt;a href="https://www.scaleway.com" target="_blank" rel="noopener"&gt;Scaleway&lt;/a&gt;
, a French company based in Paris, owned by &lt;a href="https://en.wikipedia.org/wiki/Iliad_SA" target="_blank" rel="noopener"&gt;Illiad&lt;/a&gt;
 telecommunication provider, just announced public availability of their managed Kubernetes solution called &lt;a href="https://www.scaleway.com/en/betas/#kubernetes-kapsule" target="_blank" rel="noopener"&gt;Kapsule&lt;/a&gt;
. Scaleway has 5 data centers, 4 in France and 1 in Netherlands, but at the moment Kapsule (public beta version) is available just in the datacenter in Paris. &lt;a href="https://www.digitalocean.com/products/kubernetes/" target="_blank" rel="noopener"&gt;DigitalOcean&lt;/a&gt;
 just got competition, so we can compare the pricing schemes in the later text.&lt;/p&gt;</description></item><item><title>Run K8S like ninja</title><link>https://acim.net/blog/run-k8s-like-ninja/</link><pubDate>Sun, 21 Jul 2019 00:00:00 +0000</pubDate><guid>https://acim.net/blog/run-k8s-like-ninja/</guid><description>&lt;p&gt;I&amp;rsquo;ve just seen a talk on YouTube where running self managed Kubernetes cluster was described as ninja technique. I strongly disagree with this and actually want to disapprove it in this article. Running self managed K8S can also be inexpensive if you use a provider such as Hetzner Cloud.&lt;/p&gt;</description></item><item><title>Forget Minikube, try MicroK8s</title><link>https://acim.net/blog/forget-about-minikube-try-microk8s/</link><pubDate>Wed, 22 May 2019 00:00:00 +0000</pubDate><guid>https://acim.net/blog/forget-about-minikube-try-microk8s/</guid><description>&lt;p&gt;&lt;a href="https://kubernetes.io/docs/setup/minikube/" target="_blank" rel="noopener"&gt;Minikube&lt;/a&gt;
 is very popular and the most known &lt;a href="https://kubernetes.io/" target="_blank" rel="noopener"&gt;Kubernetes&lt;/a&gt;
 version for local software development. It runs inside a virtual machine like &lt;a href="https://www.virtualbox.org/" target="_blank" rel="noopener"&gt;VirtualBox&lt;/a&gt;
 and allows developers to run Kubernetes applications locally. As &lt;a href="https://www.docker.com/" target="_blank" rel="noopener"&gt;Docker&lt;/a&gt;
 runs natively just on Linux, you may wonder why do we need virtual machine on Linux? Well, not anymore.&lt;/p&gt;</description></item><item><title>Complete your Kubernetes resources as code using helmfile and raw Helm chart</title><link>https://acim.net/blog/complete-your-kubernetes-resources-as-code-using-helmfile-and-raw-chart/</link><pubDate>Sat, 11 May 2019 00:00:00 +0000</pubDate><guid>https://acim.net/blog/complete-your-kubernetes-resources-as-code-using-helmfile-and-raw-chart/</guid><description>&lt;p&gt;&lt;a href="https://helm.sh/" target="_blank" rel="noopener"&gt;Helm&lt;/a&gt;
 is a great tool to deploy popular services and applications to your Kubernetes cluster, but from the moment I started using it I had a feeling that something is missing. You could easily configure and install whatever, but each chart that you use is a separate unit and there is no code containing all resources. This practically means in case of disaster it was still not easy to recreate the cluster, at least not in a quick time frame. Another contra is that in order to pin exact image versions, you would have to edit each values file every time you want to upgrade something.&lt;/p&gt;</description></item><item><title>Backup Kubernetes MySQL database to DigitalOcean Spaces</title><link>https://acim.net/blog/backup-mysql-databases-to-digital-ocean-spaces/</link><pubDate>Sun, 17 Feb 2019 00:00:00 +0000</pubDate><guid>https://acim.net/blog/backup-mysql-databases-to-digital-ocean-spaces/</guid><description>&lt;p&gt;Few days ago, &lt;a href="https://blog.digitalocean.com/announcing-managed-databases-for-postgresql/" target="_blank" rel="noopener"&gt;DigitalOcean announced PostgreSQL DBaaS&lt;/a&gt;
, which is really nice, but even better, they promised soon availability of MySQL and Redis managed services. While we are waiting for this, I will describe in this article how to backup your Kubernetes MySQL database to &lt;a href="https://www.digitalocean.com/products/spaces/" target="_blank" rel="noopener"&gt;Spaces&lt;/a&gt;
, DigitalOcean&amp;rsquo;s S3 compatible storage.&lt;/p&gt;</description></item></channel></rss>