Frédéric - DevOps Kubernetes expert
Ref : 151123W001-
74370 ARGONAY
-
Administrateur système, DevOps (64 ans)
-
Freelance

Expériences
Since June 2021 : Guarani
Work as a consultant for Cospirit Media Track and Beeshake (Lyon & Paris, France) : Kubernete expert
Kubernetes on Azure (AKS)
Kubernetes cluster migration (latest version : 1.20.7)
APIs migration before update, then rolling upgrade.
Helm v3 evangelisation.
Multi Ingress controllers (Nginx Kubernetes community) + cert_manager (Let's encrypt).
SLL/TLS keys and certificates managed by cert-manager.
Persistent storage
In fact, only 2 storage classes are available on Azure ("default" : RWO ; "azurefile" : RWX which is much more expensive). Switch to the appropriate storage class (persitent volume claims) according to rolling upgrade needs.
Monitoring console (Grafana for metrics and logs).
Grafana 8.1 deployed inside a K8s cluster.
Prometheus deployed and customized inside all K8s clusters to collect all metrics.
Promtail + Loki deployed and customized inside all K8s clusters to collect all logs.
Custom dasboards added on Grafana to display relevant graphics and logs.
Distributed tracing (all components deployed in a K8s cluster).
OpenTelemetry to collect tracing.
both Jaeger and Zipkin user interfaces.
Continuous integration.
Avoid Dockerfile to use BuildPacks (Paketo builder).
May 2021
Kubernetes expert.
Kubernetes on premise:
Kubernetes cluster installation using CRI-O container engine + Calico or Cilium CNI.
Helm v3:
Deploy chart information stored into a PostgreSQL database instead of Kubertes Secret resources.
Many tutorials published on LinkedIn : ********-********-226b657/detail/recent-activity/shares/
April 2020 – April 2021 : Alltitude
Work as a consultant for "la Caisse de Compensation" (Geneva, Switzerland) : OpenShift & Linux engineer.
Openshift (Kubernetes fork)
Evangelize good practices and adapted utilities:
Helm v3 promotion for the deployment of Kubernetes resources; separate the configuration of these resources from the application settings; modularity of applications using umbrella charts).
Writing use case examples.
Promote community graphics: ******** and edits them as needed.
Promote tools that improve productivity; readability and maintainability (management of secrets by sealed-secrets; continuous deployment using suitable tools such as ArgoCD or FluxCD; moving towards "serverless" technologies (e.g Fission ; Knative).
Update the existing Openshift 3.11 cluster:
to correct mistakes and security flaws
to make operative the first version of the CI / CD pipeline
to make specific OpenShift resources compliant with Kubernetest :
DeploymentConfig -> Deployment
Route -> Ingress + Secret
SecurityContextConstraint -> PodSecurityPolicy
to consider OpenShift 4.x migration (How to proceed, difficulties)
Edit Helm (v3) charts:
to manage Sonatype Nexus Helm repositories (proxy/hosted)
to define dependencies (modularity).
Review and correct the OCI image creation pipeline using Kaniko builder (Jenkins PodTemplate)
Use Helm charts to deploy utilities (e.g. Sonarqube ; Jenkins ...).
Provide expertise for security (image vulnerability, RBAC: service accounts + user accounts).
Linux, Ansible, SELinux
Linux
"bash" scripts (using "curl" and "jq" to interface RESTful applications).
Ansible
Modular design promotion (a configurable role limited to one action such as for example to manage "logrotate", and which will be used in different playbooks or other roles), to consider a continuous integration pipeline (e.g. using "molecule" as test tool).
Promotion of the use of (commit) tags for installation ; upgrade and cleanup.
Installing roles via ansible-galaxy.
Encryption of passwords and sensitive files using "ansible-vault".
Use of the community roles of ******** hub, even if it requires modifying them, creating other branches (Git), to avoid "reinventing the wheel"
Development of complete roles and playbooks for utilities deployment.
SELinux
"context" settings (files; ports) mandotory for REHL 8.x (e.g. non RedHat service).
NetApp/Trident
storagesclass settings for Kubernetes stateful applications.
"clone volume" feature for persistent volumes backup.
Agile, DevOps
Agile methodology
Promote the notion of difficulty (story points <=> complexity and amount of sweat), risk of failure, possibility of abandonment or change of solution for engineering projects, and maintain the notion of size of T-shirts for more common operations.
DevOps
Instead of the continuous integration chain leading to a deployment, promote GitOps principles where Git repositories (hosted by tools like BitBucket; GitLab ...) are the benchmark of truth. Continuous integration chains (which creates images, Helm cards) deposit in these registers on one side, and on the other, continuous deployment tools (such as ArgoCD; FluxCD ...) are absorbed in these repositories all the artifacts needed to deploy or update any application (hosted in a Kubernetes cluster).
March 2020 : Experis
Due to the Covid-19 pandemic, the mission for BNP Paribas was suspended ...
Tutorials about RHEL / CentOS 8.1 upgrade:
NetworkManager.
KVM.
Depuis le 26 Juin 2018 : Experis
En mission pour BNP Paribas (Suisse) : Docker/Kubernetes/Helm et intégration de nouveaux
projets.
Intégrer sous Docker/kubernetes.
◦ Adapter des applications wealth management à un cluster Docker (Swarm ou/et
Kubernetes) configuré pour répondre aux exigences sécuritaires du client.
◦ Renforcer la sécurité des containers Docker.
◦ Deploiement d'applications dans un cluster Kubernetes (Docker EE).
◦ Rédaction de guides de bonnes pratiques et évangélisation des principes de
containerisation :
◦ Docker :
▪ construction optimisée des images
▪ construction "multi staging"
◦ Kubernetes :
▪ principes de base : namespace ; pod ; service ; configmap ; secret
▪ réalisation de scripts bâtis autour de la commande "kubectl" en utilisant le filtre
JSONPath
▪ les contrôleurs : Deployment ; Job ; CronJob ; DaemonSet
▪ non persistent storage, Secret ; ConfigMap
▪ persistent storage : StorageClass ; PersistentVolume ; persistentVolumeClaim
▪ services : ClusterIP ; NodePort
▪ limitiation des resources au niveau d'un Namespace: LimitRange (pod/container) ;
ResourceQuota
▪ Events ; logs & metrics
▪ éviction des pods d'un node ("cordon" ; "drain" ; "undrain" ; "PodDisruptionBudget")
▪ label des nodes, "nodeSelector"
▪ Ingress
▪ création de containers "sidecar" pour récupérer les logs d'un autre container du
même pod
Configuration des hooks "PreStart" et "PostStop" au niveau container.
◦ Sécurité :
▪ RBAC
ServiceAccount ; x509 user account
Role ; CluserRole
RoleBinding ; ClusterRoleBinding
◦ Helm v2/v3
▪ création de charts pour déployer des applications
▪ installation de la stack EFK (Elasticsearch ; Fluent bit ; Kibana) pour collecter les logs.
Attention : la suite ELK n'est pas adaptée à Kubernetes !
◦ Kubernetes operator :
▪ Etudier l'installation de MongoDB EE via un operator
Intégrer de nouvelles applications.
◦ Mettre en place dans l'environnement du client, des applications conçues par des startup, Toucan Toco par exemple : ********-bnpwealth-management-mise-sur-toucan-toco-pour-sa-dataviz-72814.html .
Mission de conseil :
◦ Intégration DevOps dans un mode GitOps (Git est la référence de tous les artifacs,
l'intégration continue dépose dans un repository Git les images de container + Helm
charts + custom resources ; le déploiement continu se fait à l'aide de webhooks définis
dans Git).
◦ Remplacement de Docker pour construire les images OCI par des alternatives : Kaniko et
Jib.
Déploiements dans le cloud (à la maison) :
◦ Création de tutoriels dans un cluster Kubernetes dans un cloud DigitalOcean.
Environnement technique : RedHat Enterprise Linux ; Ubuntu ; Docker; Swarm/Kubernetes ; Helm
v2 & v3; Alpine ; Ansible ; BitBucket ; SELinux ; Linux capabilities
Avril-Juin 2018 : Qualis Consulting
En mission pour la SNCF : containerisation des logiciels middleware.
L’objectif est de délivrer tous les logiciels middleware sous la forme de containers Docker.
◦ Création des fichiers Dockerfile et Jenkinsfile ("stages" : récupérations des fichiers Git ;
construction des images et envoi vers le Docker registry approprié géré par Portus).
◦ Fabrication des images grâce à un POD OpenShift (Jenkins slave server on demand).
◦ Validation des images à l'aide de "docker inspect" et BATS.
◦ La construction des images (Jenkins pipelines) se fait dans des pods OpenShift hébergé
sur un cloud Azure.
Environnement technique : CentOS/Ubuntu ; Docker ; Kubernetes ; OpenShift ; Atomic ; Jenkins ;
Portus ; Git
Mars 2018 : Qualis Consulting
En inter-mission : approfondissement des compétences orientées DevOps pour rebondir sur de
nouvelles missions.
L’objectif est d’obtenir un déploiement d’applications sous la forme de containers Docker.
◦ Création de machines virtuelles KVM pour limiter le nombre de machines physiques à
utiliser.
◦ Création de nouvelles images à partir des images de base de la forge Docker Hub.
◦ Stockage de ces images dans une "registry".
◦ Étude de solutions d’orchestration.
◦ Configuration des machines à l’aide de l’outil Ansible.
Les tutoriels sont à découvrir sur http://frederic-********.********
Environnement technique : CentOS ; KVM ; Docker ; Kubernetes ; Rancher ; Ansible
Décembre 2017-février 2018 : Qualis Consulting
En mission chez April Technologies : expert Linux.
Reprise en main de l’existant pour le rendre de nouveau opérationnel et en assurer le support
niveau 3.
◦ Correction des étapes de validation des modules Puppet dans Jenkins, et écriture de
nouveaux modules Puppet.
◦ Proposition de simplification : regrouper les classes Puppet à appliquer et leur
paramétrage dans "hiera" uniquement, synchroniser Jenkins par un "hook" dans Git et
revoir la configuration de R10k, migrer Puppet 3.8 → 5.3 (+ PuppetDB + Puppetboard) et
séparer par communauté les modules issus de la forge pour résoudre les problèmes de
dépendance.
◦ Promotion des containers Docker pour les outils dans un premier temps, Jenkins comme
exemple.
◦ Sécurité : étude des failles de sécurité Meltdown et Spectre : mesure des dégradations
des performances après application des correctifs, analyse des risques réels et
formulation de recommandations.
Environnement technique : Redhat ; Satellite ; Puppet ; Git ; Jenkins
Octobre 2017-novembre 2017 : Almerys/Gnúbila
La société Almerys ******** procède au rachat de la société Gnúbila.
Ingénieur système en charge de la mise en œuvre de l’infrastruture Big Data.
Mise en œuvre du cluster Apache Hadoop HDP de production.
◦ Installer et rendre opérationnel un cluster Hadoop Data Platform, géré par Ambari, avec
les composants Ambari metrics ; smartsense ; HDFS ; Zookeeper ; Yarn ; Oozie ;
MapReduce2 ; Spark ; Hive ; Hbase ; Atlas et Zeppelin notebook.
◦ Les composants ont été mis en mode haute disponibilité.
◦ Ajout des services NiFi et Kafka.
◦ Gestion des accès par Ranger (en relation avec un Active Directory).
◦ Protection du cluster grâce à Knox gateway.
◦ SSL : Shiro ; Kerberos : Spnego.
Environnement technique : CentOS ; Apache Hadoop ; Apache Ambari
Mars 2016-septembre 2017 : Gnúbila
La société Gnúbila/Maat France ******** est spécialisée dans l’anonymisation des données
pour lesprojets de recherche médicale.
Responsable de l'infrastructure et de la sécurité.
Responsable de l'infrastructure et de la sécurité.
Maintenir l’infrastructure existante et la faire évoluer selon les nouvelles orientations et
projets de la société.
◦ Maintien opérationnel de l’existant.
▪ Résolution de tous les changements et incidents.
▪ Migration des serveurs XenServer et des version Linux.
▪ Compilation et distribution d’applications dans des containers Docker.
▪ Développement de classes Puppet.
◦ Mise en œuvre d’un environnement complet Big Data Apache Hadoop.
▪ Test des solutions Cloudera et Hortonworks.
▪ Réalisation d’un POC Hadoop (solution Hortonworks retenue) : Clusters HDP et HDF
gérés par Ambari
Environnement technique : CentOS/Debian/Puppet/Check_MK/XenServer/Vmware/Hadoop
Août 2015-mars 2016
Création de tutoriaux sur Linux et la virtualisation.
Vulgariser différents modes de virtualisation.
Ces tutoriaux sont à découvrir sur http://frederic-********.net
Environnement technique : différentes distributions Linux ; Vmware ; Docker/Kubernetes
Projets actuels
Virtualisation sur serveurs Intel
VMware ESXi 5.5.0/6.0 : installation ; configuration et administration de machines virtuelles sous distributions Linux comme Debian 8.2/Ubuntu 15.10/Mint 17.2 et CentOS 7.1/fedora 22, mais aussi Oracle Solaris X86 11.2. Utilisation de vShpere Client pour la gestion ESXi, des VMWare Tools et de Bitvise (client ssh).
Oracle VM VirtualBox : support d'Oracle Solaris sur un serveur Windows.
Linux
Apports du nouveau système de fichiers d'origine Solaris : ZFS.
Mise en place d'un server DNS.
Mise en place de WordPress.
Configuration de "systemd" et "control groups".
Configuration de "firewalld".
Documentation
Rédaction d'articles sur Vmware et Linux en Wordpress sur ********-********.net.
2013-Juillet 2015 Tanit Services S.A. ******** (Suisse)
Ingénieur AIX en prestation pour l’État de Genève.
Traitement des changements et des incidents (AIX 5.3 ; 6.1 & 7.1 ; PowerHA 6.1 & 7.1).
Migration des serveurs (firmware AM780 ; AIX 6.1/7.1 ; VIOS 2.3.3 ; HMC V8) à l’aide des outils Media Discovery Service et Fix Level Recommendation Tool.
Mise à jour RSCT sur tous les serveurs (pour communiquer avec les HMC V8).
Migrations AIX (NIM alternate disk migration) : AIX 5.3 → 6.1 → 7.1 et application de TL et SP (NIM).
Installations : partitions AIX 7.1 puis mise en clusters PowerHA 7.1.3.
Sortie des vWPAR 5.3 (impasse : migration impossible) pour réinstallation en AIX 7.1.
Amélioration des performances : Dynamic Platform Optimizer ; VIOS Performance Advisor Tool ; SMT8.
Oracle DB : 11g surveillance du segment "USLA heap" (memory leak) ; pour la migration 11g → 12c : configuration driver IOCP ; surveillance avec svmon de la SGA (shared memory segments). Analyse des performances CPU (POWER7/POWER8) et I/O (num_cmd_elems ; queue_depth ;pbufs ; JFS2 buffers ; demoted I/O). Bases dépassant 16 TB !
Surveillance au niveau Kernel : AHAFS.
Optimisation du hardware avec system plan.Analyse des sockets TCP/IP (avec kdb).
Analyse de l'utilisation de l'espace de pagination (avec svmon).
Écriture de scripts (KSH93 ; Perl).
Développement C : paramètrage des sockets TCP/IP
Développement Java : gestion des signaux POSIX ; multithreading.
Rédaction de documentations techniques (format SPIP).
"évangélisation" des bonnes pratiques AIX auprès des équipes en charge du midleware (par exemple : pour Oracle depuis la 11g : ne plus définir l'option CIO au niveau file system mais dans les options d'Oracle, et pour les versions antérieures : faire un premier montage normal puis un remontage (NameFS) avec l'option CIO ; comment utiliser les "file collections" de PowerHA ; le bon usage des snapshots JFS2 ; promouvoir l'automounter NFS ; inciter à s'orienter vers RBAC et oublier "sudo" ; ajouter des segments data aux applications 32 bit ; passer les applications en segments de 64k ; utiliser Java8/7 au lieu de Java6/5 pour obtenir une meilleure gestion mémoire ...).
2011-2012 MGI Consultants ******** (France)
Ingénieur AIX/Linux en prestation pour iCDC Paris (toute l'informatique du groupe Caisse des Dépôts)
Amélioration de la sécurité par passage de DAC à RBAC (recommandé par SOX3) : l'objectif est d'autoriser certaines commandes à l'équipe de pilotage sans utiliser sudo. Etude de Trusted Execution pour sécuriser certains scripts.
Mise en place de l'audit AIX sur certains fichiers pour en tracer les modifications.
Proposition pour améliorer les performances d'AIX : (lorsques les I/O ont été optimisés) l'objectif est de réduire le coût du context switch : tenter de passer les applications en pages de 16MB (64KB sans configuration système) au lieu de 4KB, ajuster les virtuals processors dans les dLPAR et dans les share pools. Comportement du processor folding.
Amélioration des performances réseau : 802.3ad ; 802.1q ; ECN ; fenêtrage TCP ; taille des MTU ; tcp no_delay ; sack & hstcp ; offloading & dog threads. Comportement du gratuitous
ARP ; netcd (network caching daemon). Analyse du protocole TCP à l'aide des outils
tcpdump ; iptrace + wireshark pour suivre les échanges entre des serveurs AIX reliés entre eux par des routeurs et des firewalls.
Prévention des bpdu broadcast storms (risque apparaissant si mauvaise configuration des failover dual VIOS).
Snaposhots JFS2 pour certains backups.
Mise en place du journal based backup pour les sauvegardes TSM.
WPAR "système" sur AIX 7.1
Active system optimizer (2 x Power7 + AIX 7.1).
Animateur du comité des ressources AIX : interface avec les équipes projets.
Référent UNIX pour les Projets Stratégiques (nouveaux projets pour la Caisse des Dépôts)
Activités récurrentes d'installation (alt_disk_copy/alt_rootvg), de support et de maintenance sur serveurs basés sur les processeurs P6 & P7 : AIX 6.1 ; VIOS 2.2 (SEA en failover ; vSCSI et NPIV/vfc) ; clusters HACMP 5.4/6.1 ; mirror pools.
1998-2011 Odyssey Financial Technologies ******** (Suisse), éditeur du logiciel Triple'A, acheté par le groupe Temenos (fin 2010).
ingénieur IT , responsable de l'infrastructure UNIX (développement ; tests ; support aux clients et outils internes).
Encadrement et diffusion des nouvelles technologies.
Virtualisation : AIX/IBM i/VIOS dLPAR ; zones (native solaris 10 & brandz Solaris 8/9) et containers Solaris sur serveurs M4000/M3000
Architecture et mise en oeuvre d'un projet SaaS (Solaris 10 ; ZFS & NFS v4 ; IPMP).
Test des performances sur processeurs T (serveur T2000).
Installation et test de Solaris 10/X86 sous WMware.
Rédaction de documentations et de guides de bonnes pratiques. Suivi des recommandations ITIL.
Analyse de performance et conseils pour le développement.
Résolution d'incidents, maintenance et évolution de plus de 150 serveurs.
Conception et installation de tous les serveurs UNIX, Négociation des contrats avec les fournisseurs.
Administration du stockage (NAS/SAN/iSCSI sur matériel NetApp) et configuration des switches fibre CISCO (zoning).
Configuration de NIM pour les installations des serveurs AIX. Mise en oeuvre de System director pour l'administration du parc IBM.
Stratégie de sauvegarde. Paramètrage de EMC Legato Networker pour la sauvegarde des données.
Améliorations réseau : VLAN et multipathing.
Intégration avec Windows (Cygwin ; Samba & CIFS ; ldap).
1991-1998 Sopra group ******** (France)
Ingénieur système et réseaux.
Installation, configuration et résolution de problèmes.
Administration récurrente.
Scripts UNIX.
Portage d'applications vers UNIX.
Formation du personnel de la Banque Calédonienne d'Investissement à l'admistration UNIX.
Développeur (langage C).
Conception et développement de différentes interfaces entre des logiciels et des applications réseau (par exemple avec S.W.I.F.T.).
1985-1991 CCMC – Sopra (France)
Développeur.
Responsable de la partie micro-informatique (IBM PS sous OS2) du système de résultats des Jeux Olympiques d'hiver (Albertville).
Développeur C/Pascal/assembleur d'applications réseau.
Conception et réalisation de protocoles asynchrones and synchrones.
Stages
Eurodial Télé-systèmes : Développement Fortran.
Rhône-Poulenc : développement sur gros systèmes IBM.
Soft skills
Evangelization of new technologies and their good practices, transmission of knowledge with pedagogy..
Ability to write clear and precise documentation with examples of use cases.
Team player.
Service oriented.
Compétences
O.S.
AIX 4.3.3 ; 5.1 ; 5.2 ; 5.3 ; 6.1 ; 7.1
VIOS (NPIV ; SEA / LHEA)
Solaris 7 ; 8 ; 9 ; 10
Linux RedHat Entreprise Linux 5 ; Ubuntu
HP-UX 11i
Stockage
SAN (Cisco fabric manager) ; iSCSI and NAS (NFS v4 & CIFS) sur matériel NetApp
Virtualisation & consolidation
VMware pour Linux et Solaris 10 X86
dLPAR pour AIX et IBM i
Containers Solaris : zones natives Solaris 10 et brandz pour supporter Solaris 8 & 9
Réseau
Jumbo frame ; VLAN ; link aggregation ; I.P. Multipathing
protocole TCP/IP
Sauvegardes
EMC Legato Networker for Data ; sauvegardes système avec ignite (HP-UX) ; mksysb (AIX) ;
flash archive (Solaris) ; Acronis True Image (Linux)
Installations
NIM pour AIX
Interfaces avec Windows
Cygwin version refaite pour Odyssey : ssh ; X server ; utiliser bash sur Windows
Samba : authentification faite par un Active directory
Gestion du matériel
Integrated Lights-Out (HP) ; ASMI & HMC console (IBM) ; alom & xscf (SUN) ; DRAC & Dell
OpenManage
Gestion des systèmes
IBM systems director ; Oracle Enterprise Manager ops center
monitoring
Centralized syslog ; hobbit ; zabbix
Analyse des performances
Pour AIX au niveau I/O ; mémoire et CPU
Clustering
IBM PowerHA (HACMP) 5.4 / 6.1 / 7.1.3
Commandes UNIX
ksh & bash shells ; commandes UNIX classiques
Programmation
Langage C ; scripts Perl ; python ; Java
Divers
Suivi des recommandations ITIL
Formation
Ingénieur en informatique diplômé de l'I.N.S.A. Lyon (France).
Education
IT engineer graduated from I.N.S.A. Lyon (France).
Langues
Français : langue maternelle
Anglais : courant