Work Experience
Kubernetes Consultant and SRE (freelance contractor)
Maintenance and evolution of 8 on-premise Kubernetes platforms (12 to 186 nodes, from development to production) managed by Kubespray on top of VMware infrastructure
- Resolved outages in various parts of the stack, with workarounds when needed and upstream fixes when possible
- Switched all infrastructure-related applications (logging, metrics, ingress, etc) from manual deployment to ArgoCD
- Led and implemented Kubernetes authentication transition from manually created x509 certificates to OIDC (using existing internal SSO), allowing short lived credentials (1 day instead of 1 year) and tying access to people identities
- Automated the migration of all our clusters from RHEL8 to RHEL9 nodes without downtime
- Trained my team (of 4 people) on cluster and addons upgrades, and general Kubernetes knowledge
- Deployed several Kubernetes "addons" (including Sealed Secrets, RabbitMQ operator, KEDA scaling), implemented usage in applications, and helped application developers to take ownership of the result
Technologies: Kubernetes, Ansible, Prometheus, Alertmanager, ArgoCD, RabbitMQ, Gitlab, Java
Software Engineer
- Started redesigning the integration with Openshift observability stack, which was duplicated inside the product
- Optimized S3 client synchronization between two Ceph object store, making it 3 (full-sync) to 32 (incremental sync) times faster and avoiding crash due to resources exhaustion
- Fixed mistakes in autogenerated data files not matching their defined schema by deleting manual validation and moving it to the existing Python declarative validation framework (voluptuous)
Technologies: Python, Prow, Tekton, Go, Openshift, Prometheus
Cloud Consultant
- Client: Rectorat de Rennes (French National Education): Maintenance and evolution of 8 on-premise Kubernetes platforms
(~10-70 nodes, from development to production), based on Kubespray
- Helped the team leverage Kubernetes features to orchestrate rapid scale up (scan and OCR of ~ 1 million exam papers over 4-6 hours time slots)
- Converted the Kubernetes cluster upgrade process from manual copying of Kubespray sources to version-controlled dependencies (git submodule)
- Scripted and documented the Kubernetes cluster upgrade process, reducing human error on upgrades, which allowed us to catch up on Kubernetes versions (7 versions on 8 clusters in ~1 year, with production workloads)
- Deployed a log collection system in collaboration with the centralized logging team and trained applications developers to configure log ingestion with container-level granularity
- Migrated all our Kubernetes clusters from RHEL7 to RHEL8 hosts without downtime
- Internal: Co-redacted and taught 2 to 3-day training sessions, and maintained lab infrastructure for those (subjects: Kubernetes, Openshift, Openstack, Ansible, git)
Technologies: Kubernetes, Openshift, Openstack, Ansible, Jenkins, bash, filebeat
Intern
- Digitized the expense reports process
- Digitized trainings evaluation questionnaire for trainees (external customers)
- Implemented Continuous Integration for our trainings materials to catch mispelling and dead links
Open-source
Primary maintainer of Kubespray (a Kubernetes installer using Ansible)
- Refactored and optimized CI (Gitlab-CI + Kubevirt), reducing individual end-to-end test runtime from > 30 minutes to < 10 minutes (multiple contributors work)
- Automated components upgrading (Kubernetes, network plugins, addons)
- Maintained a bare-metal Kubernetes cluster for our CI infrastructure (hosted by Equinix Metal, then migrated to Oracle Cloud Infrastcture)
Contributor to CNCF and Linux ecosystems
Contributed documentation updates and small fixes and features on projects used in and oustide work, including Ansible (bugfixes & features), glibc (IMAP-UTF-7 support), Kubernetes (docs), systemd (docs), RabbitMQ operator (docs)
Awards
Kubernetes Contributor Award 2024 for my work on Kubespray
Education
École 42
-Project based, C and POSIX API