Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe

Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe
Má oibríonn tú le Kubernetes, ansin is dócha go bhfuil kubectl ar cheann de na fóntais is mó a úsáideann tú. Agus aon uair a chaitheann tú go leor ama ag obair le huirlis ar leith, íocann sé chun staidéar a dhéanamh air go maith agus foghlaim conas é a úsáid go héifeachtach.

Foireann Kubernetes aaS ó Mail.ru d'aistrigh Daniel Weibel alt ina bhfaighidh tú leideanna agus cleasanna chun oibriú go héifeachtach le kubectl. Cabhróidh sé leat freisin tuiscint níos doimhne a fháil ar Kubernetes.

De réir an údair, is é sprioc an ailt ná do chuid oibre laethúil le Kubernetes a dhéanamh ní hamháin níos éifeachtaí, ach freisin níos taitneamhaí!

Réamhrá: Cad é kubectl

Sular féidir leat foghlaim conas kubectl a úsáid ar bhealach níos éifeachtaí, ní mór duit tuiscint bhunúsach a fháil ar cad é atá ann agus conas a oibríonn sé.

Ó thaobh an úsáideora de, is painéal rialaithe é kubectl a ligeann duit oibríochtaí Kubernetes a dhéanamh.

Go teicniúil, is cliant API Kubernetes é kubectl.

Is API HTTP REST é Kubernetes API. Is é an API seo fíor-chomhéadan úsáideora Kubernetes, trína ndéantar é a rialú go hiomlán. Ciallaíonn sé seo go bhfuil gach oibríocht Kubernetes nochta mar chríochphointe API agus is féidir é a dhéanamh le hiarratas HTTP chuig an gcríochphointe sin.

Mar sin, is é príomhphost kubectl iarratais HTTP a dhéanamh chuig Kubernetes API:

Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe
Is córas atá dírithe go hiomlán ar acmhainní é Kubernetes. Ciallaíonn sé seo go gcoimeádann sé staid inmheánach na n-acmhainní agus is oibríochtaí CRUD iad gach oibríocht Kubernetes.

Tá smacht iomlán agat ar Kubernetes trí na hacmhainní seo a bhainistiú, agus déanann Kubernetes amach cad atá le déanamh bunaithe ar staid reatha na n-acmhainní. Ar an ábhar seo, eagraítear tagairt Kubernetes API mar liosta de na cineálacha acmhainne lena n-oibríochtaí gaolmhara.

Breathnaímid ar shampla.

Ligean le rá gur mhaith leat acmhainn ReplicaSet a chruthú. Chun seo a dhéanamh, déanann tú cur síos ar an ReplicaSet i gcomhad de réir ainm replicaset.yaml, ansin rith an t-ordú:

$ kubectl create -f replicaset.yaml

Cruthóidh sé seo acmhainn ReplicaSet. Ach cad a tharlaíonn sa chúlra?

Tá oibríocht chruthaithe ReplicaSet ag Kubernetes. Cosúil le haon oibríocht eile, nochtar é mar chríochphointe API. Breathnaíonn an críochphointe sonrach API don oibríocht seo mar seo:

POST /apis/apps/v1/namespaces/{namespace}/replicasets

Is féidir críochphointí API do gach oibríocht Kubernetes a fháil ag Tagairt API (lena n-áirítear an críochphointe thuas). Chun iarratas iarbhír a dhéanamh chuig críochphointe, ní mór duit URL an fhreastalaí API a chur leis na conairí críochphointe atá liostaithe sa tagairt API ar dtús.

Mar sin, nuair a fhorghníomhaíonn tú an t-ordú thuas, seolann kubectl iarratas HTTP POST chuig an gcríochphointe API thuas. An sainmhíniú ReplicaSet a chuir tú ar fáil sa chomhad replicaset.yaml, a sheoladh i gcorp an iarratais.

Seo mar a oibríonn kubectl do gach ordú a idirghníomhaíonn le braisle Kubernetes. Sna cásanna seo go léir, ní dhéanann kubectl ach iarratais HTTP chuig críochphointí cuí Kubernetes API.

Tabhair faoi deara gur féidir leat Kubernetes a bhainistiú go hiomlán ag baint úsáide as fóntais mar curltrí iarratais HTTP a sheoladh de láimh chuig Kubernetes API. Déanann Kubectl ach API Kubernetes a úsáid níos éasca.

Is é seo na bunghnéithe cad é kubectl agus conas a oibríonn sé. Ach tá rud éigin eile faoi API Kubernetes ba chóir go mbeadh a fhios ag gach úsáideoir kubectl. Breathnaímis go tapa ar dhomhan istigh Kubernetes.

An domhan istigh de Kubernetes

Is éard atá i Kubernetes sraith comhpháirteanna neamhspleácha a ritheann mar phróisis ar leithligh ar nóid bhraisle. Ritheann roinnt comhpháirteanna ar mháistirnóid, cuid eile ar nóid oibrithe, agus déanann gach comhpháirt a tasc sonrach féin.

Seo na comhpháirteanna is tábhachtaí ar na príomhnóid:

  1. Cruinneachán - stórálann sainmhínithe acmhainní (de ghnáth is etc).
  2. Freastalaí API — soláthraíonn sé API agus bainistíonn sé stóráil.
  3. Bainisteoir Rialaithe — Cinntíonn sé go gcomhlíonann stádais acmhainní na sonraíochtaí.
  4. Sceidealóir — pods sceidil ar nóid oibrithe.

Agus seo comhpháirt amháin is tábhachtaí ar na nóid oibrithe:

  1. Ceobhrán — a bhainistíonn seoladh coimeádán ar an nód oibre.

Chun tuiscint a fháil ar an gcaoi a n-oibríonn na comhpháirteanna seo le chéile, déanaimis féachaint ar shampla.

Glacaimid leis go bhfuil tú díreach críochnaithe kubectl create -f replicaset.yaml, agus ina dhiaidh sin rinne kubectl iarratas POST HTTP chuig críochphointe API ReplicaSet (ag dul thar an sainmhíniú acmhainne ReplicaSet).

Cad atá ar siúl sa bhraisle?

  1. Tar éis déanamh kubectl create -f replicaset.yaml Stórálann an freastalaí API do shainmhíniú acmhainne ReplicaSet i stóras:

    Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe

  2. Ansin, seoltar an rialtóir ReplicaSet sa bhainisteoir rialaitheora, a láimhseálann cruthú, modhnú agus scriosadh acmhainní ReplicaSet:

    Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe

  3. Cruthaíonn an rialtóir ReplicaSet sainmhíniú pod le haghaidh gach macasamhail ReplicaSet (de réir an teimpléid pod sa sainmhíniú ReplicaSet) agus stórálann sé iad:

    Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe

  4. Seoltar an sceidealóir, ag rianú pods nach bhfuil sannta go fóill d'aon nóid oibrithe:

    Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe

  5. Roghnaíonn an sceidealóir nód oibrithe oiriúnach do gach pod agus cuireann sé an fhaisnéis seo leis an sainmhíniú pod sa siopa:

    Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe

  6. Ar an nód oibrithe a bhfuil an pod sannta dó, seoltar Kubelet, rianaíonn sé na pods a shanntar don nód seo:

    Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe

  7. Léann an Kubelet an sainmhíniú pod ón stóráil agus tugann sé treoir d’am rite coimeádáin, mar Docker, coimeádáin a sheoladh ar an nód:

    Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe

