Articles

Mettre à jour la configuration de l'Identity Provider OpenShift, version ceinture, bretelles et parachute

Depuis OpenShift 4, la configuration de l’Identity Provider OpenShift est gérée sous la forme de Custom Resource Definitions (CRD) Kubernetes. Ce mécanisme permet de modifier sa configuration en utilisant l’API Kubernetes. Mais si l’accès à l’API Kubernetes est soumis à l’authentification du dit Identity Provider, n’y a t’il pas un risque de se retrouver dehors avec la clé à l’intérieur ? Effectivement, c’est un risque. Dans cet article, je présente une méthode pour mettre à jour la configuration de l’Identity Provider OpenShift quand on n’a ni le mot de passe kubeadmin, ni le fichier kube.config généré à l’installation. Continuer la lecture

Fibre Orange : Remplacer sa Livebox par un routeur CentOS Stream 8

Je suis abonné à l’offre Fibre d’Orange depuis 2016. Et si je suis globalement satisfait de la qualité du réseau, je ne peux pas en dire autant de la Livebox fournie par Orange. Les limitations sont nombreuses pour un geek souhaitant faire de l’hébergement de services à la maison : une seule plage IPv6 en /64, pas de configuration possible des tables de routage pour avoir plusieurs sous-réseaux IPv4, etc. J’ai donc décidé de remplacer la Livebox par un routeur basé sur CentOS Stream 8. Et l’aventure ne fut pas un long fleuve tranquille ! Cet article présente la configuration que j’ai mise en place et qui me donne aujourd’hui satisfaction. Continuer la lecture

Build multi-architecture container images with Kubernetes, Buildah, Tekton and QemuBritish flag

ARM servers are becoming mainstream (Ampere Altra server, Raspberry Pi SoC, etc.) and people start using them with containers and Kubernetes. While official Docker Hub images are built for all major architectures, the situation is less clear for other Open Source projects. It is possible to acquire an ARM server and use it to build container images, but it puts an additional constraint on the Continuous Integration chain. This article explores another option: build ARM container images on a regular x86 server, using Kubernetes, Buildah, Tekton and Qemu. Continuer la lecture

À la découverte de CoreOS !

Avec le rachat de la société CoreOS par Red Hat et le développement d’OpenShift 4, est arrivé un nouveau concept dans l’écosystème Red Hat : le système d’exploitation spécifique aux conteneurs. Au sein d’une série de deux articles, celui-ci présente CoreOS, son mécanisme de mise à jour ainsi que les principales différences avec Red Hat Enterprise Linux. Continuer la lecture

Installation et mise à jour d'un OpenShift en environnement déconnecté

Beaucoup de mes clients travaillent en environnement déconnecté. C’est à dire que les environnements de production ne sont pas connecté à internet de manière directe: les flux entrants passent par un reverse proxy et les flux sortant sont souvent complètement interdits pour éviter l’exfiltration de données. OpenShift peut être installé dans ces environnements déconnectés. C’est même documenté par Red Hat. La documentation pouvant être intimidante au premier abord, je propose ici un résumé “clé en main” de la marche à suivre. Continuer la lecture

Deploy APIs from your CI/CD pipeline with the 3scale REST APIBritish flag

In the past years, I spent time (maybe too much) designing and implementing CI/CD pipelines around 3scale. This led to the birth of the threescale_cicd ansible role. I also helped on the design of the 3scale_toolbox and crafted a Jenkins shared library as well as sample CI/CD pipelines using the 3scale_toolbox. I had the opportunity to train colleagues and transmit this knowledge but I never took the time to set it down on paper. Continuer la lecture

Consistent DNS name resolution for virtual machines and containersBritish flag

When developing on microservices, developers need to run a mix of software. Some of them running in containers, others in virtual machines, some others in the cloud and the rest on the developer’s workstation. Microservices having a lot of connections between themselves in addition to technologies such as TLS or OpenID Connect implies DNS names to be consistent. Consistent DNS names means that no matter if a client on the developer workstation, on a VM or on a container, trying to reach a server on the developer workstation, on a VM or on a container, the server DNS name must always be the same. This article explains how to setup a developer workstation on Fedora, with Libvirt VMs and Podman containers and achieve consistent DNS name resolution. Continuer la lecture

Deploy OpenShift Single Node in KVMBritish flag

Starting with version 4.8, OpenShift can now officially be installed on a single virtual machine (instead of three). This effectively lowers the resources requirements and open up new possibilities for home labs or developer workstations. This article explores how to deploy OpenShift Single Node (SNO) using KVM on your Fedora workstation. Continuer la lecture

How to run performance tests with K6, Prometheus and GrafanaBritish flag

K6 is a novel performance testing tool written in Go, using plain Javascript for the test definition and presenting the test results through Grafana. An existing article written in 2018 explains how to setup K6 with InfluxDB and Grafana, however Prometheus gained popularity over InfluxDB since then. Proper integration of K6 with Prometheus is a clear lack identified by the community. Here I explain how to integrate K6 with Prometheus using the existing StatsD support in K6, present the Grafana dashboard I built, and show how to use it. This integration fills a gap and provides a quick win for companies already using Prometheus. Continuer la lecture

Sauvegarder la configuration de ses EdgeSwitch et EdgeRouter avec Ansible

J’utilise des équipements de marque Ubiquiti dans mon réseau informatique à la maison: un EdgeSwitch et un EdgeRouter. Et jusqu’à présent, je n’avais pas mis en place de moyen simple et automatisé pour sauvegarder leur configuration. C’est désormais chose faite avec ce playbook Ansible qui me sauvegarde la configuration des deux équipements et me l’enregistre dans un entrepôt Git. Continuer la lecture