تخطَّ إلى المحتوى

Kubernetes وArgo CD وFlux

بُعد «أين تعمل هذه الخدمة، وهل هي سليمة» في كتالوج الخدمات يتغذى من ثلاثة مصادر: قراءة مباشرة من عنقود Kubernetes، وArgo CD، وFlux. تتزامن المصادر الثلاثة في الخلفية كل 10 دقائق؛ وزر المزامنة الآن في صفحة التكاملات يطلق التشغيل دون انتظار.

تُقرأ أحمال العمل Deployment وStatefulSet وDaemonSet وCronJob مباشرةً من واجهة Kubernetes API - وهذا يغطي كل ما يعمل، بما في ذلك البيئات التي لا تديرها أي أداة GitOps. يأتي عدد الـ Pods (الجاهزة/المطلوبة) وصحة أحمال العمل من هذه القراءة.

  1. انتقل إلى التكاملات → Kubernetes → ربط.
  2. أدخل عنوان خادم الـ API (https://...) ورمز ServiceAccount.
  3. يُخزَّن الرمز مشفَّرًا؛ ويُتحقق من الاتصال قبل حفظه.

يكفي ServiceAccount للقراءة فقط. يلزم list لقراءة أحمال العمل دفعةً واحدة، وget لقراءة حالة حمل عمل مفرد (عدد الـ Pods) - امنح الاثنين معًا:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: apparch-reader
rules:
- 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:

Terminal window
kubectl create serviceaccount apparch-reader
kubectl create clusterrolebinding apparch-reader \
--clusterrole=apparch-reader --serviceaccount=default:apparch-reader
kubectl create token apparch-reader --duration=8760h

يقدّم Argo CD لكل Application البيئة وحالة المزامنة/الصحة والـ commit قيد التشغيل. اربط عبر التكاملات → Argo CD → ربط بعنوان خادم Argo CD ورمز API (مطلوب عندما تكون القراءة المجهولة معطلة). يُقرأ عدد الـ Pods من شجرة موارد كل Application.

لا يحتاج Flux إلى اتصال خاص به - فهو يعيش في عنقودك كموارد مخصصة (Kustomization وHelmRelease) ويُقرأ عبر اتصال Kubernetes الموجود. كل ما تحتاجه هو قواعد Flux الثلاث من مثال RBAC أعلاه على رمزك. وعند اكتشاف Flux تظهر شارة Flux في صف Kubernetes بصفحة التكاملات.