Seo thíos leagan téacs den chur síos seo.

Is é an freastalaí API a phróiseálann an t-iarratas API chuig críochphointe cruthú ReplicaSet. Fíordheimhníonn an freastalaí API an t-iarratas agus stórálann sé sainmhíniú acmhainne ReplicaSet i stóras.

Cuireann an teagmhas seo tús leis an rialaitheoir ReplicaSet, ar fophróiseas é de bhainisteoir an rialtáin. Déanann rialtóir ReplicaSet monatóireacht ar chruthú, nuashonrú agus scriosadh acmhainní ReplicaSet sa siopa agus faigheann sé fógra teagmhais nuair a tharlaíonn sé seo.

Is é post an rialaitheora ReplicaSet ná a chinntiú go bhfuil an líon riachtanach pods ReplicaSet ann. Inár sampla, níl aon pods ann fós, mar sin cruthaíonn an rialtóir ReplicaSet na sainmhínithe pod seo (de réir an teimpléad pod sa sainmhíniú ReplicaSet) agus stórálann sé iad i stóráil.

Spreagtar cruthú pods nua ag sceidealóir a choimeádann súil ar shainmhínithe pod nach bhfuil sceidealta fós le haghaidh nóid oibrithe. Roghnaíonn an sceidealóir nód oibrithe oiriúnach do gach pod agus nuashonraíonn sé sainmhínithe an choda sa stór.

Tabhair faoi deara, go dtí an pointe seo, nach raibh aon chód ualach oibre ag rith áit ar bith sa bhraisle. Gach rud atá déanta go dtí seo - is é seo cruthú agus nuashonrú acmhainní sa stór ar an máistir nód.

Spreagann an teagmhas deireanach Kubelets, a dhéanann monatóireacht ar na pods atá sceidealaithe dá nóid oibrithe. Ní mór don Kubelet den nód oibrithe ar a bhfuil do pods ReplicaSet suiteáilte am rite an choimeádáin, mar Docker, a threorú na híomhánna coimeádáin riachtanacha a íoslódáil agus iad a rith.

Ag an bpointe seo, tá d'iarratas ReplicaSet ag rith ar deireadh!

Ról an Kubernetes API

Mar a chonaic tú sa sampla roimhe seo, comhpháirteanna Kubernetes (ach amháin i gcás an fhreastalaí API agus stórála) faire le haghaidh athruithe ar acmhainní i stóráil agus faisnéis a athrú faoi acmhainní i stóráil.

Ar ndóigh, ní idirghníomhaíonn na comhpháirteanna seo leis an stóráil go díreach, ach amháin trí API Kubernetes.

Smaoinigh ar na samplaí seo a leanas:

  1. Úsáideann rialtóir ReplicaSet críochphointe API liosta MacasamhailSets le paraiméadar watch chun monatóireacht a dhéanamh ar athruithe ar acmhainní ReplicaSet.
  2. Úsáideann rialtóir ReplicaSet críochphointe API chruthú Pod (cruthaigh pod) chun pods a chruthú.
  3. Úsáideann an sceidealóir críochphointe API pod paiste (poda in eagar) chun pods a nuashonrú le faisnéis faoin nód oibrithe roghnaithe.

Mar a fheiceann tú, is é seo an API céanna a bhfuil rochtain ag kubectl air. Is coincheap bunúsach i ndearadh Kubernetes é an API céanna a úsáid le haghaidh comhpháirteanna inmheánacha agus úsáideoirí seachtracha.

Anois is féidir linn achoimre a dhéanamh ar conas a oibríonn Kubernetes:

  1. Luann na stórais stórála, is é sin, acmhainní Kubernetes.
  2. Soláthraíonn an freastalaí API comhéadan don stóráil i bhfoirm Kubernetes API.
  3. Léann, breathnaíonn agus ionramhálann gach comhpháirt agus úsáideoir Kubernetes eile Kubernetes stát (acmhainní) tríd an API.

Má bhíonn tú ar an eolas faoi na coincheapa seo, cuideoidh sé leat kubectl a thuiscint níos fearr agus an tairbhe is mó a bhaint as.

Anois, déanaimis féachaint ar roinnt leideanna agus cleasanna sonracha a chabhróidh le do tháirgiúlacht a fheabhsú le kubectl.

1. Luasaigh ionchur ag baint úsáide as críochnú ordaithe

Ceann de na teicníochtaí is úsáidí, ach is minic a thugtar neamhaird air, chun feidhmíocht a fheabhsú le kubectl ná críochnú na n-orduithe.

Ligeann críochnú ordaithe duit codanna d'orduithe kubectl a chomhlánú go huathoibríoch ag baint úsáide as an eochair Cluaisín. Oibríonn sé seo le haghaidh fo-orduithe, roghanna, agus argóintí, lena n-áirítear rud chomh casta le hainmneacha acmhainní.

Féach conas a oibríonn críochnú ordú kubectl:

Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe
Oibreacha críochnaithe ordú le haghaidh sliogáin Bash agus Zsh.

Treoir oifigiúil tá treoracha mionsonraithe ann chun uathchríochnú a bhunú, ach thíos cuirfimid sliocht gairid ar fáil.

Conas a oibríonn críochnú ordaithe

Is gné bhlaosc é críochnú ordú a oibríonn ag baint úsáide as script críochnaithe. Is éard atá i script síneadh ná script bhlaosc a shainíonn iompar sínte le haghaidh ordú sonrach.

Gineann agus aschuir Kubectl scripteanna sínte do Bash agus Zsh go huathoibríoch ag baint úsáide as na horduithe seo a leanas:

$ kubectl completion bash

Nó:

$ kubectl completion zsh

Go teoiriciúil, is leor aschur na n-orduithe seo a nascadh leis an bhlaosc ordaithe cuí ionas gur féidir le kubectl na horduithe a chomhlánú.

Go praiticiúil, tá an modh nasctha difriúil do Bash (lena n-áirítear difríochtaí idir Linux agus MacOS) agus Zsh. Anseo thíos déanfaimid breathnú ar na roghanna seo go léir.

Bash ar Linux

Braitheann script chríochnú Bash ar an bpacáiste críochnaithe bash, mar sin ní mór duit é a shuiteáil ar dtús:

$ sudo apt-get install bash-completion

Nó:

$ yum install bash-completion

Is féidir leat a thástáil go bhfuil an pacáiste suiteáilte go rathúil ag baint úsáide as an ordú seo a leanas:

$ type _init_completion

