Dockerin ja DevOpsin perusteet · Oppitunti

Servicet verkkoyhteyksiä varten

Julkaiskaa sovelluksenne klusterin sisäiseen ja ulkoiseen käyttöön Kubernetesin eri Service-tyypeillä.

Oppitunti 2/411 vaihetta

Servicet verkkoyhteyksiä varten on ilmainen Dockerin ja DevOpsin perusteet-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Dockerin ja DevOpsin perusteet-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Dockerin ja DevOpsin perusteet-kurssilla on yhteensä 4 oppituntia.

Mikä on Kubernetes Service?

Kubernetesissa Podit ovat pienimpiä käyttöönotettavia yksiköitä. Ne on suunniteltu lyhytikäisiksi, eli niitä voidaan luoda, poistaa tai korvata milloin tahansa, ja ne saavat usein uudet IP-osoitteet.

Tämä dynaamisuus vaikeuttaa muiden sovellusten mahdollisuuksia löytää Podit ja viestiä niiden kanssa luotettavasti. Tässä Service-objektit tulevat avuksi!

Servicet verkkoyhteyksiä varten — kuvitus 1

Vakaan verkkoyhteyden tarjoaminen

Kubernetes Service toimii vakaana verkkopäätepisteenä Pod-joukolle. Voitte ajatella sitä pysyvänä osoitteena, joka ei muutu, vaikka sen takana olevat Podit muuttuisivat.

  • Servicet tarjoavat yhdenmukaisen IP-osoitteen ja DNS-nimen.
  • Ne voivat tasata liikennettä useiden Podien kesken.
  • Ne varmistavat jatkuvan saatavuuden, kun Podeja skaalataan tai käynnistetään uudelleen.

Podien yhdistäminen Serviceihin

Mistä Service tietää, mille Podeille liikenne ohjataan? Se käyttää labelien ja selectoreiden yhdistelmää.

Kun luotte Podeja, annatte niille labelit (avain–arvo-pareja, kuten app: my-app). Service määrittää sitten näitä labeleita vastaavan selectorin, mikä luo dynaamisen yhteyden.

Sisäinen käyttö ClusterIP:llä

ClusterIP on oletusarvoinen ja yleisin Servicen tyyppi. Se määrittää Kubernetes-klusterin sisälle vakaan sisäisen IP-osoitteen. Tavoitettavissa tämä IP-osoite on vain muista klusterin sisällä olevista Podeista tai Nodeista.

Se sopii erinomaisesti taustapalveluille, kuten tietokannalle tai API:lle, joiden tarvitsee viestiä vain sovelluksen muiden palveluiden kanssa.

ClusterIP-Servicen määrittäminen

Tässä on yksinkertainen YAML-määritys ClusterIP-Servicelle. Huomaa, että selector vastaa labelia app: my-backend ja että port yhdistetään targetPort-porttiin.

apiVersion: v1
kind: Service
metadata:
  name: my-backend-service
spec:
  selector:
    app: my-backend
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080 # Port your application listens on
  type: ClusterIP

Ulkoinen käyttö NodePortilla

NodePort-Service asettaa sovelluksen saataville staattisessa portissa jokaisen Nod<|DELIM|>en IP-osoitteessa. Näin palvelu on käytettävissä klusterin ulkopuolelta minkä tahansa Noden IP-osoitteen ja määritetyn portin kautta.

nodePort-arvo on yleensä välillä 30000–32767. Se sopii yksinkertaiseen ulkoiseen käyttöön tai kehitysympäristöihin.

NodePort-Servicen määrittäminen

Voitte asettaa Servicen ulkoisesti saataville NodePortin kautta määrittämällä arvon type: NodePort. Voitte halutessanne määrittää nodePort-arvon, tai Kubernetes valitsee sen puolestanne.

apiVersion: v1
kind: Service
metadata:
  name: my-frontend-service
spec:
  selector:
    app: my-frontend
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80 # Port your application listens on
      nodePort: 30080 # Optional: specific port on the Node
  type: NodePort

Pilvipalveluiden kuormantasaajat

LoadBalancer-Service-tyyppi on suunniteltu pilviympäristöihin. Kun luotte tämän tyyppisen Servicen, pilvipalveluntarjoajanne, kuten AWS, GCP tai Azure, luo automaattisesti ulkoisen kuormantasaajan.

Kuormantasaaja saa julkisen IP-osoitteen ja ohjaa ulkoisen liikenteen suoraan Podeillenne. Se voi usein tarjota myös edistyneitä ominaisuuksia, kuten SSL:n terminoinnin.

LoadBalancer-Servicen määrittäminen

Julkisesti käytettäville sovelluksille pilvipalvelussa toimivassa Kubernetes-klusterissa LoadBalancer on yleensä paras valinta. Se yksinkertaistaa ulkoisen käytön hallintaa huomattavasti.

apiVersion: v1
kind: Service
metadata:
  name: my-web-app-lb
spec:
  selector:
    app: my-web-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: LoadBalancer

Valitse oikea Service

Tiiminne ottaa käyttöön uuden sovelluksen Kubernetesissa. Tarkastelkaa seuraavia tilanteita:

  • Taustajärjestelmän API, jota muiden klusterin sisäisten palveluiden tarvitsee käyttää.
  • Julkisivun verkkopalvelin, jonka on oltava käytettävissä internetistä ja jonka otatte käyttöön pilvipalveluntarjoajalla (AWS, GCP tai Azure).

Mikä Service-tyyppi sopii parhaiten julkisivun verkkopalvelimelle?

Kertaus: Servicet verkkokäyttöä varten

Opimme, että Kubernetesin Servicet tarjoavat vakaan verkkoyhteyden dynaamisille Podeille. Ne ovat välttämättömiä, jotta sovellukset voivat viestiä luotettavasti.

  • ClusterIP: vain klusterin sisäiseen viestintään.
  • NodePort: asettaa palvelun saataville staattisessa portissa jokaisen Noden IP-osoitteessa, joten sitä voidaan käyttää ulkoisesti tietyissä tilanteissa.
  • LoadBalancer: yhdistyy pilvipalveluntarjoajiin ja luo ulkoisen kuormantasaajan julkista käyttöä varten.

Oikean Service-tyypin valinta on olennaista, kun hallitaan sovellusten asettamista ulkoisesti saataville.

Aloita maksutta

Opi Dockerin ja DevOpsin perusteet tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Servicet verkkoyhteyksiä varten” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Dockerin ja DevOpsin perusteet-oppimispolun 3 oppituntia, myös oppitunnin “Servicet verkkoyhteyksiä varten”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Dockerin ja DevOpsin perusteet-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Servicet verkkoyhteyksiä varten”?

Julkaiskaa sovelluksenne klusterin sisäiseen ja ulkoiseen käyttöön Kubernetesin eri Service-tyypeillä. Harjoittelet Dockerin ja DevOpsin perusteet-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Dockerin ja DevOpsin perusteet-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Dockerin ja DevOpsin perusteet-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Servicet verkkoyhteyksiä varten”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Dockerin ja DevOpsin perusteet-oppitunnilla?

Kyllä. Jokainen Dockerin ja DevOpsin perusteet-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Deploymentit tilattomille sovelluksille
  2. Servicet verkkoyhteyksiä varten
  3. ConfigMapit ja Secretit
  4. Ingress ja ulkoinen reititys
← Takaisin: Dockerin ja DevOpsin perusteet