Kubernetes, Argo CD ve Flux
Servis Kataloğu’nun “bu servis nerede çalışıyor, sağlıklı mı” boyutu üç kaynaktan beslenir: doğrudan Kubernetes cluster okuması, Argo CD ve Flux. Üçü de 10 dakikada bir arka planda eşitlenir; Entegrasyonlar sayfasındaki Şimdi eşitle düğmesi beklemeden tetikler.
Kubernetes
Bölüm başlığı “Kubernetes”Cluster’daki Deployment, StatefulSet, DaemonSet ve CronJob iş yükleri doğrudan Kubernetes API’sinden okunur - GitOps aracı olmayan ortamlar dahil çalışan her şeyi kapsar. Pod sayıları (hazır/istenen) ve iş yükü sağlığı bu okumadan gelir.
Bağlama
Bölüm başlığı “Bağlama”- Entegrasyonlar → Kubernetes → Bağlan’a tıklayın.
- API sunucu adresini (
https://...) ve bir ServiceAccount token’ı girin. - Token şifreli saklanır; bağlantı önce doğrulanır, sonra kaydedilir.
Gerekli RBAC
Bölüm başlığı “Gerekli RBAC”Salt-okunur bir ServiceAccount yeterlidir. list iş yüklerini toplu okumak için, get ise tekil iş yükü durumunu (pod sayıları) okumak için gereklidir - ikisini birden verin:
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"] # Flux kullanıyorsanız bu üç kural da gereklidir (aşağıya bakın): - 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"]Rolü bir ServiceAccount’a bağlayıp token’ını AppArch’a verin:
kubectl create serviceaccount apparch-readerkubectl create clusterrolebinding apparch-reader \ --clusterrole=apparch-reader --serviceaccount=default:apparch-readerkubectl create token apparch-reader --duration=8760hArgo CD
Bölüm başlığı “Argo CD”Argo CD, Application başına ortam bilgisi, sync/sağlık durumu ve çalışan commit’i verir. Entegrasyonlar → Argo CD → Bağlan ile Argo CD sunucu adresi ve (anonim okuma kapalıysa) bir API token girilir. Pod sayıları her Application’ın resource tree’sinden okunur.
Flux için ayrı bağlantı gerekmez - Flux, cluster’ınızda custom resource (Kustomization, HelmRelease) olarak yaşar ve mevcut Kubernetes bağlantısı üzerinden okunur. Tek yapmanız gereken, yukarıdaki RBAC örneğindeki üç Flux kuralının token’ınızda bulunmasıdır. Flux tespit edildiğinde Entegrasyonlar sayfasındaki Kubernetes satırında bir Flux rozeti görünür.