Kubernetes nodeSelectorin käyttäminen

Kubernetes Nodeselectorin Kayttaminen



Kubernetes-klusteri käyttää ajoitusrajoituksia, kuten tahrat, tunnisteet, toleranssit ja nodeSelector työkuorman erottamiseen ja ajoittamiseen eri solmuryhmissä. Aikataulurajoitukset ovat yleinen vaatimus Kubernetesissa infrastruktuurin hallinnassa. Tässä artikkelissa keskitymme nodeSelectorin ajoitusrajoituksiin. Tutkimme, mikä nodeSelector on, miten se toimii ja miten sitä voidaan käyttää Kubernetesissa. Esittelemme yksinkertaisen skenaarion, joka auttaa sinua ymmärtämään, kuinka Kubernetes-solmuvalitsijaa käytetään tehokkaasti.

Mikä on Kubernetes nodeSelector?

NodeSelector on Kubernetesin ajoitusrajoitus, joka määrittää kartan avaimen muodossa: arvopari mukautettuja pod-valitsimia ja solmutunnisteita käytetään avain- ja arvoparin määrittämiseen. Solmuun merkityn nodeSelectorin tulee vastata avain: arvo -paria, jotta tietty pod voidaan ajaa tietyssä solmussa. Podun ajoittamiseen käytetään tunnisteita solmuissa ja nodeSelectors -elementtejä podeissa. OpenShift Container Platform ajoittaa solmujen podit nodeSelectorin avulla sovittamalla tunnisteet.

Lisäksi tunnisteita ja nodeSelectoria käytetään ohjaamaan, mikä pod on ajoitettava tietyssä solmussa. Kun käytät tunnisteita ja nodeSelectoria, merkitse solmu ensin, jotta podeja ei peruuteta, ja lisää sitten nodeSelector podiin. Tietyn podin sijoittamiseksi tiettyyn solmuun käytetään nodeSelectoria, kun taas klusterinlaajuisen nodeSelectorin avulla voit sijoittaa uuden podin tiettyyn solmuun, joka on missä tahansa klusterissa. Projektin nodeSelectoria käytetään asettamaan uusi pod tiettyyn projektin solmuun.







Edellytykset

Jos haluat käyttää Kubernetes nodeSelectoria, varmista, että järjestelmään on asennettu seuraavat työkalut:



  • Ubuntu 20.04 tai mikä tahansa uusin versio
  • Minikube-klusteri, jossa on vähintään yksi työntekijäsolmu
  • Kubectl-komentorivityökalu

Nyt siirrymme seuraavaan osaan, jossa esittelemme, kuinka voit käyttää nodeSelectoria Kubernetes-klusterissa.



nodeSelector-määritykset Kubernetesissa

Pod voidaan rajoittaa siten, että se voi toimia vain tietyssä solmussa käyttämällä nodeSelectoria. NodeSelector on solmun valintarajoitus, joka on määritetty pod-spesifikaatiossa PodSpec. Yksinkertaisesti sanottuna nodeSelector on ajoitusominaisuus, jonka avulla voit ohjata podia ja ajoittaa podin solmuun, jolla on sama nimi, jonka käyttäjä on määrittänyt nodeSelector-tunnisteelle. NodeSelectorin käyttäminen tai määrittäminen Kubernetesissa tarvitset minikube-klusterin. Käynnistä minikube-klusteri alla annetulla komennolla:





> aloita minikube

Nyt kun minikube-klusteri on käynnistetty onnistuneesti, voimme aloittaa nodeSelectorin konfiguroinnin toteuttamisen Kubernetesissa. Tässä asiakirjassa opastamme sinua luomaan kaksi käyttöönottoa, joista toinen on ilman nodeSelectoria ja toinen on nodeSelectorin kanssa.



Määritä käyttöönotto ilman nodeSelectoria

Ensin puramme tiedot kaikista klusterissa tällä hetkellä aktiivisista solmuista käyttämällä alla olevaa komentoa:

> kubectl get solmut

Tämä komento luettelee kaikki klusterin solmut nimi-, tila-, rooli-, ikä- ja versioparametrien kanssa. Katso alla oleva esimerkkituloste:

Tarkistamme nyt, mitkä tahrat ovat aktiivisia klusterin solmuissa, jotta voimme suunnitella yksiköiden käyttöönottoa solmussa vastaavasti. Alla annettua komentoa tulee käyttää solmuun sovellettavien tahrojen kuvauksen saamiseksi. Solmussa ei saa olla aktiivisia tahroja, jotta kotelot voidaan helposti asentaa siihen. Joten katsotaanpa, mitkä tahrat ovat aktiivisia klusterissa suorittamalla seuraava komento:

