NetworkPolicy facultatives qui
restreignent le trafic pouvant atteindre le pod du controller manager — le processus
de l’opérateur lui-même, et non le ClickHouse server ni les pods Keeper. Elles sont désactivées par
défaut, vous ne les activez donc que si vous souhaitez isoler le trafic entrant de l’opérateur.
Les politiques couvrent les deux ports que l’opérateur expose à d’autres clients : le point de terminaison des métriques
et l’admission webhook.
Une
NetworkPolicy n’est appliquée que lorsque le plugin CNI du cluster l’implémente
(par exemple Calico ou Cilium). Sur un CNI sans prise en charge de NetworkPolicy, les
ressources sont créées mais n’ont silencieusement aucun effet — Kubernetes ne renvoie aucune
erreur. Vérifiez que votre CNI applique bien ces politiques avant de vous y fier.Ce que crée le chart Helm
Les deux politiques déclarent uniquement
policyTypes: [Ingress]. Elles ne restreignent pas le trafic sortant
de l’opérateur et ne concernent ni les pods du serveur ClickHouse ni ceux de Keeper.
Refus par défaut
NetworkPolicy d’entrée, il passe en refus
par défaut du trafic entrant : dès qu’une politique s’applique, tout trafic entrant vers le
pod du controller manager qui n’est pas explicitement autorisé est bloqué. Après activation,
les seuls flux entrants qui atteignent l’opérateur sont :
- une collecte de métriques depuis un espace de noms portant l’étiquette
metrics: enabled, et - un appel au webhook d’admission depuis un espace de noms portant l’étiquette
webhook: enabled.
Activation des politiques
allow-webhook-traffic nécessite également webhook.enabled: true (la
valeur par défaut) ; désactiver le webhook supprime donc aussi sa politique.
Avec les manifestes kubectl bruts, décommentez la section [NETWORK POLICY] comme
indiqué dans le guide d’installation kubectl.
Les manifestes bruts incluent ces deux mêmes politiques.
Attribution de labels aux espaces de noms clients
namespaceSelector, chaque espace de noms
qui doit pouvoir joindre l’operator doit porter le label correspondant. Une collecte ou
un appel de webhook provenant d’un espace de noms sans label est rejeté.
Vérification
- Prometheus continue de scraper le point de terminaison des métriques (son espace de noms porte le libellé
metrics: enabledet est lié au ClusterRole metrics-reader). - La création ou la mise à jour d’un
ClickHouseClusterpasse toujours l’admission (le webhook est joignable).
- Supervision de l’operator — le point de terminaison des métriques, son RBAC et la sécurisation de la collecte.
- Installer avec kubectl — où décommenter la section de politique réseau.
- Installer avec Helm — les valeurs du chart relatives à l’operator.