Má aschuireann sé seo cód feidhm bhlaosc, ansin tá bash-críochnú suiteáilte i gceart. Má thugann an t-ordú earráid "Gan Aimsiú", ní mór duit an líne seo a leanas a chur le do chomhad ~ / .bashrc:

$ source /usr/share/bash-completion/bash_completion

An gá an líne seo a chur leis an gcomhad ~ / .bashrc nó nach bhfuil ag brath ar an mbainisteoir pacáiste a d'úsáid tú chun bash-críochnú a shuiteáil. Tá sé seo riachtanach le haghaidh APT, ach ní le haghaidh YUM.

Tar éis duit bash-críochnú a shuiteáil, ní mór duit gach rud a chumrú ionas go mbeidh an script críochnaithe kubectl cumasaithe i ngach seisiún bhlaosc.

Bealach amháin chun é seo a dhéanamh ná an líne seo a leanas a chur leis an gcomhad ~ / .bashrc:

source <(kubectl completion bash)

Bealach eile ná an script síneadh kubectl a chur leis an eolaire /etc/bash_completion.d (cruthaigh mura bhfuil sé ann):

$ kubectl completion bash >/etc/bash_completion.d/kubectl

Gach script breiseán sa chatalóg /etc/bash_completion.d san áireamh go huathoibríoch i bash-chríochnú.

Tá an dá rogha chomh infheidhme.

Tar éis an bhlaosc a atosú, oibreoidh críochnú ordú kubectl.

Bash ar MacOS

Ar MacOS tá an socrú beagán níos casta. Is é an fírinne ná go n-úsáideann MacOS leagan Bash 3.2 de réir réamhshocraithe, agus éilíonn an script uathchríochnaithe kubectl leagan Bash de 4.1 ar a laghad agus ní oibríonn sé i Bash 3.2.

Baineann saincheisteanna ceadúnaithe le leagan as dáta de Bash ar MacOS a úsáid. Tá Bash leagan 4 ceadúnaithe faoi GPLv3, nach bhfuil tacaíocht ó Apple.

Chun uathchríochnú kubectl a chumrú ar MacOS, ní mór duit leagan níos déanaí de Bash a shuiteáil. Is féidir leat an Bash nuashonraithe a shocrú freisin mar do bhlaosc réamhshocraithe, rud a shábháil go leor fadhbanna duit sa todhchaí. Níl sé deacair, tá sonraí tugtha san alt “Bash á nuashonrú ar MacOS'.

Sula leanann tú ar aghaidh, déan cinnte go bhfuil tú ag úsáid leagan le déanaí de Bash (seiceáil an t-aschur bash --version).

Athraíonn script chríochnú Bash de réir tionscadail bash-chríochnú, mar sin ní mór duit é a shuiteáil ar dtús.

Is féidir leat bash-críochnú a shuiteáil ag baint úsáide as Homebrew:

$ brew install bash-completion@2

Anseo @2 Seasann sé do leagan Críochnaithe bash 2. Éilíonn uathchríochnú kubectl bash-completion v2, agus éilíonn bash-completion v2 ar a laghad leagan Bash 4.1.

Aschur ordú brew-install ina bhfuil cuid Caveats, a shonraíonn cad is gá a chur leis an gcomhad ~/.bash_profile:

export BASH_COMPLETION_COMPAT_DIR=/usr/local/etc/bash_completion.d
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . 
"/usr/local/etc/profile.d/bash_completion.sh"

Mar sin féin, molaim gan na línte seo a chur leis ~/.bash_profileagus i ~/.bashrc. Sa chás seo, beidh uathchríochnú ar fáil ní hamháin den chuid is mó, ach freisin i sliogáin ordú leanaí.

Tar éis duit an bhlaosc ordaithe a atosú, is féidir leat a fhíorú go bhfuil an tsuiteáil ceart ag baint úsáide as an ordú seo a leanas:

$ type _init_completion

Má fheiceann tú feidhm bhlaosc san aschur, ansin tá gach rud cumraithe i gceart.

Anois ní mór dúinn a chinntiú go bhfuil uathchríochnú kubectl cumasaithe i ngach seisiún.

Bealach amháin ná an líne seo a leanas a chur le do ~/.bashrc:

source <(kubectl completion bash)

Is é an dara bealach ná script uathchríochnaithe a chur leis an bhfillteán /usr/local/etc/bash_completion.d:

$ kubectl completion bash
>/usr/local/etc/bash_completion.d/kubectl

Ní oibreoidh an modh seo ach amháin má shuiteáil tú bash-chríochnú ag baint úsáide as Homebrew. Sa chás seo, lódálann comhlánú bash gach script ón eolaire seo.

Má shuiteáil tú kubectl ag baint úsáide as Homebrew, ansin ní gá an chéim roimhe seo a dhéanamh, mar cuirfear an script uathchríochnaithe go huathoibríoch san fhillteán /usr/local/etc/bash_completion.d le linn a shuiteáil. Sa chás seo, tosóidh uathchríochnú kubectl ag obair chomh luath agus a shuiteáil tú bash-completion.

Mar thoradh air sin, tá na roghanna seo go léir comhionann.

Zsh

Ní éilíonn scripteanna críochnaithe Zsh aon spleáchais. Níl le déanamh agat ach iad a chumasú nuair a luchtaíonn tú an bhlaosc ordaithe.

Is féidir leat é seo a dhéanamh trí líne a chur le do ~/.zshrc comhad:

source <(kubectl completion zsh)

Má fhaigheann tú earráid not found: compdef tar éis duit do bhlaosc a atosú, ní mór duit an fheidhm ionsuite a chumasú compdef. Is féidir leat é a chumasú trína chur le tús do chomhaid ~/.zshrc an méid seo a leanas:

autoload -Uz compinit
compinit

2. Féach go tapa ar shonraíochtaí acmhainne

Nuair a chruthaíonn tú sainmhínithe acmhainne YAML, ní mór duit na réimsí agus an bhrí atá leo maidir leis na hacmhainní sin a bheith ar eolas agat. Tá áit amháin chun an fhaisnéis seo a chuardach sa tagairt API, ina bhfuil sonraíochtaí iomlána do na hacmhainní go léir.

Mar sin féin, tá sé deacair athrú chuig an mbrabhsálaí gréasáin gach uair a theastaíonn uait cuardach a dhéanamh ar rud éigin. Dá bhrí sin soláthraíonn kubectl an t-ordú kubectl explain, a thaispeánann sonraíochtaí na n-acmhainní go léir ceart i do chríochfort.

Seo a leanas formáid an ordaithe:

$ kubectl explain resource[.field]...

Aschuirfidh an t-ordú sonraíocht na hacmhainne nó an réimse iarrtha. Tá an fhaisnéis a thaispeántar comhionann leis an bhfaisnéis atá sa lámhleabhar API.

De réir réamhshocraithe kubectl explain léiríonn ach an chéad leibhéal neadaithe na réimsí.

Féach cad tá sé cosúil Is féidir leat ansin.

