پروژه په Go کې لیکل شوې او له یو نیم کال څخه ډیر وخت شتون لري: لومړۍ ژمنه د فبروري په 1 ، 2019 کې شوې وه. د لیکلو په وخت کې، 9000+ ستوري شتون لري
نصب او پیل کول
دا یو پیرودونکی دی (د کوبرنیټس کلستر په تړاو) غوښتنلیک ، کوم چې د ډاکر عکس په توګه چلول خورا اسانه دي:
docker run --rm -it -v $KUBECONFIG:/root/.kube/config quay.io/derailed/k9s
د ځینو لینکس توزیعونو او نورو عملیاتي سیسټمونو لپاره هم د نصب کولو لپاره چمتو دي
sudo wget -qO- https://github.com/derailed/k9s/releases/download/v0.22.0/k9s_Linux_x86_64.tar.gz | tar zxvf - -C /tmp/
sudo mv /tmp/k9s /usr/local/bin
پخپله د K8s کلستر لپاره هیڅ ځانګړي اړتیاوې شتون نلري. د بیاکتنې په واسطه قضاوت کول، غوښتنلیک د Kubernetes پخوانیو نسخو لکه 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
. موږ به د دې لیبل سره د پوډونو لیست ترلاسه کړو:
لټون د وینډوز په ټولو ډولونو کې کار کوي، پشمول د لاګونو، د YAML منشورونو لیدل او describe
د سرچینو لپاره - د دې وړتیاوو په اړه د نورو معلوماتو لپاره لاندې وګورئ.
د عمومي نیویګیشن جریان څه ډول ښکاري؟
د امر سره :ctx
تاسو کولی شئ شرایط وټاکئ:
د نوم ځای غوره کولو لپاره مخکې ذکر شوی کمانډ شتون لري :ns
، او بیا تاسو کولی شئ د مطلوب ځای لټون وکاروئ: /test
.
که موږ اوس هغه سرچینې وټاکو چې موږ ورسره علاقه لرو (د مثال په توګه ، ورته StatefulSet) ، اړونده معلومات به د دې لپاره څرګند شي: څومره پوډونه د دوی په اړه لنډ معلومات سره روان دي.
یوازې پوډونه ممکن د علاقې وړ وي - بیا یوازې ننوتل :pod
. د ConfigMaps په صورت کې (:cm
- د دې سرچینو لیست لپاره) تاسو کولی شئ د علاقې وړ توکي وټاکئ او په "u" کلیک وکړئ، وروسته له دې چې K9s به تاسو ته ووایي چې څوک (دا CM) دا کاروي.
د سرچینو لیدلو لپاره بل مناسب خصوصیت د دوی دی "X-ray" (XRay لید). دا حالت د کمانډ لخوا ویل کیږي :xray RESOURCE
او... د تشریح کولو په پرتله دا په ډاګه کول اسانه دي چې دا څنګه کار کوي. دلته د StatefulSets لپاره یو مثال دی:
(د دې سرچینو څخه هر یو ترمیم، بدل، جوړ کیدی شي describe
.)
او دلته د ننوتلو سره ګمارنه ده:
د سرچینو سره کار کول
د هرې سرچینې په اړه معلومات په YAML یا د هغې کې ترلاسه کیدی شي describe
د مناسب کیبورډ شارټ کټونو په فشارولو سره ("y" او "d" په ترتیب سره). البته، حتی نور بنسټیز عملیات شتون لري: د دوی لیست او د کیبورډ شارټ کټ تل په انټرنیټ کې د مناسب "سرلیک" څخه مننه لیدل کیږي (د Ctrl + e په فشارولو سره پټ شوی).
کله چې کومې سرچینې ترمیم کړئ ("e" د غوره کولو وروسته)، د متن مدیر د چاپیریال متغیرونو کې تعریف شوی (export EDITOR=vim
).
او دلته هغه څه دي چې د سرچینې تفصیلي توضیح ورته ښکاري (describe
):
دا محصول (یا د سرچینې د YAML څرګند لید لید) د معمول کیبورډ شارټ کټ Ctrl + s په کارولو سره خوندي کیدی شي. چیرته چې دا به خوندي شي د K9s پیغام څخه به معلومه شي:
Log /tmp/k9s-screens-root/kubernetes/Describe-1601244920104133900.yml saved successfully!
تاسو کولی شئ لومړی د سیسټم لیبلونو او تشریحاتو لرې کولو سره د رامینځته شوي بیک اپ فایلونو څخه سرچینې هم بحال کړئ. د دې کولو لپاره تاسو اړتیا لرئ د دوی سره لارښود ته لاړشئ (:dir /tmp
)، بیا مطلوب فایل غوره کړئ او درخواست وکړئ apply
.
په هرصورت، په هر وخت کې تاسو کولی شئ بیرته مخکینۍ ریپلیکا سیټ ته لاړ شئ که چیرې د اوسني سره ستونزې شتون ولري. د دې کولو لپاره ، تاسو اړتیا لرئ مطلوب RS غوره کړئ (:rs
د دوی د لیست لپاره):
... او د Ctrl + l په کارولو سره رول بیک. موږ باید یو خبرتیا ترلاسه کړو چې هرڅه بریالي وو:
k9s/whoami-5cfbdbb469 successfully rolled back
او د نقلونو اندازه کولو لپاره ، یوازې په "s" (پیمانه) کلیک وکړئ او د کاپي اړین شمیر غوره کړئ:
تاسو کولی شئ د شیل په کارولو سره هر کانټینر دننه کړئ: د دې کولو لپاره، مطلوب پوډ ته لاړ شئ، په "s" (شیل) کلیک وکړئ او کانټینر غوره کړئ.
نور ځانګړتیاوې
البته، د لاګونو لیدل هم ملاتړ کیږي (د ټاکل شوې سرچینې لپاره "l"). او د نویو لاګونو لیدلو لپاره، په دوامداره توګه د Enter فشارولو ته اړتیا نشته: یوازې نښه کړئ ("m")، او بیا یوازې نوي پیغامونه وڅارئ.
همدارنګه په ورته کړکۍ کې تاسو کولی شئ د لاګونو تولیدولو لپاره د وخت حد وټاکئ:
- کیلي "1" - په 1 دقیقه کې؛
- "2" - 5 دقیقې؛
- "3" - 15 دقیقې؛
- "4" - 30 دقیقې؛
- "5" - 1 ساعت؛
- "0" - د پوډ ټول ژوند لپاره.
ځانګړي عملیاتي حالت نبض (کمانډ :pulse
) د Kubernetes کلستر په اړه عمومي معلومات ښیې:
پدې کې تاسو کولی شئ د سرچینو شمیر او د دوی حالت وګورئ (هغه چې دریځ لري په شنه کې ښودل شوي Running
).
د K9s بل په زړه پورې ځانګړتیا بلل کیږي Popeye. دا ټولې سرچینې د ځینې درستیت معیارونو لپاره چک کوي او پایله یې د توضیحاتو سره "درجه" ښیې. د مثال په توګه، تاسو لیدلی شئ چې کافي نمونې یا محدودیتونه شتون نلري، او ځینې کانټینر د ریښې په توګه چلول کیدی شي ...
د هیلم بنسټیز ملاتړ شتون لري. د مثال په توګه، دا څنګه تاسو کولی شئ کلستر ته ګمارل شوي ریلیزونه وګورئ:
:helm all # все
:helm $namespace # в конкретном пространстве имен
بنچمارک
دوی حتی دا په K9s کې جوړ کړی
د دې فعالولو لپاره، تاسو به په پوډ کې د پورټ فارورډ فعالولو ته اړتیا ولرئ. د دې کولو لپاره، پوډ غوره کړئ او 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
ریښتیا، د لیبلونو لپاره کافي کالم شتون نلري، د کوم لپاره چې شتون لري
د کالمونو ترتیب کول د کیبورډ شارټ کټونو په کارولو سره ترسره کیږي:
- Shift + n - په نوم؛
- شفټ + او - د نوډونو په واسطه؛
- شفټ + i - د IP لخوا؛
- شفټ + یو - د کانټینر د ژوند په اوږدو کې؛
- شفټ + t - د بیا پیل کولو شمیر سره؛
- شفټ + r - د چمتووالي حالت له مخې؛
- شفټ + c - د CPU مصرف لخوا؛
- Shift + m - د حافظې مصرف لخوا.
که څوک د ډیفالټ رنګ سکیم نه خوښوي، K9s حتی ملاتړ کوي
پلگ ان
په پای کې kubectl get all -n $namespace
.
دا داسې ښکاري. یو فایل جوړ کړئ $HOME/.k9s/plugin.yml
د دې په څیر منځپانګې سره:
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" فشار ورکړئ:
د پلگ انونو په مینځ کې شتون لري ، د مثال په توګه ، د kubectl-jq سره ادغام او د لاګونو لیدو لپاره یوټیلټي
پایلې
زما د خوند لپاره ، K9s د کارولو لپاره خورا اسانه وګرځید: د دې سره تاسو کولی شئ ژر تر ژره د هر هغه څه موندلو لپاره عادت شئ چې تاسو ورته اړتیا لرئ پرته له کارولو څخه kubectl
. زه د لاګونو په لیدو او د دوی خوندي کولو څخه خوښ وم ، د سرچینو ګړندي ترمیم ، په عمومي ډول د کار سرعت * ، د پاپي حالت ګټور ثابت شو. ځانګړې یادونه باید د پلگ انونو رامینځته کولو وړتیا او ستاسو د اړتیاو سره سم غوښتنلیک دودیز کولو لپاره ترسره شي.
* که څه هم، د لوګو لوی حجم سره، ما د K9s ورو عملیات هم ولیدل. په داسې شیبو کې، افادیت د Intel Xeon E2xx 312 کورونه "خوړل" او حتی منجمد کولی شي.
دا مهال څه ورک دي؟ پخوانۍ نسخې ته ګړندي رول بیک (موږ د RS په اړه خبرې نه کوو) پرته له دې چې لارښود ته لاړشئ. سربیره پردې ، بیا رغونه یوازې د دې لپاره پیښیږي ټول سرچینه: که تاسو یو تشریح یا لیبل حذف کړی وي ، نو تاسو باید ټوله سرچینه حذف او بحال کړئ (دا هغه ځای دی چې تاسو اړتیا لرئ لارښود ته لاړشئ). بله کوچنۍ خبره دا ده چې د داسې خوندي شوي "بیک اپ" نیټه ورکه ده.
PS
زموږ په بلاګ کې هم ولولئ:
- «
د Kubernetes لپاره د GUIs عمومي کتنه » - «
د Kubernetes ویب لید اعلان (او د Kubernetes لپاره د نورو ویب UIs لنډه کتنه) » - «
kubebox او د Kubernetes لپاره نورې مرمۍ ".
سرچینه: www.habr.com