Kubernetes وArgo CD وFlux
بُعد «أين تعمل هذه الخدمة، وهل هي سليمة» في كتالوج الخدمات يتغذى من ثلاثة مصادر: قراءة مباشرة من عنقود Kubernetes، وArgo CD، وFlux. تتزامن المصادر الثلاثة في الخلفية كل 10 دقائق؛ وزر المزامنة الآن في صفحة التكاملات يطلق التشغيل دون انتظار.
Kubernetes
Section titled “Kubernetes”تُقرأ أحمال العمل Deployment وStatefulSet وDaemonSet وCronJob مباشرةً من واجهة Kubernetes API - وهذا يغطي كل ما يعمل، بما في ذلك البيئات التي لا تديرها أي أداة GitOps. يأتي عدد الـ Pods (الجاهزة/المطلوبة) وصحة أحمال العمل من هذه القراءة.
- انتقل إلى التكاملات → Kubernetes → ربط.
- أدخل عنوان خادم الـ API (
https://...) ورمز ServiceAccount. - يُخزَّن الرمز مشفَّرًا؛ ويُتحقق من الاتصال قبل حفظه.
صلاحيات RBAC المطلوبة
Section titled “صلاحيات RBAC المطلوبة”يكفي ServiceAccount للقراءة فقط. يلزم list لقراءة أحمال العمل دفعةً واحدة، وget لقراءة حالة حمل عمل مفرد (عدد الـ Pods) - امنح الاثنين معًا:
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 فهذه القواعد الثلاث مطلوبة أيضًا (انظر أدناه): - 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"]اربط الدور بـ ServiceAccount وسلِّم رمزه إلى AppArch:
kubectl create serviceaccount apparch-readerkubectl create clusterrolebinding apparch-reader \ --clusterrole=apparch-reader --serviceaccount=default:apparch-readerkubectl create token apparch-reader --duration=8760hArgo CD
Section titled “Argo CD”يقدّم Argo CD لكل Application البيئة وحالة المزامنة/الصحة والـ commit قيد التشغيل. اربط عبر التكاملات → Argo CD → ربط بعنوان خادم Argo CD ورمز API (مطلوب عندما تكون القراءة المجهولة معطلة). يُقرأ عدد الـ Pods من شجرة موارد كل Application.
لا يحتاج Flux إلى اتصال خاص به - فهو يعيش في عنقودك كموارد مخصصة (Kustomization وHelmRelease) ويُقرأ عبر اتصال Kubernetes الموجود. كل ما تحتاجه هو قواعد Flux الثلاث من مثال RBAC أعلاه على رمزك. وعند اكتشاف Flux تظهر شارة Flux في صف Kubernetes بصفحة التكاملات.