Is féidir leat an crann iomlán a thaispeáint má chuireann tú an rogha leis --recursive:

$ kubectl explain deployment.spec --recursive

Mura bhfuil a fhios agat go díreach cé na hacmhainní atá de dhíth, is féidir leat iad go léir a thaispeáint leis an ordú seo a leanas:

$ kubectl api-resources

Taispeánann an t-ordú seo ainmneacha acmhainne san fhoirm iolra, e.g. deployments in ionad deployment. Taispeánann sé freisin an t-ainm gearr, mar shampla deploy, do na hacmhainní sin a bhfuil sé acu. Ná bí buartha faoi na difríochtaí seo. Tá na roghanna ainmniúcháin seo go léir comhionann le haghaidh kubectl. Is é sin, is féidir leat aon cheann acu a úsáid le haghaidh kubectl explain.

Tá na horduithe seo a leanas comhionann:

$ kubectl explain deployments.spec
# или
$ kubectl explain deployment.spec
# или        
$ kubectl explain deploy.spec

3. Bain úsáid as formáid aschur colún saincheaptha

Formáid aschuir ordaithe réamhshocraithe kubectl get:

$ kubectl get pods
NAME                     READY    STATUS    RESTARTS  AGE
engine-544b6b6467-22qr6   1/1     Running     0       78d
engine-544b6b6467-lw5t8   1/1     Running     0       78d
engine-544b6b6467-tvgmg   1/1     Running     0       78d
web-ui-6db964458-8pdw4    1/1     Running     0       78d

Tá an fhormáid seo áisiúil, ach tá méid teoranta faisnéise ann. I gcomparáid leis an bhformáid iomlán sainmhínithe acmhainne, níl ach cúpla réimse ar taispeáint anseo.

Sa chás seo, is féidir leat formáid aschur colún saincheaptha a úsáid. Ligeann sé duit a chinneadh cad iad na sonraí atá le haschur. Is féidir leat aon réimse acmhainne a thaispeáint mar cholún ar leith.

Cinntear úsáid formáide saincheaptha ag baint úsáide as na roghanna:

-o custom-columns=<header>:<jsonpath>[,<header>:<jsonpath>]...

Is féidir leat gach colún aschuir a shainiú mar phéire <header>:<jsonpath>I gcás ina <header> is ainm an cholúin, agus <jsonpath> — slonn a shainíonn réimse acmhainne.

Breathnaímid ar shampla simplí:

$ kubectl get pods -o custom-columns='NAME:metadata.name'

NAME
engine-544b6b6467-22qr6
engine-544b6b6467-lw5t8
engine-544b6b6467-tvgmg
web-ui-6db964458-8pdw4

Tá colún amháin san aschur le hainmneacha na pods.

Roghnaíonn an slonn rogha na hainmneacha pod ón réimse metadata.name. Tá sé seo amhlaidh toisc go bhfuil ainm an phota sainmhínithe sa réimse ainm linbh metadata sa chur síos acmhainne ar an pod. Is féidir tuilleadh sonraí a fháil i Treoir API nó clóscríobh an t-ordú kubectl explain pod.metadata.name.

Anois, abair leat gur mhaith leat colún breise a chur leis an aschur, mar shampla an nód a bhfuil gach pod ag rith air a thaispeáint. Chun seo a dhéanamh, is féidir leat an tsonraíocht colúin chuí a chur leis an rogha colúin saincheaptha:

$ kubectl get pods 
  -o custom-columns='NAME:metadata.name,NODE:spec.nodeName'

NAME                       NODE
engine-544b6b6467-22qr6    ip-10-0-80-67.ec2.internal
engine-544b6b6467-lw5t8    ip-10-0-36-80.ec2.internal
engine-544b6b6467-tvgmg    ip-10-0-118-34.ec2.internal
web-ui-6db964458-8pdw4     ip-10-0-118-34.ec2.internal

Roghnaíonn an slonn ainm an nód ó spec.nodeName — nuair a shanntar pod do nód, tá a ainm scríofa sa réimse spec.nodeName sonraíocht acmhainne pod. Is féidir faisnéis níos mionsonraithe a fháil san aschur kubectl explain pod.spec.nodeName.

Tabhair faoi deara go bhfuil réimsí acmhainne Kubernetes cásíogair.

Is féidir leat aon réimse acmhainne a fheiceáil mar cholún. Níl le déanamh ach athbhreithniú a dhéanamh ar an tsonraíocht acmhainne agus triail a bhaint as le réimsí ar bith is mian leat.

Ach ar dtús, déanaimis breathnú níos dlúithe ar nathanna roghnaithe réimse.

Léirithe JSONPath

Tá na habairtí chun réimsí acmhainne a roghnú bunaithe ar JSONPath.

Is teanga é JSONPath chun sonraí a aisghabháil ó dhoiciméid JSON. Is é roghnú réimse amháin an cás úsáide is simplí do JSONPath. Tá mórán aige guth níos mó, lena n-áirítear roghnóirí, scagairí agus mar sin de.

Tacaíonn Kubectl explain le líon teoranta gnéithe JSONPath. Déantar cur síos thíos ar na féidearthachtaí agus ar na samplaí dá n-úsáid:

# Выбрать все элементы списка
$ kubectl get pods -o custom-columns='DATA:spec.containers[*].image'
# Выбрать специфический элемент списка
$ kubectl get pods -o custom-columns='DATA:spec.containers[0].image'
# Выбрать элементы списка, попадающие под фильтр
$ kubectl get pods -o custom-columns='DATA:spec.containers[?(@.image!="nginx")].image'
# Выбрать все поля по указанному пути, независимо от их имени
$ kubectl get pods -o custom-columns='DATA:metadata.*'
# Выбрать все поля с указанным именем, вне зависимости от их расположения
$ kubectl get pods -o custom-columns='DATA:..image'

Tá an t-oibreoir [] thar a bheith tábhachtach. Is liostaí iad go leor réimsí acmhainne Kubernetes, agus ceadaíonn an t-oibreoir seo duit baill de na liostaí sin a roghnú. Is minic a úsáidtear é le saoróg mar [*] chun gach eilimint de liosta a roghnú.

Samplaí iarratais

