Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Kubernetes-jakelun Asennus ja Käynnistys | CI/CD ja Automaatio
DevOpsin Perusteet

bookKubernetes-jakelun Asennus ja Käynnistys

Nyt kun sovelluksesi toimii sujuvasti konteissa, seuraava haaste on näiden konttien orkestrointi ja hallinta laajassa mittakaavassa. Tässä kohtaa Kubernetes astuu kuvaan.

Aloittaaksesi määrittelet sovelluksesi halutun tilan käyttäen YAML-tiedostoja. Yksi tiedosto kuvaa Deploymentin, joka huolehtii päivityksistä ja skaalaamisesta, kun taas toinen määrittelee Servicen, joka avaa sovelluksesi verkkoon ja tekee siitä käyttäjille saavutettavan.

Note
Lisätietoa

YAML (YAML Ain't Markup Language) on ihmisen luettavissa oleva muoto konfiguraatiotiedostoille. Sitä käytetään usein infrastruktuurin kuvaamiseen, prosessien automatisointiin ja sovellusasetusten tallentamiseen.

Deployment varmistaa, että haluttu määrä sovellusinstansseja (Podit) on aina käynnissä ja mahdollistaa päivitysten sekä palautusten tekemisen helposti. Service avaa nämä kontit verkkoon ja jakaa saapuvan liikenteen niiden kesken.

Minikuben käynnistäminen

Note
Määritelmä

Minikube on kevyt työkalu, jonka avulla voit ajaa paikallisen Kubernetes-klusterin omalla tietokoneellasi. Se luo virtuaaliympäristön, jossa voit testata ja tutkia Kubernetesia ilman pilvipalveluita.

Kun olet asentanut Minikuben ja lisännyt sen järjestelmän PATH-muuttujaan, avaa PowerShell (tai haluamasi pääte) ja suorita:

Tämä komento tarkistaa, onko Minikube saatavilla, ja näyttää asennetun version.

Kun olet varmistanut, että Minikube on asennettu, käynnistä paikallinen Kubernetes-klusteri seuraavasti:

Tämä komento luo ja käynnistää paikallisen Kubernetes-klusterin koneellasi. Se lataa tarvittavat komponentit ja käynnistää ohjaustason sekä työntekijäsolmut.

Käyttöönotto: Sovelluksen julkaisu

Aloita luomalla deployment.yaml-tiedosto. Deployment Kubernetesissa varmistaa, että tietty määrä Podeja (sovellusinstansseja) on aina käynnissä, ja niitä voidaan päivittää tai palauttaa ilman käyttökatkoa.

deployment.yaml

deployment.yaml

copy

Tässä manifestissa replicas-parametri määrittää, kuinka monta Pod-instanssia tulisi olla käynnissä samanaikaisesti — tässä tapauksessa kaksi. Tietääkseen, mitä Podeja hallita, Deployment käyttää yhdistelmää selectorista ja labeleista: selector toimii suodattimena löytääkseen Podit, joilla on tietty label, ja Pod-malli määrittää kyseisen labelin. Kun labelit täsmäävät, Deployment pitää näitä Podeja ominaan ja huolehtii niiden lukumäärästä, päivittämisestä ja uudelleenkäynnistyksestä tarvittaessa.

Kaikki Podit käyttävät porttia 3000. Ne voivat kaikki käyttää samaa porttia, koska jokainen Pod toimii omassa eristetyssä verkkoavaruudessaan, joten niiden välillä ei ole ristiriitaa.

Service: Sovelluksen verkkoyhteys

Kun Deployment on luotu, tarvitaan Service tarjoamaan verkkoyhteys ja kuormantasauksen Podien välillä. Luo service.yaml -tiedosto:

service.yaml

service.yaml

copy

Tämä manifesti määrittelee Palvelun nimeltä my-app-service, joka ohjaa liikenteen Podeihin, joilla on tunniste app: my-app. Se kuuntelee ulkoisesti porttia 80 ja välittää pyynnöt porttiin 3000 Podin sisällä.

LoadBalancer-tyyppi on tärkeä, koska se altistaa sovelluksen ulkoisesti ja jakaa liikenteen useiden Podien kesken.

Sovelluksen käyttöönotto Kubernetesissa

Kun YAML-tiedostot ovat valmiit, ne voidaan ottaa käyttöön klusterissa:

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

Komento kubectl apply -f luo tai päivittää resurssit klusterissa YAML-tiedostojen sisällön perusteella.

Tilanteen tarkistaminen

Kun konfiguraatiotiedostot on otettu käyttöön, on tärkeää varmistaa, että kaikki on otettu käyttöön odotetusti. Koska Podit ja Palvelut käynnistyvät hetken viiveellä, aloita listaamalla käynnissä olevat Podit:

Jos deployment.yaml-tiedostossa on määritelty replicas: 2, kaksi Podia tulisi näkyä tulosteessa.

Varmistaaksesi, että Palvelu on käynnissä ja saavutettavissa:

Tämä näyttää Palvelun IP-osoitteen sekä portit, joiden kautta sovellukseen pääsee käsiksi.

Hanki palvelun URL-osoite

Voit käyttää sovellustasi suorittamalla seuraavan komennon PowerShellissä tai terminaalissa:

Tämä komento pyytää Minikubea palauttamaan URL-osoitteen, jossa sovelluksesi on saatavilla. Minikube tarkistaa luomasi palvelun (my-app-service) ja antaa linkin, jonka voit avata selaimessa.

Sovelluksen skaalaaminen

Kubernetes mahdollistaa helposti käynnissä olevien Podien määrän säätämisen ilman, että sovellusta tarvitsee pysäyttää.

Esimerkiksi, jos haluat kasvattaa replikoiden määrän 2:sta 4:ään:

Suorittamalla kubectl get pods uudelleen näet nyt neljä aktiivista Podia.

Kubernetes tarjoaa tehokkaat työkalut konttipohjaisten sovellusten hallintaan kaikissa mittakaavoissa. Deployment varmistaa, että oikea määrä Podeja on käynnissä, ja mahdollistaa päivitykset tai palautukset helposti. Service julkaisee sovelluksen verkkoon ja tasapainottaa saapuvan liikenteen. YAML-määritystiedostot tekevät asetuksista selkeitä ja luettavia, kun taas kubectl-komennot mahdollistavat näiden määritysten käyttöönoton ja hallinnan reaaliajassa.

1. Mikä on Deploymentin pääasiallinen tarkoitus Kubernetesissa?

2. Miksi useat Podit voivat käyttää samaa porttinumeroa (esim. 3000) ilman ristiriitoja?

question mark

Mikä on Deploymentin pääasiallinen tarkoitus Kubernetesissa?

Select the correct answer

question mark

Miksi useat Podit voivat käyttää samaa porttinumeroa (esim. 3000) ilman ristiriitoja?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 9

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 3.7

bookKubernetes-jakelun Asennus ja Käynnistys

Pyyhkäise näyttääksesi valikon

Nyt kun sovelluksesi toimii sujuvasti konteissa, seuraava haaste on näiden konttien orkestrointi ja hallinta laajassa mittakaavassa. Tässä kohtaa Kubernetes astuu kuvaan.

Aloittaaksesi määrittelet sovelluksesi halutun tilan käyttäen YAML-tiedostoja. Yksi tiedosto kuvaa Deploymentin, joka huolehtii päivityksistä ja skaalaamisesta, kun taas toinen määrittelee Servicen, joka avaa sovelluksesi verkkoon ja tekee siitä käyttäjille saavutettavan.

Note
Lisätietoa

YAML (YAML Ain't Markup Language) on ihmisen luettavissa oleva muoto konfiguraatiotiedostoille. Sitä käytetään usein infrastruktuurin kuvaamiseen, prosessien automatisointiin ja sovellusasetusten tallentamiseen.

Deployment varmistaa, että haluttu määrä sovellusinstansseja (Podit) on aina käynnissä ja mahdollistaa päivitysten sekä palautusten tekemisen helposti. Service avaa nämä kontit verkkoon ja jakaa saapuvan liikenteen niiden kesken.

Minikuben käynnistäminen

Note
Määritelmä

Minikube on kevyt työkalu, jonka avulla voit ajaa paikallisen Kubernetes-klusterin omalla tietokoneellasi. Se luo virtuaaliympäristön, jossa voit testata ja tutkia Kubernetesia ilman pilvipalveluita.

Kun olet asentanut Minikuben ja lisännyt sen järjestelmän PATH-muuttujaan, avaa PowerShell (tai haluamasi pääte) ja suorita:

Tämä komento tarkistaa, onko Minikube saatavilla, ja näyttää asennetun version.

Kun olet varmistanut, että Minikube on asennettu, käynnistä paikallinen Kubernetes-klusteri seuraavasti:

Tämä komento luo ja käynnistää paikallisen Kubernetes-klusterin koneellasi. Se lataa tarvittavat komponentit ja käynnistää ohjaustason sekä työntekijäsolmut.

Käyttöönotto: Sovelluksen julkaisu

Aloita luomalla deployment.yaml-tiedosto. Deployment Kubernetesissa varmistaa, että tietty määrä Podeja (sovellusinstansseja) on aina käynnissä, ja niitä voidaan päivittää tai palauttaa ilman käyttökatkoa.

deployment.yaml

deployment.yaml

copy

Tässä manifestissa replicas-parametri määrittää, kuinka monta Pod-instanssia tulisi olla käynnissä samanaikaisesti — tässä tapauksessa kaksi. Tietääkseen, mitä Podeja hallita, Deployment käyttää yhdistelmää selectorista ja labeleista: selector toimii suodattimena löytääkseen Podit, joilla on tietty label, ja Pod-malli määrittää kyseisen labelin. Kun labelit täsmäävät, Deployment pitää näitä Podeja ominaan ja huolehtii niiden lukumäärästä, päivittämisestä ja uudelleenkäynnistyksestä tarvittaessa.

Kaikki Podit käyttävät porttia 3000. Ne voivat kaikki käyttää samaa porttia, koska jokainen Pod toimii omassa eristetyssä verkkoavaruudessaan, joten niiden välillä ei ole ristiriitaa.

Service: Sovelluksen verkkoyhteys

Kun Deployment on luotu, tarvitaan Service tarjoamaan verkkoyhteys ja kuormantasauksen Podien välillä. Luo service.yaml -tiedosto:

service.yaml

service.yaml

copy

Tämä manifesti määrittelee Palvelun nimeltä my-app-service, joka ohjaa liikenteen Podeihin, joilla on tunniste app: my-app. Se kuuntelee ulkoisesti porttia 80 ja välittää pyynnöt porttiin 3000 Podin sisällä.

LoadBalancer-tyyppi on tärkeä, koska se altistaa sovelluksen ulkoisesti ja jakaa liikenteen useiden Podien kesken.

Sovelluksen käyttöönotto Kubernetesissa

Kun YAML-tiedostot ovat valmiit, ne voidaan ottaa käyttöön klusterissa:

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

Komento kubectl apply -f luo tai päivittää resurssit klusterissa YAML-tiedostojen sisällön perusteella.

Tilanteen tarkistaminen

Kun konfiguraatiotiedostot on otettu käyttöön, on tärkeää varmistaa, että kaikki on otettu käyttöön odotetusti. Koska Podit ja Palvelut käynnistyvät hetken viiveellä, aloita listaamalla käynnissä olevat Podit:

Jos deployment.yaml-tiedostossa on määritelty replicas: 2, kaksi Podia tulisi näkyä tulosteessa.

Varmistaaksesi, että Palvelu on käynnissä ja saavutettavissa:

Tämä näyttää Palvelun IP-osoitteen sekä portit, joiden kautta sovellukseen pääsee käsiksi.

Hanki palvelun URL-osoite

Voit käyttää sovellustasi suorittamalla seuraavan komennon PowerShellissä tai terminaalissa:

Tämä komento pyytää Minikubea palauttamaan URL-osoitteen, jossa sovelluksesi on saatavilla. Minikube tarkistaa luomasi palvelun (my-app-service) ja antaa linkin, jonka voit avata selaimessa.

Sovelluksen skaalaaminen

Kubernetes mahdollistaa helposti käynnissä olevien Podien määrän säätämisen ilman, että sovellusta tarvitsee pysäyttää.

Esimerkiksi, jos haluat kasvattaa replikoiden määrän 2:sta 4:ään:

Suorittamalla kubectl get pods uudelleen näet nyt neljä aktiivista Podia.

Kubernetes tarjoaa tehokkaat työkalut konttipohjaisten sovellusten hallintaan kaikissa mittakaavoissa. Deployment varmistaa, että oikea määrä Podeja on käynnissä, ja mahdollistaa päivitykset tai palautukset helposti. Service julkaisee sovelluksen verkkoon ja tasapainottaa saapuvan liikenteen. YAML-määritystiedostot tekevät asetuksista selkeitä ja luettavia, kun taas kubectl-komennot mahdollistavat näiden määritysten käyttöönoton ja hallinnan reaaliajassa.

1. Mikä on Deploymentin pääasiallinen tarkoitus Kubernetesissa?

2. Miksi useat Podit voivat käyttää samaa porttinumeroa (esim. 3000) ilman ristiriitoja?

question mark

Mikä on Deploymentin pääasiallinen tarkoitus Kubernetesissa?

Select the correct answer

question mark

Miksi useat Podit voivat käyttää samaa porttinumeroa (esim. 3000) ilman ristiriitoja?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 9
some-alt