Razee هو مشروع مفتوح المصدر تم تطويره بواسطة IBM لأتمتة وإدارة نشر موارد Kubernetes عبر المجموعات والبيئات وموفري الخدمات السحابية، ولتصور معلومات النشر للموارد الخاصة بك حتى تتمكن من مراقبة عملية النشر والعثور على مشكلات النشر بسرعة أكبر.
راجع الروابط التالية للبدء مع Razee:
قم بمراجعة الميزات الرئيسية لـ Razee وكيف يمكنك الاستفادة منها لإدارة نشر موارد Kubernetes لمجموعاتك.
يتكون Razee من ثلاث وحدات، RazeeDash، وRazeeDeployables، وRazeeeDeploy، وهي مقترنة بشكل غير محكم ويمكن استخدامها بشكل مستقل. باستخدام RazeeDash، يمكنك إنشاء مخزون مباشر لموارد Kubernetes الخاصة بك ديناميكيًا واستخدام إمكانات التصفية والتنبيه القوية لتصور معلومات التكوين واستكشاف المشكلات وإصلاحها في عملية النشر الخاصة بك بسرعة أكبر. تم تصميم مكونات RazeeDeploy لتبسيط عمليات النشر متعددة المجموعات من خلال تصميم موارد Kubernetes، وتجميع الموارد والمجموعات، وتحديد قواعد هذه المجموعات بحيث يمكنك إنشاء تكوين مرن يتم فرضه عبر المجموعات والبيئات والسحابات.
عنصر | وصف |
---|---|
شاهد الحارس | يعتبر Watch Keeper مسؤولاً عن استرداد معلومات التكوين لموارد Kubernetes وإرسال هذه البيانات إلى واجهة برمجة تطبيقات RazeeDash. لاستخدام Watch Keeper، ما عليك سوى تثبيت هذا المكون في مجموعتك وإضافة تسمية razee/watch-resource إلى جميع الموارد التي تريد مراقبتها. بعد إضافة التسمية، يسترد Watch Keeper معلومات التكوين من خادم Kubernetes API ويرسل هذه البيانات على الفور إلى RazeeDash API. وتكرر هذه العملية مرة واحدة كل ساعة. بالإضافة إلى ذلك، يضيف Watch Keeper مراقب أحداث Kubernetes إلى موردك بحيث يتم إخطار Watch Keeper بواسطة Kubernetes عند تغيير تكوين المورد الخاص بك. |
واجهة برمجة تطبيقات رازي داش | RazeeDash API هي خدمة تتلقى تكوينات موارد Kubernetes وتعريفات الموارد من Watch Keeper. يتم تخزين البيانات المرسلة إلى واجهة برمجة تطبيقات RazeeDash تلقائيًا في MongoDB. |
رازي داش | يقوم RazeeDash بتصور البيانات التي يتم استردادها بواسطة Watch Keeper ويقوم بشكل ديناميكي بإنشاء مخزون من موارد Kubernetes الخاصة بك في مجموعتك. يمكنك استخدام إمكانات التصفية والتنبيه الذكية لتحليل هذه البيانات وتحديد المشكلات وحلها بسرعة في عملية النشر الخاصة بك. |
اشتراك الكتلة | ClusterSubscription هو نشر Razee الذي يراقب الاشتراكات في Razee للتحقق من وجود الاشتراكات النشطة للمجموعة. إذا تم العثور على اشتراك، فسيتم سحب الإصدار المرتبط من مورد Kubernetes من Razee وتطبيقه تلقائيًا في المجموعة. |
عنصر | وصف |
---|---|
RazeeDeploy الأساسية | RazeeDeploy Core هي أداة تسليم مستمر يتم تشغيلها في مجموعتك ويمكنك استخدامها لإعداد CustomResourceDefinitions (CRD)، ووحدات تحكم Kubernetes، والتبعيات لمكونات RazeeDeploy. |
رازي نشر دلتا | يعد RazeeDeploy Delta أحد مكونات RazeeDeploy Core الذي يتم تشغيله في مجموعتك ويحافظ على تحديث تعريفات الموارد المخصصة ووحدات تحكم Kubernetes الخاصة بمكونات RazeeDeploy. |
RemoteResource والموارد البعيدة S3 | RemoteResource وRemoteResourceS3 عبارة عن تعريفات مخصصة للموارد ووحدات تحكم يمكنك استخدامها لنشر موارد Kubernetes المخزنة في مستودع المصدر تلقائيًا. بدلاً من تطبيق ملفات YAML هذه يدويًا في كل مجموعة أو بيئة أو عبر السحب في كل مرة يتم فيها إجراء تحديث، ما عليك سوى تحديد مستودع المصدر في موردك البعيد وإنشاء المورد البعيد في مجموعتك. تتصل وحدة التحكم بالموارد عن بعد تلقائيًا بمستودع المصدر الخاص بك، وتقوم بتنزيل ملف تكوين Kubernetes وتطبيق الملف على مجموعتك. |
MoustacheTemplate | MustacheTemplate هو تعريف مورد مخصص ووحدة تحكم لتحديد متغيرات البيئة التي يمكنك استخدامها لاستبدال أجزاء ملف YAML في ملفات Kubernetes YAML الأخرى. على سبيل المثال، استخدم متغيرات البيئة الخاصة بقالب الشارب الخاص بك لإنشاء عنوان URL لموردك البعيد بحيث يمكنك الإشارة إلى إصدار التطبيق الذي تريد نشره. |
ميزةFlagSetLD | يعد FeaturesFlagSetLD تعريفًا مخصصًا للمورد ووحدة تحكم لاسترداد قيم علامة الميزة تلقائيًا من Launch Darkly. باستخدام علامات الميزات، يمكنك التحكم في التعليمات البرمجية التي يتم نشرها في مجموعتك وإدارة إصدارات متعددة من موارد Kubernetes عبر المجموعات أو البيئات أو السحابات. |
ManagedSet | ManagedSet عبارة عن تعريف مخصص للموارد ووحدة تحكم لتجميع موارد Kubernetes التي تريد إنشاءها وتطبيقها على المجموعة في نفس الوقت. |
المرافق Kubernetes | أدوات Kubernetes المساعدة هي حزمة npm يمكنك استخدامها لتبسيط الاتصال مع Kubernetes. |
لنشر Razee في مجموعتك، يجب أن تستوفي مجموعتك المتطلبات التالية:
قم أولاً بتثبيت razeedeploy-delta في جهازك عن طريق تشغيل:
kubectl apply -f https://github.com/razee-io/Razee/releases/latest/download/razeedeploy.yaml
مثال الإخراج:
namespace/razeedeploy created
serviceaccount/razeedeploy-sa created
clusterrole.rbac.authorization.k8s.io/razeedeploy-admin-cr configured
clusterrolebinding.rbac.authorization.k8s.io/razeedeploy-rb configured
job.batch/razeedeploy-job created
kubectl get deploy -n razeedeploy
NAME READY UP-TO-DATE AVAILABLE AGE
remoteresource-controller 1/1 1 1 56s
قم بتثبيت مكونات RazeeDash في مجموعتك. لتخزين البيانات التي يتم إرسالها إلى واجهة برمجة تطبيقات RazeeDash، يجب عليك إعداد مثيل MongoDB. يمكنك اختيار إعداد RazeeDash ومثيل MongoDB واحد باستخدام ملف razeedash-all-in-one.yaml
المقدم أو إعداد RazeeDash باستخدام مثيل MongoDB الموجود الذي يتم تشغيله في مجموعتك. ملاحظة : إذا كان لديك بالفعل مثيل RazeeDash قيد التشغيل في إحدى مجموعاتك، وبدلاً من ذلك تريد إضافة مجموعة أخرى إلى قائمة المخزون الخاصة بك، فيمكنك تخطي هذه الخطوة ومتابعة تثبيت مكون Watchkeeper في مجموعتك.
لتثبيت RazeeDash ومثيل MongoDB واحد :
kubectl apply -f https://github.com/razee-io/Razee/releases/latest/download/razeedash-all-in-one.yaml
مثال الإخراج:
persistentvolume/mongo-pv-volume created
persistentvolumeclaim/mongo-pv-claim created
deployment.apps/mongo created
service/mongo created
secret/razeedash-secret created
remoteresource.deploy.razee.io/razeedash created
service/razeedash-lb created
service/razeedash-api-lb created
لاستخدام مثيل MongoDB موجود :
قم بإنشاء سر razeedash لـ mongo_url. استبدل الأمر أدناه باسم المستخدم وكلمة المرور الفعليين بالإضافة إلى 3 مثيلات مضيفة لـ mongo-0 وmongo-1 وmongo-3 بالإضافة إلى المنافذ الصحيحة. تأكد من أن نهاية عنوان URL الخاص بـ mongo تحتوي على /razeedash?ssl=true
.
مثال :
kubectl -n razee create secret generic razeedash-secret --from-literal " mongo_url=mongodb://username:password@mongo‑0:27017,mongo‑1:27017,mongo‑2:27017/razeedash?ssl=true "
kubectl apply -f https://github.com/razee-io/Razee/releases/latest/download/razeedash.yaml
انتظر حتى يكتمل نشر razeedash-api
. إذا اخترت إنشاء RazeeDash باستخدام ملف razeedash-all-in-one.yaml
المقدم في الخطوة السابقة، فسيتم إنشاء مثيل MongoDB في مجموعتك وتوصيله بمثيل RazeeDash API. يستغرق إعداد MongoDB بضع دقائق حتى يكتمل وقد يؤدي إلى أخطاء MongoNetworkError
متقطعة في نشر واجهة برمجة تطبيقات RazeeDash. عندما يتم إعداد MongoDB بالكامل، ينتهي Kubernetes تلقائيًا من إعداد مثيل واجهة برمجة تطبيقات RazeeDash.
kubectl logs deploy/razeedash-api -n razee
مثال على الإخراج إذا لم يتم إعداد MongoDB بعد:
> [email protected] start /usr/src
> node app/index.js
(node:16) UnhandledPromiseRejectionWarning: MongoNetworkError: getaddrinfo
ENOTFOUND mongo
at Socket. < anonymous > (/usr/src/node_modules/mongodb-core/lib/connection/connect.js:287:16)
at Object.onceWrapper (events.js:284:20)
at Socket.emit (events.js:196:13)
at emitErrorNT (internal/streams/destroy.js:91:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
at processTicksAndRejections (internal/process/task_queues.js:84:9)
(node:16) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch (). (rejection id: 1)
(node:16) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
مثال على الإخراج إذا تم إعداد RazeeDash API بالكامل:
> [email protected] start /usr/src
> node app/index.js
{ " name " : " apollo/subscription " , " parseUA " :false, " excludes " :[ " referer " , " url " , " body " , " short-body " ], " hostname " : " razeedash-api-7bd66669b7-jj2vj " , " pid " :17, " level " :30, " msg " : " Apollo streaming servic e is configured on redisUrl: redis://redis-service:6379/0 " , " time " : " 2020-06-03T21:57:16.021Z " , " v " :0}
{ " name " : " apollo/subscription " , " parseUA " :false, " excludes " :[ " referer " , " url " , " body " , " short-body " ], " hostname " : " razeedash-api-7bd66669b7-jj2vj " , " pid " :17, " level " :30, " msg " : " Apollo streaming is ena bled on redis endpoint redis-service:6379 " , " time " : " 2020-06-03T21:57:17.062Z " , " v " :0}
{ " name " : " / " , " parseUA " :false, " excludes " :[ " referer " , " url " , " body " , " short-body " ], " hostname " : " razeedash-api-7bd66669b7-jj2vj " , " pid " :17, " level " :30, " msg " : " Created new collection users index users " , " time " : " 2020-06-03T21:57:17.222Z " , " v " :0}
{ " name " : " / " , " parseUA " :false, " excludes " :[ " referer " , " url " , " body " , " short-body " ], " hostname " : " razeedash-api-7bd66669b7-jj2vj " , " pid " :17, " level " :30, " msg " : " Created new View clusterStatsView " , " time " : " 2020-06-03T21:57:17.239Z " , " v " :0}
{ " name " : " / " , " parseUA " :false, " excludes " :[ " referer " , " url " , " body " , " short-body " ], " hostname " : " razeedash-api-7bd66669b7-jj2vj " , " pid " :17, " level " :30, " msg " : " Created new View resourceStatsView " , " time " : " 2020-06-03T21:57:17.241Z " , " v " :0}
{ " name " : " apollo/models " , " parseUA " :false, " excludes " :[ " referer " , " url " , " body " , " short-body " ], " hostname " : " razeedash-api-7bd66669b7-jj2vj " , " pid " :17, " level " :30, " msg " : " SetupDistributedCollections r eceived modelName=resources for DB mongodb://mongo:27017/razeedash " , " time " : " 2020-06-03T21:57:17.284Z " , " v " :0}
{ " name " : " apollo/models " , " parseUA " :false, " excludes " :[ " referer " , " url " , " body " , " short-body " ], " hostname " : " razeedash-api-7bd66669b7-jj2vj " , " pid " :17, " level " :30, " msg " : " SetupDistributedCollections r eceived modelName=orgs for DB mongodb://mongo:27017/razeedash " , " time " : " 2020-06-03T21:57:17.295Z " , " v " :0}
{ " name " : " apollo/models " , " parseUA " :false, " excludes " :[ " referer " , " url " , " body " , " short-body " ], " hostname " : " razeedash-api-7bd66669b7-jj2vj " , " pid " :17, " level " :30, " msg " : " SetupDistributedCollections:c lusters - received modelName=clusters for DB mongodb://mongo:27017/razeedash " , " time " : " 2020-06-03T21:57:17.297Z " , " v " :0}
{ " name " : " apollo " , " parseUA " :false, " excludes " :[ " referer " , " url " , " short-body " , " user-agent " , " req " , " res " ], " hostname " : " razeedash-api-7bd66669b7-jj2vj " , " pid " :17, " level " :30, " msg " : " Initialize apollo application for default auth " , " time " : " 2020-06-03T21:57:17.298Z " , " v " :0}
{ " name " : " apollo " , " parseUA " :false, " excludes " :[ " referer " , " url " , " short-body " , " user-agent " , " req " , " res " ], " hostname " : " razeedash-api-7bd66669b7-jj2vj " , " pid " :17, " level " :30, " msg " : " [] Apollo server c ustom plugin are loaded. " , " time " : " 2020-06-03T21:57:17.299Z " , " v " :0}
{ " name " : " razeedash-api " , " hostname " : " razeedash-api-7bd66669b7-jj2vj " , " pid " :17, " level " :30, " msg " : " ? razeedash-api listening on port 3333/api " , " time " : " 2020-06-03T21:57:17.723Z " , " v " :0}
{ " name " : " apollo " , " parseUA " :false, " excludes " :[ " referer " , " url " , " short-body " , " user-agent " , " req " , " res " ], " hostname " : " razeedash-api-7bd66669b7-jj2vj " , " pid " :17, " level " :30, " msg " : " ? Apollo server listening on http://[::]:3333/graphql " , " time " : " 2020-06-03T21:57:17.734Z " , " v " :0}
استرجع عنوان IP الخارجي لخدمات موازنة التحميل razeedash-lb
و razeedash-api-lb
التي يتم إنشاؤها تلقائيًا أثناء إعداد RazeeDash API. يعمل razeedash-lb
كنقطة نهاية عامة لمثيل RazeeDash الخاص بك، ويعمل razeedash-api-lb
كنقطة نهاية عامة لمثيل RazeeDash API الخاص بك. باستخدام عناوين IP العامة التي تم تعيينها، يمكنك إنشاء عناوين URL العامة التي تستخدمها للوصول إلى مكونات RazeeDash وRazeeDash API. لإنهاء إعداد RazeeDash، يجب تخزين عنواني URL في خريطة تكوين RazeeDash. استخدم أوامر Bash التالية لاسترداد عناوين IP العامة، وإنشاء عناوين URL العامة، وتخزين عناوين URL في خريطة تكوين RazeeDash. يمكنك أيضًا تنفيذ البرنامج النصي Bash bin/kc_create_razeedash_config.sh
. لاحظ أنه يجب عليك تضمين اللاحقة /
في نهاية root_url
و razeedash_api_url
في خريطة تكوين RazeeDash.
# Amazon EKS uses host names, IBM Cloud Kubernetes Service uses Ingress IP addresses. This handle both.
RAZEEDASH_LB_IP= $( kubectl get service razeedash-lb -n razee -o jsonpath= " {.status.loadBalancer.ingress[*].ip} " )
RAZEEDASH_API_LB_IP= $( kubectl get service razeedash-api-lb -n razee -o jsonpath= " {.status.loadBalancer.ingress[*].ip} " )
RAZEEDASH_LB_HOSTNAME= $( kubectl get service razeedash-lb -n razee -o jsonpath= " {.status.loadBalancer.ingress[*].hostname} " )
RAZEEDASH_API_LB_HOSTNAME= $( kubectl get service razeedash-api-lb -n razee -o jsonpath= " {.status.loadBalancer.ingress[*].hostname} " )
RAZEEDASH_LB= ${RAZEEDASH_LB_HOSTNAME} && [[ " ${RAZEEDASH_LB_IP} " != " " ]] && RAZEEDASH_LB= ${RAZEEDASH_LB_IP}
RAZEEDASH_API_LB= ${RAZEEDASH_API_LB_HOSTNAME} && [[ " ${RAZEEDASH_API_LB_IP} " != " " ]] && RAZEEDASH_API_LB= ${RAZEEDASH_API_LB_IP}
kubectl create configmap razeedash-config -n razee
--from-literal=root_url=http:// " ${RAZEEDASH_LB} " :8080/
--from-literal=razeedash_api_url=http:// " ${RAZEEDASH_API_LB} " :8081/
تأكد من نشر كافة مكونات Razee وإظهار 1/1
في عمود جاهز لمخرجات واجهة سطر الأوامر (CLI).
kubectl get deployments -n razee
مثال الإخراج:
NAME READY UP-TO-DATE AVAILABLE AGE
featureflagsetld-controller 1/1 1 1 53m
managedset-controller 1/1 1 1 53m
mongo 1/1 1 1 34m
mustachetemplate-controller 1/1 1 1 53m
razeedash 1/1 1 1 25m
razeedash-api 1/1 1 1 25m
razeedeploy-delta 1/1 1 1 53m
remoteresource-controller 1/1 1 1 53m
remoteresources3-controller 1/1 1 1 53m
افتح شاشة الترحيب الخاصة بـ RazeeDash.
open http:// " ${RAZEEDASH_LB} " :8080
قم بإنشاء تطبيق OAuth
لـ RazeeDash في GitHub أو GitHub Enterprise أو Bitbucket.
من شاشة الترحيب الخاصة بـ RazeeDash، حدد مربع الأداة التي تريد إنشاء تطبيق OAuth
فيها.
اتبع الإرشادات الموجودة في النافذة المنبثقة لإنشاء تطبيق OAuth
.
انقر فوق حفظ التكوين .
من شاشة الترحيب الخاصة بـ RazeeDash، انقر فوق تسجيل الدخول باستخدام <integration_tool> .
اتبع الإرشادات الموجودة في النافذة المنبثقة لمنح RazeeDash حق الوصول إلى أداة التكامل التي اخترتها.
إذا كنت بحاجة إلى إعادة تعيين أي من بيانات اعتماد OAuth
، فيمكنك البدء من جديد عن طريق فتح mongo Shell على المثيل الخاص بك وتشغيله
> use razeedash
> db.meteor_accounts_loginServiceConfiguration.remove({})
قم بتثبيت Watch Keeper في كل مجموعة تريد مراقبتها. يمكن أن تكون المجموعة التي قمت بتثبيت Watch Keeper فيها مجموعة مختلفة عن تلك التي قمت بتثبيت RazeeDash عليها.
من وحدة تحكم RazeeDash، انقر فوق تسجيل .
انقر فوق إدارة .
انسخ أمر تثبيت Razee Agent kubectl
.
قم بتشغيل الأمر في المجموعة التي تريد مراقبتها لإنشاء مكونات Watch Keeper. إذا قمت بتثبيت Watch Keeper في نفس المجموعة التي قمت بتثبيت RazeeDash فيها، فسترى رسائل تفيد بأن بعض مكونات Watch Keeper موجودة بالفعل في مجموعتك. يمكنك تجاهل هذه الرسائل.
kubectl create -f http:// < razeedash-api-lb_external_IP > :8081/api/install/cluster ? orgKey=orgApiKey- < org_api_key >
مثال على الإخراج لمجموعة تم تثبيت RazeeDash فيها:
deployment.apps/remoteresource-controller created
configmap/watch-keeper-config created
secret/watch-keeper-secret created
remoteresource.deploy.razee.io/watch-keeper-rr created
Error from server (AlreadyExists): error when creating
" http://4e0ef59e-us-south.lb.appdomain.cloud:8081/api/install/cluster?
orgKey=orgApiKey-d52b52fc-38ae-4da0-b187-6e097e5bfe5c " : namespaces
" razee " already exists
Error from server (AlreadyExists): customresourcedefinitions.
apiextensions.k8s.io " remoteresources.deploy.razee.io " already exists
Error from server (AlreadyExists): error when creating
" http://4e0ef59e-us-south.lb.appdomain.cloud:8081/api/install/cluster?
orgKey=orgApiKey-d52b52fc-38ae-4da0-b187-6e097e5bfe5c " : namespaces
" razee " already exists
Error from server (AlreadyExists): error when creating
" http://4e0ef59e-us-south.lb.appdomain.cloud:8081/api/install/cluster?
orgKey=orgApiKey-d52b52fc-38ae-4da0-b187-6e097e5bfe5c " : serviceaccounts
" razeedeploy-sa " already exists
Error from server (AlreadyExists): error when creating
" http://4e0ef59e-us-south.lb.appdomain.cloud:8081/api/install/cluster?
orgKey=orgApiKey-d52b52fc-38ae-4da0-b187-6e097e5bfe5c " : clusterroles.
rbac.authorization.k8s.io " razeedeploy-admin-cr " already exists
Error from server (AlreadyExists): error when creating
" http://4e0ef59e-us-south.lb.appdomain.cloud:8081/api/install/cluster?
orgKey=orgApiKey-d52b52fc-38ae-4da0-b187-6e097e5bfe5c " :
clusterrolebindings.rbac.authorization.k8s.io " razeedeploy-rb " already exists
Error from server (AlreadyExists): error when creating
" http://4e0ef59e-us-south.lb.appdomain.cloud:8081/api/install/cluster?
orgKey=orgApiKey-d52b52fc-38ae-4da0-b187-6e097e5bfe5c " : configmaps
" razeedeploy-delta-resource-uris " already exists
Error from server (AlreadyExists): error when creating
" http://4e0ef59e-us-south.lb.appdomain.cloud:8081/api/install/cluster?
orgKey=orgApiKey-d52b52fc-38ae-4da0-b187-6e097e5bfe5c " : deployments.apps
" razeedeploy-delta " already exists
مثال على الإخراج لمجموعة لم يتم تثبيت RazeeDash فيها:
configmap/watch-keeper-config created
secret/watch-keeper-secret created
clusterrole.rbac.authorization.k8s.io/cluster-reader created
serviceaccount/watch-keeper-sa created
clusterrolebinding.rbac.authorization.k8s.io/watch-keeper-rb created
networkpolicy.networking.k8s.io/watch-keeper-deny-ingress created
deployment.apps/watch-keeper created
Error from server (AlreadyExists): namespaces " razee " already exists
انتظر حتى ينتهي نشر Watch Keeper.
kubectl get deployment -n razee | grep watch-keeper
مثال الإخراج:
watch-keeper 1/1 1 1 2m5s
من وحدة تحكم RazeeDash، انقر فوق RazeeDash لفتح صفحة تفاصيل RazeeDash والتحقق من أنه يمكنك رؤية معلومات النشر الخاصة بكبسولة Watch Keeper الخاصة بك.
من خلال إعداد Watch Keeper في مجموعتك، يمكنك استرداد معلومات النشر لموارد Kubernetes الأخرى التي تريد مراقبتها. يتم إرسال البيانات تلقائيًا إلى RazeeDash API ويمكنك الوصول إلى هذه البيانات ومراقبتها وتحليلها باستخدام RazeeDash.
حدد المعلومات التي تريد أن يستردها Watch Keeper عن طريق الاختيار من بين مستويات تفاصيل المعلومات التالية:
lite
: يسترد قسم metadata
status
في تكوين موارد Kubernetes.detail
: يسترد جميع بيانات التكوين لمورد Kubernetes، لكنه يترك متغيرات البيئة وقسم data
في خرائط التكوين وأسراره.debug
: استرداد جميع بيانات التكوين لمورد Kubernetes، بما في ذلك متغيرات البيئة data
. قسم خرائط التكوين والأسرار. قد تتضمن هذه المعلومات معلومات حساسة، لذا استخدم هذا الخيار بعناية. أضف تسمية razee/watch-resource
إلى قسم التسميات لجميع موارد Kubernetes التي تريد مراقبتها وحدد مستوى تفاصيل المعلومات. على سبيل المثال، إذا كنت تريد مراقبة نشر Kubernetes، فاستخدم الأمر التالي. بعد إضافة التسمية إلى موردك، يقوم Watch Keeper تلقائيًا بمسح موردك وإرسال البيانات إلى واجهة برمجة تطبيقات RazeeDash. وبعد ذلك، يتم فحص المورد الخاص بك مرة واحدة كل ساعة. بالإضافة إلى ذلك، يضيف Watch Keeper مراقب أحداث Kubernetes إلى موردك بحيث يتم إخطار Watch Keeper بواسطة Kubernetes عند تغيير تكوين المورد الخاص بك.
kubectl edit deployment < deployment_name >
مثال لملف YAML:
apiVersion : extensions/v1beta1
kind : Deployment
metadata :
annotations :
deployment.kubernetes.io/revision : " 1 "
kubectl.kubernetes.io/last-applied-configuration : |
{"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"labels":{"app":"myapp"},"name":"expandpvc","namespace":"default"},"spec":{"selector":{"matchLabels":{"app":"myapp"}},"template":{"metadata":{"labels":{"app":"myapp"}},"spec":{"con