Tá na féidearthachtaí maidir le formáid aschurtha colúin saincheaptha a úsáid gan teorainn, mar is féidir leat aon réimse nó meascán de réimsí acmhainne a thaispeáint san aschur. Seo roinnt aipeanna samplacha, ach ná bíodh drogall ort iad a iniúchadh tú féin agus feidhmchláir a aimsiú a oibríonn duit.

  1. Íomhánna coimeádáin le haghaidh pods á dtaispeáint:
    $ kubectl get pods 
      -o custom-columns='NAME:metadata.name,IMAGES:spec.containers[*].image'
    
    NAME                        IMAGES
    engine-544b6b6467-22qr6     rabbitmq:3.7.8-management,nginx
    engine-544b6b6467-lw5t8     rabbitmq:3.7.8-management,nginx
    engine-544b6b6467-tvgmg     rabbitmq:3.7.8-management,nginx
    web-ui-6db964458-8pdw4      wordpress

    Taispeánann an t-ordú seo na hainmneacha íomhá coimeádán do gach pod.

    Cuimhnigh gur féidir le roinnt coimeádáin a bheith i pod, ansin taispeánfar ainmneacha na n-íomhá ar líne amháin, scartha le camóga.

  2. Criosanna infhaighteachta nóid á dtaispeáint:
    $ kubectl get nodes 
      -o 
    custom-columns='NAME:metadata.name,ZONE:metadata.labels.failure-domain.beta.kubernetes.io/zone'
    
    NAME                          ZONE
    ip-10-0-118-34.ec2.internal   us-east-1b
    ip-10-0-36-80.ec2.internal    us-east-1a
    ip-10-0-80-67.ec2.internal    us-east-1b

    Tá an t-ordú seo úsáideach má tá do bhraisle á óstáil i néal poiblí. Taispeánann sé an crios infhaighteachta do gach nód.

    Coincheap scamall is ea crios infhaighteachta a chuireann teorainn leis an gcrios macasamhlaithe go réigiún geografach.

    Faightear criosanna infhaighteachta do gach nód trí lipéad speisialta - failure-domain.beta.kubernetes.io/zone. Má tá an braisle ag rith i néal poiblí, cruthaítear an lipéad seo go huathoibríoch agus comhlánaítear é le hainmneacha na gcriosanna infhaighteachta do gach nód.

    Níl lipéid mar chuid de shonraíocht acmhainne Kubernetes, mar sin ní bhfaighidh tú faisnéis fúthu in Treoir API. Mar sin féin, is féidir iad a fheiceáil (cosúil le lipéid ar bith eile) má iarrann tú faisnéis faoi na nóid i bhformáid YAML nó JSON:

    $ kubectl get nodes -o yaml
    # или
    $ kubectl get nodes -o json

    Is bealach iontach é seo chun níos mó a fhoghlaim faoi acmhainní, chomh maith le sonraíochtaí acmhainní foghlama.

4. Athrú go héasca idir braislí agus spásanna ainm

Nuair a dhéanann kubectl iarratas chuig Kubernetes API, léann sé an comhad kubeconfig ar dtús chun na paraiméadair riachtanacha go léir a fháil don nasc.

De réir réamhshocraithe tá an comhad kubeconfig ~/.kube/config. De ghnáth cruthaítear nó nuashonraítear an comhad seo le hordú speisialta.

Nuair a oibríonn tú le braislí iolracha, tá socruithe i do chomhad kubeconfig chun nascadh leis na braislí sin go léir. Teastaíonn bealach uait chun an t-ordú kubectl a insint cén braisle lena bhfuil tú ag obair.

Laistigh de bhraisle, is féidir leat spásanna iolracha a chruthú - cineál braisle fíorúil laistigh de bhraisle fisiceach. Cinneann Kubectl freisin cén ainmspás le húsáid bunaithe ar an gcomhad kubeconfig. Ciallaíonn sé seo go bhfuil bealach uait freisin chun a rá leis an ordú kubectl cén spás ainm le bheith ag obair leis.

Sa chaibidil seo míneoimid conas a oibríonn sé agus conas é a chur ag obair go héifeachtach.

Tabhair faoi deara go mb'fhéidir go bhfuil comhaid kubeconfig iolracha agat liostaithe in athróg timpeallachta KUBECONFIG. Sa chás seo, cuirfear na comhaid seo go léir le chéile in aon chumraíocht choiteann amháin ag am rite. Is féidir leat an comhad kubeconfig réamhshocraithe a athrú freisin trí kubectl a rith leis an bparaiméadar --kubeconfig. Féach doiciméadú oifigiúil.

comhaid kubeconfig

Feicfimid cad é go díreach atá sa chomhad kubeconfig:

Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe
Mar a fheiceann tú, tá sraith comhthéacsanna sa chomhad kubeconfig. Comhthéacs comhdhéanta de thrí ghné:

  • Braisle - URL API an fhreastalaí braisle.
  • Dintiúir fíordheimhnithe úsáideora - úsáideora sa bhraisle.
  • Ainmspás - an t-ainmspás a úsáidtear nuair a cheanglaíonn tú an bhraisle.

Go praiticiúil, is minic a úsáideann siad comhthéacs amháin in aghaidh an bhraisle ina kubeconfig. Mar sin féin, is féidir leat comhthéacsanna iolracha a bheith agat in aghaidh an bhraisle, idirdhealú de réir úsáideora nó spás ainmneacha. Mar sin féin, tá an chumraíocht il-chomhthéacs seo neamhchoitianta, mar sin de ghnáth mapáil duine le duine idir braislí agus comhthéacsanna.

Ag aon am ar leith, tá ceann de na comhthéacsanna reatha:

Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe
Nuair a léann kubectl comhad cumraíochta, glacann sé faisnéis ón gcomhthéacs reatha i gcónaí. Sa sampla thuas, nascfaidh kubectl leis an mbraisle Ghiorria.

Dá réir sin, chun aistriú go braisle eile, ní mór duit an comhthéacs reatha a athrú sa chomhad kubeconfig:

Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe
Anois nascfaidh kubectl leis an mbraisle Fox.

Chun athrú chuig ainmspás eile sa bhraisle chéanna, ní mór duit luach na heiliminte ainmspáis a athrú don chomhthéacs reatha:

Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe
Sa sampla thuas, úsáidfidh kubectl ainmspás Prod an bhraisle Fox (socraíodh an t-ainmspás Tástáil roimhe seo).

Tabhair faoi deara go soláthraíonn kubectl roghanna freisin --cluster, --user, --namespace и --context, a ligeann duit eilimintí aonair agus an comhthéacs reatha féin a fhorscríobh, is cuma cad atá socraithe sa kubeconfig. Féach kubectl options.

Go teoiriciúil, is féidir leat na socruithe sa kubeconfig a athrú de láimh. Ach tá sé deacair. Chun na hoibríochtaí seo a shimpliú, tá fóntais éagsúla ann a ligeann duit paraiméadair a athrú go huathoibríoch.

Úsáid kubectx

Fóntas a bhfuil an-tóir air chun aistriú idir braislí agus spásanna ainmneacha.

Soláthraíonn an fóntais orduithe kubectx и kubens chun an comhthéacs reatha agus an t-ainmspás faoi seach a athrú.

Mar a luadh, ciallaíonn athrú an chomhthéacs reatha an braisle a athrú mura bhfuil agat ach comhthéacs amháin in aghaidh an bhraisle.

Seo sampla de na horduithe seo a rith:

Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe
Go bunúsach, ní dhéanann na horduithe seo ach an comhad kubeconfig a chur in eagar mar a thuairiscítear thuas.

a shuiteáil kubectx, lean na treoracha ar Github.

