تقنية

أتمتة عملية تثبيت NeuVector وإدارتها باستخدام Fleet – طريقة GitOps

NeuVector عبارة عن منصة أمان للحاويات ذات الثقة المعدومة. إنه مفتوح المصدر بنسبة 100% ويوفر حلاً لتأمين دورة حياة صورة الحاوية وتنفيذها دون تقييد البائع.  كما هو مفصل في الوثائق هناك طرق متعددة لتثبيت NeuVector. سنركز على الحالة التي قمنا فيها بتثبيت NeuVector من Rancher للاستفادة من التكامل بين الأداتين، ولا سيما إعادة توجيه عنوان URL وRancher RBAC.  يمكن إجراء تثبيت NeuVector من Rancher UI. من الرائع الاكتشاف والتجربة:  لكنه يدوي ولهذا أردت أن أوضح لك كيفية تشغيله تلقائيًا.  تطبيقات Rancher هي تطبيقات Helm، تستخدم مستودع مخططات Helm، لذلك لدينا كل شيء لأتمتتها بأفضل طريقة ممكنة في عالم Cloud Native، وهو GitOps! هناك أدوات مختلفة لتنفيذ GitOps وArgoCD وFlux، ولكن هناك أيضًا Fleet الذي يأتي افتراضيًا مع Rancher وهو ما سأستخدمه.  نحتاج إلى مستودع git لتخزين وإدارة تعريفات كائنات Kubernetes. لدي واحد على GitHub وفي الداخل لدي ملفان: أحدهما لـ NeuVector CRD والآخر لـ NeuVector. لقد قمت بتسميتها rancher-neuvector-crd وrancher-neuvector لأنني سأستخدم مخطط Rancher Helm للتكامل مع Rancher.

rancher-neuvector-crd/fleet.yaml:

defaultNamespace: cattle-neuvector-system

helm:

repo: https://charts.rancher.io

chart: neuvector-crd # https://github.com/rancher/charts/tree/release-v2.7/charts/neuvector-crd

version: 102.0.1+up2.4.3 # 5.1.2

releaseName: neuvector-crd

labels:

app: neuvector-crd

rancher-neuvector/fleet.yaml:

defaultNamespace: cattle-neuvector-system

helm:

repo: https://charts.rancher.io

chart: neuvector # https://github.com/rancher/charts/tree/release-v2.7/charts/neuvector

version: 102.0.1+up2.4.3 # 5.1.2

releaseName: neuvector

values:

controller:

replicas: 1

cve:

scanner:

replicas: 1

targetCustomizations:

– name: aks-business-blueprod

helm:

values:

containerd:

enabled: true

global:

cattle:

url: https://rancher.xxxxx.sslip.io

clusterName: c-xxxx

dependsOn:

– selector:

matchLabels:

app: neuvector-crd

rancher-neuvector-crd/fleet.yaml: defaultNamespace: cattle-neuvector-system helm:   repo: https://charts.rancher.io   chart: neuvector-crd              # https://github.com/rancher/charts/tree/release-v2.7/charts/neuvector-crd   version: 102.0.1+up2.4.3          # 5.1.2   releaseName: neuvector-crd labels:   app: neuvector-crd  rancher-neuvector/fleet.yaml: defaultNamespace: cattle-neuvector-system helm:   repo: https://charts.rancher.io   chart: neuvector                  # https://github.com/rancher/charts/tree/release-v2.7/charts/neuvector   version: 102.0.1+up2.4.3          # 5.1.2   releaseName: neuvector   values:     controller:       replicas: 1     cve:       scanner:         replicas: 1 targetCustomizations:   – name: aks-business-blueprod     helm:       values:         containerd:           enabled: true         global:           cattle:             url: https://rancher.xxxxx.sslip.io     clusterName: c-xxxx dependsOn:   – selector:       matchLabels:         app: neuvector-crd y

في “Rancher” > “التسليم المستمر”، قمت بتعريف اثنين من “GitRepo”. يعد هذا مطلوبًا لإدارة التبعيات، حيث أنه في بعض الحالات يجب تثبيت CRD قبل التطبيق الفعلي (قادم من قيود تصميم Helm).  ستلاحظ “التعريفات” و”الأمان”. في المجلد الأول سأضيف مجلد “rancher-neuvector-crd” والمجلد الثاني “rancher-neuvector”.  وهاهو قد تم تثبيته وأصبح NeuVector متاحًا الآن!  اسمحوا لي أن أعرف إذا واجهت مشكلة أو تريد معرفة المزيد.

منقول ومترجم من:

Automate NeuVector installation and management with Fleet – The GitOps way

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى