K8s ڪلستر پاڻ لاءِ ڪي خاص ضرورتون نه آھن. نظرثاني ڪندي، ايپليڪيشن ڪبرنيٽس جي پراڻن ورزن سان پڻ ڪم ڪري ٿي جهڙوڪ 1.12.
اپليڪيشن معياري ترتيب استعمال ڪندي شروع ڪئي وئي آهي .kube/config - ساڳيء طرح اهو ڪيئن ڪري ٿو kubectl.
چريو
ڊفالٽ طور، ھڪڙي ونڊو کوليندي آھي ڊفالٽ نالي جي جڳھ سان بيان ڪيل حوالي سان. اهو آهي، جيڪڏهن توهان لکيو آهي kubectl config set-context --current --namespace=test، پوءِ نالي جي جاءِ کلي ويندي test. (هيٺ ڏسو حوالن/نام اسپيس کي تبديل ڪرڻ لاءِ.)
ڏانھن وو حڪم موڊ ":" کي دٻائڻ سان ڪيو ويندو آهي. ان کان پوء، توهان ڪمانڊ استعمال ڪندي k9s جي آپريشن کي ڪنٽرول ڪري سگهو ٿا - مثال طور، StatefulSets جي فهرست ڏسڻ لاء (موجوده نالي جي جاء ۾)، توهان داخل ڪري سگهو ٿا. :sts.
ڪجھ ٻين Kubernetes وسيلن لاء:
:ns - نالي جي جڳھ؛
:deploy - تعیناتي؛
:ing - داخل ٿيڻ؛
:svc - خدمتون.
ڏسڻ لاءِ موجود وسيلن جي قسمن جي مڪمل فهرست ڏيکارڻ لاءِ، اتي ھڪڙو حڪم آھي :aliases.
اهو پڻ آسان آهي ته موجوده ونڊو ۾ گرم اهم مجموعن سان دستياب ڪيل حڪمن جي فهرست کي ڏسڻ لاء: اهو ڪرڻ لاء، صرف "؟" تي ڪلڪ ڪريو.
k9s ۾ پڻ موجود آهي ڳولا موڊ، جنهن ڏانهن وڃڻ لاءِ "/" داخل ڪرڻ ڪافي آهي. ان سان گڏ، موجوده "ونڊو" جي مواد تي ڳولا ڪئي وئي آهي. اچو ته چئو ته توهان اڳ ۾ داخل ڪيو آهي :ns, توهان وٽ نالن جي جڳهن جي هڪ فهرست کليل آهي. جيڪڏھن انھن مان گھڻا آھن، پوءِ ڊگھي عرصي لاءِ ھيٺ لھي نه وڃڻ لاءِ، ونڊو ۾ داخل ٿيڻ ڪافي آھي نالن جي جڳھن سان /mynamespace.
ليبلن ذريعي ڳولڻ لاءِ، توھان گھربل نالي جي جڳھ ۾ سڀ پوڊ منتخب ڪري سگھو ٿا، پوءِ داخل ڪريو، مثال طور، / -l app=whoami. اسان هن ليبل سان پوڊ جي هڪ فهرست حاصل ڪنداسين:
نالي جي جڳھ کي چونڊڻ لاء، اڳ ۾ ئي ذڪر ڪيل حڪم آھي :ns، ۽ پوء توھان استعمال ڪري سگھوٿا مطلوب جڳھ جي ڳولا: /test.
جيڪڏهن اسان هاڻي اهو وسيلو چونڊيو جنهن ۾ اسان دلچسپي رکون ٿا (مثال طور، ساڳيو StatefulSet)، ان لاءِ لاڳاپيل معلومات ظاهر ٿيندي: انهن بابت مختصر معلومات سان ڪيترا پوڊ هلندا آهن.
صرف pods دلچسپي جي ٿي سگهي ٿو - پوء ان کي داخل ڪرڻ لاء ڪافي آهي :pod. ConfigMaps جي صورت ۾ (:cm - انهن وسيلن جي فهرست لاءِ)، توهان دلچسپيءَ جو اعتراض چونڊيو ۽ "u" تي ڪلڪ ڪري سگهو ٿا، جنهن کان پوءِ K9s توهان کي ٻڌائيندو ته ان کي ڪير خاص طور استعمال ڪري ٿو (هي سي ايم).
وسيلن کي ڏسڻ لاءِ هڪ ٻي مفيد خصوصيت انهن جي آهي "x-ray" (Xray view). هن موڊ کي حڪم سان سڏيو ويندو آهي :xray RESOURCE ۽ ... اهو ڏيکارڻ آسان آهي ته اهو ڪيئن ڪم ڪري ٿو وضاحت ڪرڻ کان. هتي StatefulSets لاء هڪ مثال آهي:
(انهن وسيلن مان هر هڪ کي تبديل ڪري سگهجي ٿو، تبديل ڪيو، ٺاهيو describe.)
۽ هتي داخل ٿيڻ سان گڏ آهي:
وسيلن سان ڪم ڪرڻ
توھان حاصل ڪري سگھو ٿا ھر وسيلن بابت YAML يا ان ۾ describe لاڳاپيل ڪيبورڊ شارٽ ڪٽس کي دٻائڻ سان (“ي” ۽ “ڊي”، ترتيب سان). يقينن، اڃا به وڌيڪ بنيادي عمل آهن: انهن جي فهرست ۽ ڪيبورڊ شارٽ ڪٽ هميشه نظر اچن ٿا هڪ آسان "هيڊر" جي مهرباني انٽرفيس ۾ (Ctrl + e کي دٻائڻ سان لڪيل).
جڏهن ڪنهن به وسيلا کي ايڊٽ ڪيو وڃي ("اي" ان جي چونڊ کان پوءِ)، ماحوليات جي متغير ۾ بيان ڪيل ٽيڪسٽ ايڊيٽر کوليو ويندو آهي (export EDITOR=vim).
۽ هتي اهو آهي ته وسيلن جي تفصيلي وضاحت وانگر نظر اچي ٿي (describe):
ھي آئوٽ پُٽ (يا YAML ريسورس مينيفيسٽ کي ڏسڻ جو آئوٽ پُٽ) کي محفوظ ڪري سگھجي ٿو ڪيبورڊ شارٽ ڪٽ Ctrl + s استعمال ڪندي. جتي اهو محفوظ ڪيو ويندو K9s پيغام مان معلوم ٿيندو:
توهان سسٽم ليبل ۽ تشريح کي هٽائڻ کان پوء، ٺاهيل بيڪ اپ فائلن مان وسيلن کي بحال ڪري سگهو ٿا. هن کي ڪرڻ لاء، توهان کي انهن سان گڏ ڊاريڪٽري ڏانهن وڃڻ جي ضرورت آهي (:dir /tmp)، پوء گهربل فائل چونڊيو ۽ لاڳو ڪريو apply.
رستي جي ذريعي، ڪنهن به وقت توهان واپس ڪري سگهو ٿا پوئين ReplicaSet ڏانهن جيڪڏهن موجوده هڪ سان مسئلا آهن. هن کي ڪرڻ لاء، مطلوب آر ايس چونڊيو (:rs انهن جي فهرست لاءِ):
... ۽ Ctrl + l سان rollback. اسان کي هڪ نوٽيفڪيشن حاصل ڪرڻ گهرجي ته سڀ ڪجهه ٺيڪ ٿي ويو:
k9s/whoami-5cfbdbb469 successfully rolled back
۽ نقلن کي ماپڻ لاءِ، صرف "s" (اسڪيل) تي ڪلڪ ڪريو ۽ مثالن جو گهربل تعداد چونڊيو:
توهان شيل استعمال ڪندي ڪنهن به ڪنٽينر ۾ داخل ڪري سگهو ٿا: هن کي ڪرڻ لاء، گهربل پوڊ ڏانهن وڃو، "s" (شيل) تي ڪلڪ ڪريو ۽ ڪنٽينر چونڊيو.
ٻيون خاصيتون
يقينا، ڏسڻ وارو لاگ پڻ سپورٽ آهي (چونڊيل وسيلن لاء "l"). ۽ نون لاگز کي ڏسڻ لاءِ، انٽر کي مسلسل دٻائڻ جي ڪا ضرورت ناهي: اهو نشان (“m”) لاءِ ڪافي آهي، ۽ پوءِ صرف نوان پيغامن کي ٽريڪ ڪريو.
ساڳئي ونڊو ۾، توهان لاگ ان جي پيداوار لاء وقت جي حد کي منتخب ڪري سگهو ٿا:
چيڪ "1" - 1 منٽ لاء؛
"2" - 5 منٽ؛
"3" - 15 منٽ؛
"4" - 30 منٽ؛
"5" - 1 ڪلاڪ؛
"0" - پوڊ جي سڄي زندگي لاء.
خاص آپريٽنگ موڊ پلس (ڪمانڊ :pulse) ڏيکاري ٿو عام معلومات ڪبرنيٽس ڪلستر بابت:
ان ۾ توهان وسيلن جو تعداد ۽ انهن جي حيثيت ڏسي سگهو ٿا (سائي ڏيکاري ٿو انهن کي جيڪي اسٽيٽس آهن Running).
K9s جي هڪ ٻي سٺي خاصيت سڏيو ويندو آهي Popeye. اهو سڀني وسيلن کي چيڪ ڪري ٿو درستي جي ڪجهه معيارن لاءِ ۽ ڏيکاري ٿو نتيجو "درجه بندي" وضاحتن سان. مثال طور، توهان ڏسي سگهو ٿا ته ڪافي نمونا يا حدون نه آهن، ۽ ڪجهه ڪنٽينر روٽ طور هلائي سگهن ٿا ...
بنيادي هيلم سپورٽ آهي. مثال طور، هي ڪيئن آهي توهان ڏسي سگهو ٿا رليز ڪلستر ۾ ترتيب ڏنل:
:helm all # все
:helm $namespace # в конкретном пространстве имен
خرچن
جيتوڻيڪ K9s ۾ ٺهيل او ھڪڙو سادو HTTP سرور لوڊ جنريٽر آھي، بھترين سڃاتل ab (ApacheBench) جو متبادل.
ان کي فعال ڪرڻ لاء، توهان کي پوڊ ۾ پورٽ فارورڊ کي فعال ڪرڻ جي ضرورت آهي. ائين ڪرڻ لاءِ، پوڊ چونڊيو ۽ Shift + f کي دٻايو، "pf" عرف استعمال ڪندي پورٽ فارورڊ سب مينيو ڏانھن وڃو.
بندرگاھ کي چونڊڻ ۽ Ctrl + b کي دٻائڻ کان پوء، معيار پاڻ شروع ٿي ويندو. سندس ڪم جا نتيجا محفوظ ٿيل آهن /tmp ۽ K9s ۾ بعد ۾ ڏسڻ لاءِ موجود آهن.
معيار جي ٺاھ جوڙ کي تبديل ڪرڻ لاء، توھان کي ھڪڙي فائل ٺاھڻ جي ضرورت آھي $HOME/.k9s/bench-<my_context>.yml (هر ڪلستر لاءِ مقرر ٿيل).
نوٽ: اهو ضروري آهي ته ڊاريڪٽري ۾ سڀني YAML فائلن جي توسيع .k9s اهو بلڪل هو .yml (.yaml صحيح ڪم نٿو ڪري).
تشڪيل مثال:
benchmarks:
defaults:
# Количество потоков
concurrency: 2
# Количество запросов
requests: 1000
containers:
# Настройки для контейнера с бенчмарком
# Контейнер определяется как namespace/pod-name:container-name
default/nginx:nginx:
concurrency: 2
requests: 10000
http:
path: /
method: POST
body:
{"foo":"bar"}
header:
Accept:
- text/html
Content-Type:
- application/json
services:
# Можно проводить бенчмарк на сервисах типа NodePort и LoadBalancer
# Синтаксис: namespace/service-name
default/nginx:
concurrency: 5
requests: 500
http:
method: GET
path: /auth
auth:
user: flant
password: s3cr3tp455w0rd
انٽرفيس
وسيلن جي فهرستن لاء ڪالمن جي ظاهري کي تبديل ڪيو ويو آھي ھڪڙي فائل ٺاھيو $HOME/.k9s/views.yml. ان جي مواد جو هڪ مثال:
k9s:
views:
v1/pods:
columns:
- AGE
- NAMESPACE
- NAME
- IP
- NODE
- STATUS
- READY
v1/services:
columns:
- AGE
- NAMESPACE
- NAME
- TYPE
- CLUSTER-IP
سچ، ليبل لاء ڪافي ڪالمن نه آهي، جنهن لاء اتي موجود آهي منصوبي ۾ مسئلو.
ڪالمن جي ترتيب کي ڪيبورڊ شارٽ ڪٽ ذريعي ڪيو ويندو آهي:
شفٽ + ن - نالي سان؛
شفٽ + او - نوڊس طرفان؛
شفٽ + i - IP طرفان؛
شفٽ + الف - ڪنٽينر جي زندگي جي لحاظ کان؛
شفٽ + ٽي - ٻيهر شروع ڪرڻ جي تعداد طرفان؛
شفٽ + آر - تيارگي جي حالت طرفان؛
شفٽ + سي - سي پي يو استعمال ڪندي؛
شفٽ + م - ياداشت جي استعمال سان.
جيڪڏهن ڪو ماڻهو ڊفالٽ رنگ اسڪيم پسند نٿو ڪري، K9s به سپورٽ ڪري ٿو چمڙا. تيار ڪيل مثال (7 ٽڪرا) موجود آهن هتي. هتي انهن جلدن مان هڪ مثال آهي (بحري ۾):
پلگ ان
آخرڪار پلگ ان توهان کي K9s جي صلاحيتن کي وڌائڻ جي اجازت ڏئي ٿي. مون پاڻ انهن مان صرف هڪ کي پنهنجي ڪم ۾ استعمال ڪيو آهي. kubectl get all -n $namespace.
plugin:
get-all:
shortCut: g
confirm: false
description: get all
scopes:
- all
command: sh
background: false
args:
- -c
- "kubectl -n $NAMESPACE get all -o wide | less"
ھاڻي توھان نالا اسپيس ڏانھن وڃو ۽ لاڳاپيل حڪم سان عمل ڪرڻ لاءِ "g" کي دٻايو:
پلگ ان ۾ موجود آهن، مثال طور، ڪبيڪٽل-جڪ سان انضمام ۽ لاگ ڏسڻ لاءِ هڪ يوٽيلٽي طبع آزمائي.
ٿڪل
منهنجي ذائقي لاء، K9s سان گڏ ڪم ڪرڻ لاء تمام آسان ٿي ويو: توهان جلدي استعمال ڪري سگهو ٿا هر شيء کي ڳولڻ لاء توهان کي استعمال ڪرڻ کان سواء. kubectl. مان لاگز جي ڏسڻ ۽ انهن جي بچت، وسيلن جي جلدي ايڊيٽنگ، عام طور تي ڪم جي رفتار *، Popeye موڊ مفيد ثابت ٿيو. هڪ خاص ذڪر پلگ ان ٺاهڻ ۽ ايپليڪيشن کي تبديل ڪرڻ جي صلاحيت آهي توهان جي ضرورتن کي پورو ڪرڻ لاءِ.
* جيتوڻيڪ، لاگن جي وڏي مقدار سان، مون پڻ K9s جي سست آپريشن کي محسوس ڪيو. اهڙين لمحن تي، افاديت "کائي" 2 ڪور انٽيل Xeon E312xx کان ۽ اڃا به منجمد ٿي سگهي ٿي.
هن وقت ڇا غائب آهي؟ ڊاريڪٽري ۾ وڃڻ کان سواءِ پوئين ورزن ڏانهن جلدي رول بيڪ (اسان RS بابت نه ڳالهائي رهيا آهيون). ان کان سواء، وصولي صرف لاء ٿيندي آهي ڪل وسيلا: جيڪڏهن توهان هڪ تشريح يا ليبل حذف ڪريو ٿا، توهان کي مڪمل وسيلو کي حذف ڪرڻ ۽ بحال ڪرڻو پوندو (هي اهو آهي جتي توهان کي ڊاريڪٽري ڏانهن وڃڻ جي ضرورت آهي). هڪ ٻيو ننڍڙو - اهڙي محفوظ ٿيل "بيڪ اپ" لاء ڪافي تاريخ ناهي.