Tacaíonn an dá ordú le hainmneacha comhthéacs agus ainmspáis a uathchríochnú, rud a fhágann nach gá iad a chlóscríobh go hiomlán. Treoracha le haghaidh uathchríochnú anseo.

Gné úsáideach eile kubectx Is é mód idirghníomhach. Oibríonn sé i gcomhar leis an bhfóntas fzf, a chaithfear a shuiteáil ar leithligh. Má shuiteáiltear fzf go huathoibríoch cuirfear mód idirghníomhach ar fáil i kubectx. Go hidirghníomhach, is féidir leat comhthéacs agus ainmspás a roghnú tríd an gcomhéadan idirghníomhach saorchuardaigh a sholáthraíonn fzf.

Ag baint úsáide as ailiasanna bhlaosc

Ní theastaíonn uirlisí ar leith uait chun an comhthéacs reatha agus an t-ainmspás a athrú mar go soláthraíonn kubectl orduithe chuige seo freisin. Sea, foireann kubectl config soláthraíonn sé fo-orduithe chun comhaid kubeconfig a chur in eagar.

Seo cuid acu:

  • kubectl config get-contexts: gach comhthéacs a thaispeáint;
  • kubectl config current-context: comhthéacs reatha a fháil;
  • kubectl config use-context: an comhthéacs reatha a athrú;
  • kubectl config set-context: Athraigh an eilimint chomhthéacs.

Mar sin féin, níl sé an-áisiúil na horduithe seo a úsáid go díreach toisc go bhfuil siad fada. Is féidir leat ailiasanna bhlaosc a dhéanamh dóibh atá éasca a fhorghníomhú.

Chruthaigh mé sraith ailiasanna bunaithe ar na horduithe seo a sholáthraíonn feidhmiúlacht cosúil le kubectx. Anseo is féidir leat iad a fheiceáil i ngníomh:

Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe
Tabhair faoi deara go n-úsáideann ailiasanna fzf chun comhéadan cuardaigh idirghníomhach saor in aisce a sholáthar (cosúil le modh idirghníomhach kubectx). Ciallaíonn sé seo go bhfuil gá agat shuiteáil fzfna ailiasanna seo a úsáid.

Seo iad na sainmhínithe ar ailiasanna iad féin:

# Получить текущий контекст
alias krc='kubectl config current-context'
# Список всех контекстов
alias klc='kubectl config get-contexts -o name | sed "s/^/  /;|^  $(krc)$|s/ /*/"'
# Изменить текущий контекст
alias kcc='kubectl config use-context "$(klc | fzf -e | sed "s/^..//")"'

# Получить текущее пространство имен
alias krn='kubectl config get-contexts --no-headers "$(krc)" | awk "{print $5}" | sed "s/^$/default/"'
# Список всех пространств имен
alias kln='kubectl get -o name ns | sed "s|^.*/|  |;|^  $(krn)$|s/ /*/"'
# Изменить текущее пространство имен
alias kcn='kubectl config set-context --current --namespace "$(kln | fzf -e | sed "s/^..//")"'

Chun na hailiasanna seo a shocrú ní mór duit na sainmhínithe thuas a chur le do chomhad ~/.bashrc~/.zshrc agus atosaigh do bhlaosc.

Ag baint úsáide as forlíontáin

Ligeann Kubectl duit forlíontáin a luchtú a fhorghníomhaítear ar an mbealach céanna le horduithe bunúsacha. Is féidir leat, mar shampla, an breiseán kubectl-foo a shuiteáil agus é a rith tríd an ordú a fhorghníomhú kubectl foo.

Bheadh ​​sé áisiúil an comhthéacs agus an t-ainmspás a athrú ar an mbealach seo, mar shampla trí rith kubectl ctx chun comhthéacs a athrú agus kubectl ns chun an t-ainmspás a athrú.

Tá dhá breiseán scríofa agam a dhéanann é seo:

Tá obair breiseán bunaithe ar ailiasanna ón roinn roimhe seo.

Seo mar a oibríonn siad:

Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe
Tabhair faoi deara go n-úsáideann na forlíontáin fzf chun comhéadan idirghníomhach saorchuardaigh a sholáthar (amhail modh idirghníomhach kubectx). Ciallaíonn sé seo go bhfuil gá agat shuiteáil fzfna ailiasanna seo a úsáid.

Chun forlíontáin a shuiteáil, ní mór duit scripteanna bhlaosc ainmnithe a íoslódáil kubectl-ctx и kubectl-ns chuig aon eolaire i do athróg PATH agus déan iad inrite le m.sh. chmod +x. Díreach tar éis seo beidh tú in ann úsáid a bhaint as kubectl ctx и kubectl ns.

5. Laghdaigh ionchur le autoaliases

Is bealach maith iad ailiasanna bhlaosc chun ionchur a bhrostú. Tionscadal kubectl-ailiasanna tá thart ar 800 aicearra le haghaidh orduithe bunúsacha kubectl.

B'fhéidir go bhfuil tú ag smaoineamh - conas a chuimhníonn tú ar 800 ailias? Ach ní gá duit cuimhneamh orthu go léir, toisc go bhfuil siad tógtha de réir scéime simplí, a thugtar thíos:

Conas kubectl a úsáid ar bhealach níos éifeachtaí: treoir mhionsonraithe
Mar shampla:

  1. kgpooyaml - kubectl faigh pods oyaml
  2. ksysgsvcw — kubectl -n kube-system get svc w
  3. ksysrmcm -kubectl -n kube-system rm cm
  4. kgdepallsl - kubectl imscaradh a fháil ar fad sl

Mar a fheiceann tú, tá ailiasanna comhdhéanta de chomhpháirteanna, agus léiríonn gach ceann acu eilimint shonrach den ordú kubectl. Féadann comhpháirt amháin a bheith ag gach ailias don bhunordú, don oibríocht agus don acmhainn, agus do chomhpháirteanna iolracha le haghaidh paraiméadair. Ní dhéanann tú ach na comhpháirteanna seo a "phobail" ó chlé go deas de réir na léaráide thuas.

Tá an léaráid mhionsonraithe reatha ag GitHub. Is féidir leat a fháil freisin liosta iomlán ailiasanna.

Mar shampla, tá an ailias kgpooyamlall comhionann leis an ordú kubectl get pods -o yaml --all-namespaces.

Níl ord coibhneasta na roghanna tábhachtach: ordú kgpooyamlall is comhionann leis an ordú kgpoalloyaml.

Ní gá duit gach comhpháirt a úsáid mar ailiasanna. Mar shampla k, kg, klo, ksys, kgpo is féidir a úsáid freisin. Ina theannta sin, is féidir leat ailiasanna agus orduithe rialta nó roghanna a chur le chéile ar an líne ordaithe:

Mar shampla:

  1. In ionad kubectl proxy is féidir leat scríobh k proxy.
  2. In ionad kubectl get roles is féidir leat scríobh kg roles (níl aon ailias ann faoi láthair don acmhainn Róil).
  3. Chun sonraí a fháil le haghaidh pod ar leith, is féidir leat an t-ordú a úsáid kgpo my-pod — kubectl get pod my-pod.

