العاكس هو ملحق Kubernetes مصمم لمراقبة التغييرات التي تطرأ على الموارد (الأسرار وخرائط التكوين) ويعكس التغييرات التي تطرأ على موارد المرآة في نفس مساحات الأسماء أو في مساحات أخرى.
يدعم
amd64
arm
arm64
إذا كنت بحاجة إلى مساعدة أو وجدت خطأ ما، فلا تتردد في فتح مشكلة على GitHub (https://github.com/emberstack/kubernetes-reflector/issues).
يمكن نشر العاكس يدويًا أو باستخدام Helm (موصى به).
كوبيرنتس 1.14+
Helm 3 (إذا تم نشرها باستخدام Helm)
استخدم Helm لتثبيت أحدث مخطط تم إصداره:
إضافة $ helm repo إلى emberstack https://emberstack.github.io/helm-charts $ تحديث helm repo $ ترقية helm - تثبيت العاكس emberstack/reflector
يمكنك تخصيص قيم نشر الدفة باستخدام القيم التالية:
المعلمة | وصف | تقصير |
---|---|---|
nameOverride | يتجاوز اسم الإصدار | "" |
fullnameOverride | يتجاوز الاسم الكامل للإصدار | "" |
image.repository | مستودع صور الحاوية | emberstack/kubernetes-reflector |
image.tag | علامة صورة الحاوية | Same as chart version |
image.pullPolicy | سياسة سحب صورة الحاوية | IfNotPresent |
configuration.logging.minimumLevel | تسجيل الحد الأدنى من المستوى | Information |
configuration.watcher.timeout | الحد الأقصى لعمر المراقب بالثواني | `` |
configuration.kubernetes.skipTlsVerify | تخطي التحقق من TLS عند توصيل المجموعة | false |
rbac.enabled | إنشاء واستخدام موارد RBAC | true |
serviceAccount.create | إنشاء حساب الخدمة | true |
serviceAccount.name | اسم حساب الخدمة | اسم الافراج |
livenessProbe.initialDelaySeconds | livenessProbe التأخير الأولي | 5 |
livenessProbe.periodSeconds | فترة livenessProbe | 10 |
readinessProbe.initialDelaySeconds | readinessProbe في التأخير الأولي | 5 |
readinessProbe.periodSeconds | فترة readinessProbe | 10 |
startupProbe.failureThreshold | عتبة فشل startupProbe | 10 |
startupProbe.periodSeconds | فترة startupProbe | 5 |
resources | حدود الموارد | {} |
nodeSelector | تسميات العقدة لتعيين جراب | {} |
tolerations | تسميات التسامح لتعيين جراب | [] |
affinity | تقارب العقدة لتعيين جراب | {} |
priorityClassName | priorityClassName للقرون | "" |
تابعنا على Artifact Hub
يحتوي كل إصدار (موجود في صفحة الإصدارات GitHub) على ملف النشر اليدوي ( reflector.yaml
).
$ kubectl -n kube-system Apply -f https://github.com/emberstack/kubernetes-reflector/releases/latest/download/reflector.yaml
secret
المصدر أو configmap
أضف reflector.v1.k8s.emberstack.com/reflection-allowed: "true"
إلى التعليقات التوضيحية للمورد للسماح بالانعكاس على المرايا.
قم بإضافة reflector.v1.k8s.emberstack.com/reflection-allowed-namespaces: "<list>"
إلى التعليقات التوضيحية للمورد للسماح بالانعكاس من قائمة مساحات الأسماء المفصولة بفواصل أو التعبيرات العادية فقط. ملاحظة: إذا تم حذف هذا التعليق التوضيحي أو كان فارغًا، فسيتم السماح بجميع مساحات الأسماء.
يستطيع العاكس إنشاء مرايا بنفس الاسم في مساحات أسماء أخرى تلقائيًا. تتحكم التعليقات التوضيحية التالية في كيفية إنشاء المرايا وكيفية إنشاؤها:
قم بإضافة reflector.v1.k8s.emberstack.com/reflection-auto-enabled: "true"
إلى التعليقات التوضيحية للمورد لإنشاء مرايا تلقائيًا في مساحات الأسماء الأخرى. ملحوظة: يتطلب أن يكون reflector.v1.k8s.emberstack.com/reflection-allowed
true
لأن المرايا تحتاج إلى أن تكون قادرة على عكس المصدر.
أضف reflector.v1.k8s.emberstack.com/reflection-auto-namespaces: "<list>"
إلى التعليقات التوضيحية للمورد تحدد مساحات الأسماء التي سيتم إنشاء مرايا فيها تلقائيًا. ملاحظة: إذا تم حذف هذا التعليق التوضيحي أو كان فارغًا، فسيتم السماح بجميع مساحات الأسماء. سيتم أيضًا التحقق من مساحات الأسماء في هذه القائمة بواسطة reflector.v1.k8s.emberstack.com/reflection-allowed-namespaces
نظرًا لأن المرايا يجب أن تكون في مساحات الأسماء حيث يُسمح بالانعكاس.
هام: إذا تم حذف
source
، فسيتم حذف المرايا التلقائية. وأيضًا إذا تم إيقاف تشغيل الانعكاس أو النسخ التلقائي أو لم تعد مساحة اسم المرآة التلقائية مطابقة صالحة لمساحات الأسماء المسموح بها، فسيتم حذف المرآة التلقائية.
هام: سوف يتخطى برنامج Reflector أي مورد متعارض عند إنشاء مرايا تلقائية. إذا كان هناك بالفعل مورد يحمل اسم المصدر في مساحة الاسم حيث سيتم إنشاء نسخة متطابقة تلقائية، فسيتم تخطي مساحة الاسم هذه وتسجيلها كتحذير.
مثال سر المصدر:
apiVersion: v1kind: البيانات الوصفية السرية: الاسم: التعليقات التوضيحية السرية للمصدر: Reflector.v1.k8s.emberstack.com/reflection-allowed: "true" Reflector.v1.k8s.emberstack.com/reflection-allowed-namespaces: "namespace-1" ،مساحة الاسم-2،مساحة الاسم-[0-9]*"البيانات: ...
مثال لخريطة تكوين المصدر:
apiVersion: v1kind: ConfigMapmetadata: الاسم: التعليقات التوضيحية لخريطة التكوين المصدر: Reflector.v1.k8s.emberstack.com/reflection-allowed: "صحيح" Reflector.v1.k8s.emberstack.com/reflection-allowed-namespaces: "مساحة الاسم -1,مساحة الاسم-2,مساحة الاسم-[0-9]*"البيانات: ...
قم بإضافة reflector.v1.k8s.emberstack.com/reflects: "<source namespace>/<source name>"
إلى كائن النسخة المتطابقة. قيمة التعليق التوضيحي هي الاسم الكامل للكائن المصدر بتنسيق namespace/name
.
ملاحظة: قم بإضافة
reflector.v1.k8s.emberstack.com/reflected-version: ""
إلى التعليقات التوضيحية للمورد عند إجراء أي تغييرات يدوية على النسخة المطابقة (على سبيل المثال عند النشر باستخدامhelm
أو إعادة تطبيق البرنامج النصي للنشر). سيؤدي هذا إلى إعادة تعيين النسخة المنعكسة من المرآة.
مثال سر المرآة:
apiVersion: v1kind: البيانات الوصفية السرية: الاسم: التعليقات التوضيحية السرية للمرآة: Reflector.v1.k8s.emberstack.com/reflects: البيانات "الافتراضية/المصدر السري": ...
مثال لخريطة تكوين المرآة:
apiVersion: v1kind: ConfigMapmetadata: الاسم: التعليقات التوضيحية لخريطة تكوين المرآة: Reflector.v1.k8s.emberstack.com/reflects: بيانات "default/source-config-map": ...
سوف يقوم برنامج Reflector بمراقبة أي تغييرات يتم إجراؤها على الكائنات المصدر ونسخ الحقول التالية:
data
للأسرار
data
والبيانات binaryData
لخرائط التكوين يتتبع العاكس ما تم نسخه عن طريق إضافة تعليقات توضيحية إلى المرايا باستخدام إصدار الكائن المصدر.
cert-manager
منذ الإصدار 1.5 من cert-manager، يمكنك إضافة تعليقات توضيحية إلى الأسرار التي تم إنشاؤها من الشهادات للنسخ المتطابق باستخدام
secretTemplate
(راجع https://cert-manager.io/docs/usage/certificate/).
apiVersion: cert-manager.io/v1 kind: Certificate ... spec: secretTemplate: annotations: reflector.v1.k8s.emberstack.com/reflection-allowed: "true" reflector.v1.k8s.emberstack.com/reflection-allowed-namespaces: "" ...