AccueilBlogTest technique Docker et Kubernetes avancé pour la data
Guide recrutement data

Test technique Docker et Kubernetes avancé pour la data

Au-delà des bases Kubernetes, les Data Engineers déployant Airflow, Spark ou des APIs ML en production ont besoin de Helm, des StatefulSets et de GitOps. Voici ce qu on évalue au niveau Senior.

Data Builder·Juin 2025·7 min de lecture·Data Engineer
Sommaire
  1. Helm : gestionnaire de packages K8s
  2. StatefulSets pour les workloads data
  3. Secrets management sécurisé
  4. GitOps avec ArgoCD
  5. Airflow sur K8s
  6. Monitoring des workloads data
  7. Grille

1Helm : déployer des applications complexes

Question discriminante

Qu est-ce que Helm ? Comment l utilisez-vous pour déployer Airflow sur Kubernetes ?

# Helm : gestionnaire de packages Kubernetes # Chart = package K8s réutilisable # Ajouter le repo Airflow helm repo add apache-airflow https://airflow.apache.org helm repo update # Installer Airflow avec des valeurs personnalisées helm install airflow apache-airflow/airflow \ --namespace airflow \ --create-namespace \ --values airflow-values.yaml # airflow-values.yaml executor: KubernetesExecutor env: - name: AIRFLOW__CORE__LOAD_EXAMPLES value: 'false' persistence: enabled: true dags: persistence: enabled: true storageClassName: standard gitSync: enabled: true repo: https://github.com/org/dags-repo branch: main

2StatefulSets : workloads avec état persistant

Question discriminante

Quand utilisez-vous un StatefulSet plutôt qu un Deployment dans un contexte data ?

# StatefulSet : pour les workloads qui ont besoin # d identité stable et de stockage persistant apiVersion: apps/v1 kind: StatefulSet metadata: name: kafka spec: serviceName: kafka-headless replicas: 3 template: spec: containers: - name: kafka image: confluentinc/cp-kafka:7.5 volumeMounts: - name: data mountPath: /var/kafka-data volumeClaimTemplates: # PVC créé automatiquement par pod - metadata: name: data spec: accessModes: [ReadWriteOnce] resources: requests: storage: 50Gi

3Secrets management sécurisé

Question discriminante

Comment gérez-vous les credentials (clés API, mots de passe) dans un cluster Kubernetes ?

4GitOps avec ArgoCD

Question discriminante

Qu est-ce que GitOps ? Comment ArgoCD synchronise-t-il un cluster Kubernetes ?

# Application ArgoCD apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: airflow-prod namespace: argocd spec: project: default source: repoURL: https://github.com/org/k8s-infra targetRevision: main path: apps/airflow/prod destination: server: https://kubernetes.default.svc namespace: airflow syncPolicy: automated: prune: true # supprimer les ressources retirées du repo selfHeal: true # resynchroniser si quelqu un modifie K8s manuellement

5Airflow sur Kubernetes : KubernetesExecutor

Question discriminante

Quelle est la différence entre CeleryExecutor et KubernetesExecutor pour Airflow ?

CeleryExecutorKubernetesExecutor
WorkersPool de workers permanentsUn Pod par tâche (créé/détruit)
IsolationFaible (workers partagés)Maximale (pod dédié)
ScalabilitéFixe ou autoscaling CeleryAutomatique K8s
CoûtWorkers toujours allumésPaye seulement pendant l exécution
ComplexitéNécessite Redis/RabbitMQK8s natif, plus simple

6Monitoring des workloads data K8s

Question discriminante

Comment monitorez-vous vos pipelines data déployés sur Kubernetes ?

7Grille par niveau

NiveauMaitriseSignal GONO-GO
ConfirméHelm basique, déploiements K8s, secrets managementA déployé Airflow avec Helm, utilise External Secrets ou Workload IdentityStocke des credentials dans les manifests K8s
SeniorStatefulSets, GitOps ArgoCD, KubernetesExecutor, monitoringA mis en place GitOps avec ArgoCD, a déployé Airflow avec KubernetesExecutorNe sait pas ce qu est GitOps, ne connaît pas ArgoCD

Vous recrutez un Data Engineer K8s avancé ?

Premier entretien gratuit. Rapport GO/NO-GO sous 48h.