Tabhair faoi deara, le do thoil, go dteastaíonn argóint ordúlíne ó roinnt ailiasanna. Mar shampla, ailias kgpol ciallaíonn kubectl get pods -l. Rogha -l éilíonn argóint - sonraíocht lipéad. Má úsáideann tú ailias beidh cuma air kgpol app=ui.

Toisc go n-éilíonn roinnt ailiasanna argóintí, ní mór ailiasanna a, f, agus l a úsáid ar deireadh.

Go ginearálta, a luaithe a gheobhaidh tú crochadh na scéime seo, is féidir leat ailiasanna a dhíorthú go hintuigthe ó na horduithe is mian leat a fhorghníomhú agus go leor ama clóscríofa a shábháil.

Suiteáil

Chun kubectl-aliases a shuiteáil, ní mór duit an comhad a íoslódáil .kubectl_ailiasanna ó GitHub agus cuir sa chomhad é ~/.bashrc~/.zshrc:

source ~/.kubectl_aliases

Uathchríochnú

Mar a dúirt muid cheana, is minic a chuireann tú focail bhreise le hailias ar an líne ordaithe. Mar shampla:

$ kgpooyaml test-pod-d4b77b989

Má úsáideann tú críochnú ordú kubectl, is dócha gur bhain tú úsáid as uathchríochnú le haghaidh rudaí mar ainmneacha acmhainne. Ach is féidir é seo a dhéanamh nuair a úsáidtear ailiasanna?

Is ceist an-tábhachtach í seo mar mura n-oibríonn uathchríochnú, caillfidh tú cuid de na buntáistí a bhaineann le hailiasanna.

Braitheann an freagra ar an mblaosc atá in úsáid agat:

  1. Maidir le Zsh, oibríonn críochnú ailias as an mbosca.
  2. I gcás Bash, ar an drochuair, tá gá le roinnt oibre chun uathchríochnú a fháil chun oibriú.

Cumasú uathchríochnú le haghaidh ailiasanna i Bash

Is í an fhadhb le Bash ná go ndéanann sé iarracht an ailias a chomhlánú (gach uair a bhrúnn tú Cluaisín), ní an t-ordú a dtagraíonn an ailias dó (mar a dhéanann Zsh, mar shampla). Toisc nach bhfuil scripteanna críochnaithe agat le haghaidh na 800 ailias ar fad, ní oibríonn uathchríochnú.

Tionscadail iomlán-ailias réiteach ginearálta ar an bhfadhb seo. Ceanglaíonn sé leis an meicníocht críochnaithe le haghaidh ailiasanna, leathnaíonn sé go hinmheánach an ailias chuig ordú, agus cuireann sé ar ais roghanna críochnaithe don ordú críochnaithe. Ciallaíonn sé seo go n-iompraíonn an stuáil le haghaidh ailias díreach mar an gcéanna le hordú iomlán.

San méid seo a leanas, míneoidh mé ar dtús conas ailiasanna iomlána a shuiteáil agus ansin conas é a chumrú chun go mbeifear in ann gach ailiasanna kubectl a chríochnú.

Suiteáil ailias iomlán

Ar an gcéad dul síos, braitheann iomlán-ailias ar bash-chríochnú. Dá bhrí sin, sula ndéantar ailias iomlán a shuiteáil, ní mór duit a chinntiú go bhfuil bash-críochnú suiteáilte. Tá treoracha suiteála curtha ar fáil roimhe seo le haghaidh Linux agus MacOS.

Nóta Tábhachtach d'Úsáideoirí MacOS: Cosúil leis an script uathchríochnaithe kubectl, ní oibríonn complete-alias le Bash 3.2, arb é an réamhshocrú ar MacOS. Braitheann ailias iomlán go háirithe ar chríochnú bash v2 (brew install bash-completion@2), a éilíonn ar a laghad Bash 4.1. Ciallaíonn sé seo gur gá duit leagan níos nuaí de Bash a shuiteáil chun ailiasanna iomlána a úsáid ar MacOS.

Ní mór duit an script a íoslódáil bash_completion.sh de Stór GitHub agus cuir isteach i do chomhad é ~/.bashrc:

source ~/bash_completion.sh

Tar éis an bhlaosc a atosú, déanfar ailias iomlán a shuiteáil go hiomlán.

Á chumasú uathchríochnú le haghaidh ailiasanna kubectl

Soláthraíonn ailias atá iomlán go teicniúil feidhm fillteáin _complete_alias. Seiceálann an fheidhm seo an ailias agus tugann sé leideanna críochnaithe don ordú ailias.

Chun feidhm a chomhlachú le ailias ar leith, ní mór duit an meicníocht Bash ionsuite a úsáid chríochnú, a shuiteáil _complete_alias mar fheidhm chomhlánaithe ailias.

Mar shampla, déanaimis an ailias k a ghlacadh, a sheasann don ordú kubectl. a shuiteáil _complete_alias Mar fheidhm chomhlánaithe don ailias seo, ba cheart duit an t-ordú seo a leanas a rith:

$ complete -F _complete_alias k

Is é an toradh atá air seo ná aon uair a dhéanann tú ailias k a uathchríochnú, tugtar an fheidhm _complete_alias, a sheiceálann an ailias agus a sheolann leideanna críochnaithe don ordú kubectl.

Mar an dara sampla, déanaimis an ailias a ghlacadh kg, a seasann kubectl get:

$ complete -F _complete_alias kg

Díreach mar a bhí sa sampla roimhe seo, nuair a dhéanann tú kg a uathchríochnú, gheobhaidh tú na leideanna críochnaithe céanna is a gheofá kubectl get.

Tabhair faoi deara gur féidir leat ailias iomlána a úsáid le haghaidh aon ailias ar do chóras.

Dá bhrí sin, chun uathchríochnú a chumasú do gach ailiasanna kubectl, ní mór duit an t-ordú thuas a reáchtáil do gach ceann acu. Déanann an mhír seo a leanas é seo go díreach, ar choinníoll go bhfuil kubectl-ailiasanna socraithe agat ~/.kubectl-aliases:

for _a in $(sed '/^alias /!d;s/^alias //;s/=.*$//' ~/.kubectl_aliases); 
do
  complete -F _complete_alias "$_a"
done

Ní mór an píosa seo de chód a chur i do ~/.bashrc, atosaigh an bhlaosc ordaithe agus beidh uathchríochnú ar fáil do gach ailiasanna 800 kubectl.

6. kubectl a leathnú le forlíontáin

Ag tosú le leagan 1.12, tacaíochtaí kubectl meicníocht breiseán, a ligeann duit a fheidhmeanna a leathnú le horduithe breise.

Má tá tú eolach ar Meicníochtaí breiseán Git, ansin tá forlíontáin kubectl tógtha ar an bprionsabal céanna.

