Категория > Новости > Лайфхаки для DevOps. Маленькие хитрости и большие инструменты на каждый день - «Новости»

Лайфхаки для DevOps. Маленькие хитрости и большие инструменты на каждый день - «Новости»


3-07-2021, 00:00. Автор: Эмилия
antigen или Zinit. Но в целом уста­нов­ка сво­дит­ся к git clone и запус­ку скрип­та, который сам все нас­тро­ит. Для поис­ка пла­гинов луч­ше все­го исполь­зовать под­борки на GitHub вро­де awesome-zsh-plugins.
 

Screen и tmux


Screen — это эму­лятор (а точ­нее, муль­тип­лексор) тер­миналь­ных сес­сий VT100. Но обыч­но его исполь­зуют как спо­соб безопас­но выпол­нить коман­ды через SSH на слу­чай пре­рыва­ния соеди­нения.


К при­меру, ты запус­каешь «дол­гоиг­рающую» коман­ду вро­де apt-get upgrade и в этот момент соеди­нение с сер­вером обры­вает­ся. В ито­ге дочер­ний про­цесс apt-get-сес­сии SSH уми­рает и про­цесс обновле­ния пакетов оста­нав­лива­ется. Что­бы это­го не про­изош­ло, прос­то запус­ти screen и уже в нем запус­кай все нуж­ные коман­ды. Теперь, если соеди­нение обор­вется, родитель­ский про­цесс screen оста­нет­ся жив и не толь­ко поз­волит коман­де кор­рек­тно завер­шить­ся, но и поз­волит заново под­клю­чить­ся к сущес­тву­ющей сес­сии, при­чем неваж­но, с какого устрой­ства.


Screen поз­воля­ет запус­кать мно­жес­тво тер­миналов в рам­ках одной SSH-сес­сии

У Screen есть более сов­ремен­ная аль­тер­натива под наз­вани­ем tmux. Ее раз­работа­ли пар­ни из OpenBSD, и в целом она отли­чает­ся более высокой про­изво­дитель­ностью и наличи­ем раз­личных сов­ремен­ных плю­шек, вро­де под­дер­жки пла­гинов. Сра­зу рекомен­дую уста­новить пла­гин tmux-resurrect, поз­воля­ющий сох­ранить текущий набор откры­тых в tmux тер­миналов в файл и вос­ста­новить его, ког­да понадо­бит­ся выпол­нить схо­жую задачу.


 

JQ


Вза­имо­дей­ствие с вебом и облачны­ми инфраструк­турами по боль­шей час­ти идет в фор­мате JSON. Kubectl и мно­гие дру­гие инс­тру­мен­ты так­же уме­ют выводить дан­ные в JSON. Поэто­му нам нужен JSON-про­цес­сор, и луч­ший из них — это jq. Очень удоб­ный инс­тру­мент с раз­витым син­такси­сом и дос­таточ­ной гиб­костью, что­бы писать слож­ные вло­жен­ные зап­росы и усло­вия.


В man json мож­но най­ти пол­ную докумен­тацию с хороши­ми при­мера­ми исполь­зования, да и в целом инс­тру­мент нас­толь­ко популя­рен, что при­меры есть прак­тичес­ки для любой задачи. Далее нес­коль­ко при­меров работы с Kubernetes.


Пос­мотреть выс­тавлен­ные перемен­ные окру­жения в кон­тей­нерах:


По­иск пов­режден­ных деп­лой­мен­тов:


Быс­тро пос­мотреть, какие обра­зы дос­тупны на нодах (час­то помога­ет при проб­леме с кеширо­вани­ем и ска­чива­нием обра­зов новых вер­сий):


Схо­же с пре­дыду­щей, вари­ант быс­тро­го прос­мотра дос­тупных ресур­сов на нодах, удоб­но поль­зовать­ся в связ­ке со скрип­тами:


 

K9S и K8S Lens


K9s — кон­соль­ный менед­жер для Kubernetes. Лег­кий, быс­трый, под­держи­вает все спо­собы авто­риза­ции в кубере, вклю­чая SSO и aws-iam-auth. Поз­воля­ет быс­тро и наг­лядно переме­щать­ся по клас­теру, редак­тировать манифес­ты и ресур­сы, заходить в кон­тей­неры, смот­реть заг­рузку ресур­сов.



Перейти обратно к новости