Strimzi Kafka Kubernetes Operator
Like I said in my last post about zalando postgresql operator, Kubernetes is a very powerful tool that can be extended with operators to handle new custom resources. Custom resources can be anything ! A database cluster, a certificate, a prometheus rule or even a Kafka Cluster ! Strimzi operator goal is to deploy and…
Zalando Postgresql operator
Kubernetes is a very powerful tool to manage containerized applications. You can manage containers with « pod » resource, lifecycle with « deployment » resource, network with « service » and « ingress » resources, etc.. And if you want, you can extends the list of resources that kubernetes can handle with custom resources definitions. Then those CRDs will be managed by an…
Hashicorp Vault PKI + Cert-manager
Today, Kubernetes is the most popular container orchestration tool. It allow us to deploy all our applications without worry about networking, rolling update process, health checks, etc.. By default communications between application in the cluster are not encrypted, so we need to generate TLS certificate for each applications, and we need to automatize it !…
K3S : Lightweight Kubernetes. 5 less than k8s.
Today, I will talk about a tool I discovered recently that I use a lot to create local Kubernetes environments : k3s k3s allow you to create local k8s cluster, and try your application deployments before pushing it to production. You can use the k3s quick start, or use the k3d binary to deploy a…
Kustomize
Since we have migrated all our application deployment to Kubernetes, we needed to automatize the deployment of each application for different environments (integration and production). By default kubectl files are not really customizable. That’s why we choose Kustomize to deploy our apps. And now Kustomize is part of kubectl binary. You can just put your…
Prometheus Alertmanager Grafana annotation
At work, I’ve deployed a Prometheus Stack to monitor our Kubernetes pods and nodes. Apps are exposing metrics on their /prometheus/metrics endpoint, then metrics are collected by Prometheus and stored into Prometheus + Thanos. Finally, we can use Grafana Prometheus data-source to create dashboards to see those metrics. Here is a schema of the architecture…
Kubernetes Deployment with Terraform
Terraform is a very powerfull tool for creating compute, network, storage ressource on every public cloud provider. It have a declarative language, so what you write is what you get. For example if you remove a compte server from your terraform config file, the next time you apply your configuration, the server will be destroyed.…
Ansible AWX in Kubernetes
AWX Since one year now, Red Hat open sourced Tower as AWX, the Web UI to deploy with Ansible. Awx allow you to manage all your Ansible projects, with inventories, encrypted credentials, playbooks, etc, in a great Web UI. For example, you can create in AWX multiple credentials which are encrypted into Awx database to…
How to migrate from ansible vault to hashicorp vault
Ansible Vault Today, all our project passwords are stored in ansible vault files, on file per environnement, stored in a « passwords » directory They are loaded at the beginning of the main playbook : — – hosts: all:!localhost any_errors_fatal: true gather_facts: true pre_tasks: – include_vars: password/password_{{ env }}.yml connection: local no_log: True tags: – password -…
Ansible Mitogen
Today I discovered a new ansible strategy module that increase ansible performance a lot : Ansible Mitogen. Mitogen is a python library for writing distributed self-replicating programs. You can read a great article about this here : https://sweetness.hmmz.org/2018-03-06-quadrupling-ansible-performance-with-mitogen.html After some benchmark, I confirm : Mitogen is very fast ! I’ve divised my deployment by 2…