برنامه نویسی

بهره گیری بیشتر از Kubectl – DEV Community

چطور می‌خواهید کمی عمیق‌تر به Kubectl بروید و از مزایای بیشتری از این ابزار بهره ببرید؟ بیایید با دستوراتی آشنا شویم که می توانند به شما در صرفه جویی در زمان کمک کنند، اطلاعاتی را در مورد خوشه و منابع خود به ارمغان بیاورند، پادها را اشکال زدایی و تجزیه و تحلیل کنند و غیره.


مدیریت

kub به شما توضیح می دهد: دستور توضیح اطلاعاتی در مورد ویژگی های kub ارائه می دهد. اگر در مورد ترکیب یک منبع مانند استقرار، نقش و غیره شک دارید، می توانید از آن برای داشتن شمال استفاده کنید، به مثال زیر مراجعه کنید:
kubectl explain roles
توضیحات تصویر

می تواند؟ این دستور می تواند برای مدیران خوشه مفید باشد زیرا به شما امکان می دهد بررسی کنید که آیا یک کاربر یا گروه مجوز انجام یک عمل خاص را دارد یا خیر.
kubectl auth can-i delete deploy
توضیحات تصویر

می توانید حتی دقیق تر باشید و بپرسید که آیا یک حساب سرویس خاص مجوز دارد یا خیر:
kubectl auth can-i list pods -n default --as system:serviceaccount:default:default
توضیحات تصویر

من لیستی از آنچه شما دارید می خواهم: این دستور می تواند به کشف انواع منابعی که می توانند در خوشه ایجاد شوند کمک کند.
kubectl api-resources
توضیحات تصویر

hmm زمینه ها: هنگام کار با چندین خوشه، جالب است که از دستور get-contexts برای دریافت داده‌ها از همه خوشه‌های پیکربندی شده استفاده کنید و بفهمید که در کدام خوشه “ورود به سیستم” هستید.
kubectl config get-contexts
توضیحات تصویر

برای جابجایی به زمینه دیگر از دستور زیر استفاده کنید:
kubectl config use-context [nome do contexto]

از خودت بگو کوب: برای بدست آوردن مقداری داده در مورد خوشه خود می توانید از دستور زیر استفاده کنید:
kubectl cluster-info
توضیحات تصویر

من یه فایل میخوام: در زمان‌های خاصی ممکن است لازم باشد مانیفست منبعی را که قبلاً در خوشه ایجاد شده است به دست آورید، یا به این دلیل که دیگر مانیفست را در جایی ندارید یا به این دلیل که به سادگی می‌خواهید آن را مطالعه کنید. می توان این کار را با اکسپورت کردن آن با پرچم -o و مشخص کردن فرمت آن انجام داد، در مثال زیر من مانیفست استقرار خود را که در کلاستر است در قالب yaml با نام novo_deploy.yaml به دستگاه خود استخراج می کنم:
kubectl get deploy nginx-deployment -o yaml > novo_deploy.yaml

من منابع را بر اساس برچسب ها می خواهم: برچسب‌ها در kub بسیار مفید هستند و می‌توانیم از آنها برای فیلتر کردن ویژگی‌هایی که می‌خواهیم ببینیم استفاده کنیم، نمونه‌ای از آن دریافت لیستی از pod‌ها بر اساس برچسب‌ها است:
kubectl get pods -l app=nginx
توضیحات تصویر


پسر چوب سیاهه به من بده: برای مشاهده لاگ های یک pod از دستور logs + استفاده می کنیم [nome do pod] + [namespace]، زیر را بررسی کنید:
kubectl logs nginx-deployment-8cf88777f-l8s2g -n default
توضیحات تصویر

اگر می‌خواهید لاگ‌های کانتینر را مستقیماً ببینید، فقط پرچم -c را به همراه نام کانتینر اضافه کنید.

برای پرس و جو و دنبال کردن گزارش های غلاف، فقط پرچم -f را اضافه کنید (–follow):
kubectl logs -f nginx-deployment-8cf88777f-l8s2g -n default

چه اتفاقی می افتد؟ دستور get events یک نمای فضای نامی از رویدادهایی که در خوشه اتفاق می‌افتند به شما می‌دهد.
kubectl get events -n kube-system
توضیحات تصویر

شما می توانید رویدادها را برای مشاهده، به عنوان مثال، فقط اطلاعات یک منبع خاص فیلتر کنید.
kubectl get events -n default --field-selector involvedObject.name=nginx-deployment-8cf88777f-l8s2g
توضیحات تصویر

آن را برای من توصیف کن: برای تجزیه و تحلیل تنظیمات یک منبع ایجاد شده در خوشه می توانید از دستور توصیف استفاده کنید، علاوه بر این، در پایان داده های برگردانده شده توسط این دستور، امکان بررسی وضعیت/رویدادهای مربوط به منبع وجود دارد.
kubectl describe pod nginx-deployment-8cf88777f-l8s2g -n default
توضیحات تصویر

“ورود نمی تواند”: دستور exec –it به شما امکان می دهد دستورات را در داخل یک pod یا کانتینر اجرا کنید. برای اجرای آن از kubectl exec –it استفاده کنید [nome do pod] + [comando]، نگاه کنید:
kubectl exec -i -t nginx-deployment-8cf88777f-l8s2g -- /bin/bash
توضیحات تصویر

برای دسترسی به کانتینر به جای پاد، فقط پرچم -c و نام کانتینر در جلو را وارد کنید:
kubectl exec -i -t nginx-deployment-8cf88777f-l8s2g -c nginx-container -- /bin/bash
برای خروج از غلاف از «خروج» استفاده کنید

اطلاعات بیشتر و بیشتر: پرچم گسترده -o اطلاعات فهرست را برای یک منبع مشخص گسترش می دهد، می تواند با پادها، گره ها، استقرارها، سرویس ها و غیره استفاده شود و می تواند برای تشخیص سریع هر گونه ناهنجاری مانند IP های نادرست مفید باشد.
kubectl get pods -o wide
توضیحات تصویر


جایزه

راه اندازی مجدد استقرارها: راه اندازی مجدد راه اندازی مجدد kubectl [nome do deployment]
لغو استقرار: kubectl rollout لغو استقرار [nome do deployment]
افزایش تعداد تکرار: مقیاس kubectl –replicas=3 replicaset [nome do replicaset]


نتیجه

در این مقاله، من به روشی ساده برخی از دستورات کمتر شناخته شده ابزار kubectl را مورد بحث قرار داده ام که می تواند به مدیریت خوشه kubernetes کمک کند. من از minikube برای راه اندازی یک کلاستر محلی استفاده کردم و یک سرور nginx را برای نمایش دستورات مستقر کردم. در زیر پیوندهایی وجود دارد که می توانید منابع مورد استفاده و مستندات را برای یادگیری دستورات بیشتر و تغییرات بیشتر دریافت کنید:

امیدوارم مقاله برای شما مفید بوده باشد! 😛

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا