Kubernetes, Argo CD et Flux
La dimension « où ce service tourne-t-il, et est-il en bonne santé » du catalogue de services est alimentée par trois sources : une lecture directe du cluster Kubernetes, Argo CD et Flux. Les trois se synchronisent en arrière-plan toutes les 10 minutes ; le bouton Synchroniser maintenant de la page Intégrations déclenche une exécution sans attendre.
Kubernetes
Section intitulée « Kubernetes »Les charges de travail Deployment, StatefulSet, DaemonSet et CronJob sont lues directement depuis l’API Kubernetes - cela couvre tout ce qui tourne, y compris les environnements sans outil GitOps. Le nombre de pods (prêts/souhaités) et la santé des charges de travail proviennent de cette lecture.
Connexion
Section intitulée « Connexion »- Allez dans Intégrations → Kubernetes → Connecter.
- Saisissez l’adresse du serveur d’API (
https://...) et un jeton de ServiceAccount. - Le jeton est stocké chiffré ; la connexion est vérifiée avant d’être enregistrée.
RBAC requis
Section intitulée « RBAC requis »Un ServiceAccount en lecture seule suffit. list est nécessaire pour lire les charges de travail en masse, et get pour lire l’état d’une charge de travail individuelle (nombre de pods) - accordez les deux :
apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata: name: apparch-readerrules: - apiGroups: ["apps"] resources: ["deployments", "statefulsets", "daemonsets"] verbs: ["list", "get"] - apiGroups: ["batch"] resources: ["cronjobs"] verbs: ["list"] # Si vous utilisez Flux, ces trois règles sont également requises (voir ci-dessous) : - apiGroups: ["source.toolkit.fluxcd.io"] resources: ["gitrepositories"] verbs: ["list"] - apiGroups: ["kustomize.toolkit.fluxcd.io"] resources: ["kustomizations"] verbs: ["list"] - apiGroups: ["helm.toolkit.fluxcd.io"] resources: ["helmreleases"] verbs: ["list"]Liez le rôle à un ServiceAccount et fournissez son jeton à AppArch :
kubectl create serviceaccount apparch-readerkubectl create clusterrolebinding apparch-reader \ --clusterrole=apparch-reader --serviceaccount=default:apparch-readerkubectl create token apparch-reader --duration=8760hArgo CD fournit, par Application, l’environnement, l’état de synchronisation/santé et le commit en cours d’exécution. Connectez-vous via Intégrations → Argo CD → Connecter avec l’adresse du serveur Argo CD et un jeton d’API (nécessaire lorsque la lecture anonyme est désactivée). Le nombre de pods est lu depuis l’arbre de ressources de chaque Application.
Flux ne nécessite aucune connexion propre - il vit dans votre cluster sous forme de custom resources (Kustomization, HelmRelease) et est lu via la connexion Kubernetes existante. Il vous suffit d’avoir les trois règles Flux de l’exemple RBAC ci-dessus sur votre jeton. Lorsque Flux est détecté, un badge Flux apparaît sur la ligne Kubernetes de la page Intégrations.