> kubectl kuvaavat solmut minikube | ote Pilata

Yllä annetusta lähdöstä voimme nähdä, että solmussa ei ole likaa, vaan juuri sitä, mitä tarvitsemme koteloiden käyttöönottamiseksi solmussa. Nyt seuraava vaihe on luoda käyttöönotto määrittämättä siihen mitään nodeSelectoria. Käytämme sitä varten YAML-tiedostoa, johon tallennamme nodeSelector-kokoonpanon. Tähän liitettyä komentoa käytetään YAML-tiedoston luomiseen:

> nano deplond.yaml

Tässä yritämme luoda YAML-tiedoston nimeltä deplond.yaml nano-komennolla.

Kun tämä komento suoritetaan, meillä on deplond.yaml-tiedosto, johon tallennamme käyttöönottoasetukset. Katso alla oleva käyttöönottokokoonpano:

Nyt luomme käyttöönoton käyttämällä käyttöönoton määritystiedostoa. Deplond.yaml-tiedostoa käytetään yhdessä 'create'-komennon kanssa määrityksen luomiseen. Katso alla oleva täydellinen komento:

> kubectl luoda -f deplond.yaml

Kuten yllä näkyy, käyttöönotto on luotu onnistuneesti, mutta ilman nodeSelectoria. Tarkastetaan nyt klusterissa jo saatavilla olevat solmut alla annetulla komennolla:

> kubectl get pods

Tämä listaa kaikki klusterin saatavilla olevat tyynyt. Katso alla oleva tulos:

  Teksti Kuvaus luotu automaattisesti

Seuraavaksi meidän on muutettava replikoiden määrää, mikä voidaan tehdä muokkaamalla deplond.yaml-tiedostoa. Avaa vain deplond.yaml-tiedosto ja muokkaa replikoiden arvoa. Tässä muutamme jäljennökset: 3 replikoihin: 30. Katso muutos alla olevasta tilannekuvasta:

Nyt muutokset on otettava käyttöön käyttöönoton määrittelytiedostosta, ja se voidaan tehdä käyttämällä seuraavaa komentoa:

> kubectl soveltaa -f deplond.yaml

  Teksti Kuvaus luotu automaattisesti

Tarkastetaan nyt lisätiedot podista käyttämällä -o wide -vaihtoehtoa:

> kubectl get pods - leveä

  Teksti Kuvaus luotu automaattisesti

Yllä annetusta lähdöstä voimme nähdä, että uusia solmuja on luotu ja ajoitettu solmuun, koska käyttämässämme solmussa ei ole aktiivista tahraa klusterista. Siksi meidän on erityisesti aktivoitava tahra varmistaaksemme, että podit ajoitetaan vain haluttuun solmuun. Tätä varten meidän on luotava nimike pääsolmuun:

> kubectl label solmut master on-master= totta

Määritä käyttöönotto nodeSelectorilla

Määrittääksesi käyttöönoton nodeSelectorilla, noudatamme samaa prosessia, jota on seurattu käyttöönoton määrittämisessä ilman nodeSelectoria.

Ensin luomme YAML-tiedoston 'nano'-komennolla, johon meidän on tallennettava käyttöönoton asetukset.

> nano nd.yaml

Tallenna nyt käyttöönoton määritelmä tiedostoon. Voit verrata molempia määritystiedostoja nähdäksesi eron määritysmääritelmien välillä.

Luo nyt nodeSelectorin käyttöönotto alla annetulla komennolla:

> kubectl luoda -f nd.yaml

Hanki koteloiden tiedot käyttämällä -o-leveää lippua:

> kubectl get pods - leveä

  Teksti, kalenteri Kuvaus luodaan automaattisesti keskinkertaisella varmuudella

Yllä annetusta lähdöstä voimme huomata, että podeja otetaan käyttöön minikube-solmussa. Muutetaan replikoiden määrää tarkistaaksemme, missä uudet podit otetaan käyttöön klusterissa.

Ota käyttöön uudet muutokset käyttöön käyttämällä seuraavaa komentoa:

> kubectl soveltaa -f nd.yaml

  Teksti Kuvaus luotu automaattisesti

Johtopäätös

Tässä artikkelissa meillä oli yleiskatsaus Kubernetesin nodeSelector-määritysrajoitukseen. Opimme, mikä nodeSelector on Kubernetesissa, ja yksinkertaisen skenaarion avulla opimme luomaan käyttöönottoa nodeSelectorin määritysrajoituksilla ja ilman. Voit viitata tähän artikkeliin, jos olet uusi nodeSelector-konseptissa, ja löydät kaikki olennaiset tiedot.