Sa chaibidil seo, clúdóidh muid conas forlíontáin a shuiteáil, cá háit a bhfaighidh tú iad, agus conas do chuid breiseán féin a chruthú.

Suiteáil breiseáin

Déantar forlíontáin Kubectl a dháileadh mar chomhaid inrite simplí leis an ainm mhaith kubectl-x. Réimír kubectl- ag teastáil, agus ina dhiaidh fo-ordú kubectl nua a ligeann duit glaoch ar an mbreiseán.

Mar shampla, déanfar an breiseán hello a dháileadh mar chomhad ar a dtugtar kubectl-hello.

Chun an breiseán a shuiteáil, ní mór duit an comhad a chóipeáil kubectl-x chuig aon eolaire i do PATH agus é a dhéanamh inrite, mar shampla le chmod +x. Díreach ina dhiaidh seo is féidir leat glaoch ar an breiseán le kubectl x.

Is féidir leat an t-ordú seo a leanas a úsáid chun gach breiseán atá suiteáilte ar do chóras faoi láthair a liostú:

$ kubectl plugin list

Taispeánfaidh an t-ordú seo rabhaidh freisin má tá go leor breiseán agat leis an ainm céanna, nó má tá comhad breiseán ann nach bhfuil inrite.

Breiseáin a aimsiú agus a shuiteáil ag baint úsáide as Krew

Is féidir forlíontáin Kubectl a roinnt nó a athúsáid cosúil le pacáistí bogearraí. Ach cá bhfaighidh tú forlíontáin a roinn daoine eile?

Tionscadal Krew Tá sé mar aidhm aige réiteach aontaithe a sholáthar chun forlíontáin kubectl a roinnt, a chuardach, a shuiteáil agus a bhainistiú. Glaonn an tionscadal air féin mar "bainisteoir pacáiste le haghaidh breiseán kubectl" (tá Krew cosúil le brew).

Is é Krew liosta de na forlíontáin kubectl is féidir leat a roghnú agus a shuiteáil. Ag an am céanna, is breiseán do kubectl é Krew freisin.

Ciallaíonn sé seo go n-oibríonn suiteáil Krew go bunúsach mar aon bhreiseán kubectl eile a shuiteáil. Is féidir leat treoracha mionsonraithe a fháil ag Leathanach GitHub.

Is iad na horduithe Krew is tábhachtaí:

# Поиск в списке плагинов
$ kubectl krew search [<query>]
# Посмотреть информацию о плагине
$ kubectl krew info <plugin>
# Установить плагин
$ kubectl krew install <plugin>
# Обновить все плагины до последней версии
$ kubectl krew upgrade
# Посмотреть все плагины, установленные через Krew
$ kubectl krew list
# Деинсталлировать плагин
$ kubectl krew remove <plugin>

Tabhair faoi deara le do thoil nach gcuirfidh suiteáil breiseán ag baint úsáide as Krew isteach ar shuiteáil breiseán ag baint úsáide as an modh caighdeánach a bhfuil cur síos air thuas.

Tabhair faoi deara go bhfuil an t-ordú kubectl krew list ní thaispeánann ach na forlíontáin a suiteáladh ag baint úsáide as Krew, ach an t-ordú kubectl plugin list liostaíonn sé na forlíontáin go léir, is é sin, iad siúd atá suiteáilte ag baint úsáide as Krew agus iad siúd atá suiteáilte ar mhodhanna eile.

Breiseáin a Fháil in Áit eile

Is tionscadal óg é Krew, atá ar bun faoi láthair an liosta ach thart ar 30 breiseán. Mura féidir leat a bhfuil uait a fháil, is féidir leat forlíontáin a aimsiú in áiteanna eile, mar GitHub.

Molaim féachaint ar an rannóg GitHub kubectl-breiseáin. Gheobhaidh tú an iliomad breiseán atá ar fáil ar fiú seiceáil amach.

Scríobh do chuid breiseán féin

is féidir leat féin forlíontáin a chruthú - Níl sé deacair. Ní mór duit inrite a chruthú a dhéanann an méid a theastaíonn uait, ainmnigh é mar atá kubectl-x agus a shuiteáil mar a thuairiscítear thuas.

D’fhéadfadh script bash, script python, nó feidhmchlár GO tiomsaithe a bheith sa chomhad - is cuma. Is é an t-aon choinníoll gur féidir é a fhorghníomhú go díreach sa chóras oibriúcháin.

Cruthaímid breiseán samplach faoi láthair. Sa chuid roimhe seo, d'úsáid tú an t-ordú kubectl chun na coimeádáin do gach pod a liostú. Tá sé éasca an t-ordú seo a thiontú ina bhreiseán ar féidir leat glaoch air e.g. kubectl img.

Cruthaigh comhad kubectl-img an t-ábhar seo a leanas:

#!/bin/bash
kubectl get pods -o custom-columns='NAME:metadata.name,IMAGES:spec.containers[*].image'

Anois déan an comhad inrite le chmod +x kubectl-img agus bog é chuig aon eolaire i do PATH. Díreach ina dhiaidh seo is féidir leat an breiseán a úsáid kubectl img.

Mar a luadh, is féidir forlíontáin kubectl a scríobh in aon teanga ríomhchláraithe nó scriptithe. Má tá scripteanna bhlaosc á n-úsáid agat, is é an buntáiste a bhaineann le bheith in ann kubectl a ghlaoch go héasca ón taobh istigh den breiseán. Mar sin féin, is féidir leat breiseán níos casta a scríobh i dteangacha ríomhchlárúcháin fíor ag baint úsáide as Kubernetes leabharlann cliant. Má tá tú ag baint úsáide as Go is féidir leat é a úsáid freisin leabharlann cli-runtime, atá ann go sonrach chun forlíontáin kubectl a scríobh.

Conas do chuid breiseán a roinnt

Má cheapann tú go bhféadfadh do chuid breiseán a bheith úsáideach do dhaoine eile, ná bíodh drogall ort é a roinnt ar GitHub. Bí cinnte iad a chur leis an ábhar kubectl-breiseáin.

Is féidir leat a iarraidh freisin go gcuirfí le do bhreiseán Liosta craein. Tá treoracha maidir le conas é seo a dhéanamh i Taisclanna GitHub.

Críochnú ordú

Ní thacaíonn forlíontáin le uathchríochnú faoi láthair. Is é sin, ní mór duit ainm iomlán an bhreiseáin agus ainmneacha iomlána na n-argóintí a chur isteach.

Tá an stór GitHub kubectl don fheidhm seo iarratas oscailte. Mar sin is féidir go gcuirfear an ghné seo i bhfeidhm am éigin sa todhchaí.

Ádh mór!!!

Cad eile atá le léamh ar an ábhar:

  1. Trí leibhéal uathscálaithe i Kubernetes agus conas iad a úsáid go héifeachtach.
  2. Kubernetes i spiorad na píoráideachta le teimpléad le cur i bhfeidhm.
  3. Ár gcainéal Timpeall Kubernetes i Telegram.

Foinse: will.com

Add a comment