Ingress ja ulkoinen reititys
Julkaiskaa useita palveluita ulkomaailmaan yhden sisääntulopisteen kautta käyttämällä Ingress-resursseja, isäntä- ja polkureititystä sekä Ingress-ohjainta.
Ingress ja ulkoinen reititys on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 4/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 DevOps-bootcamp-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.
NodePortin ja LoadBalancerin tuolle puolen
Service voi asettaa sovelluksen saataville, mutta jokaisen sovelluksen varustaminen omalla ulkoisella IP-osoitteella tulee kalliiksi ja tekee kokonaisuudesta sekavan. Ingress tarjoaa yhden älykkään HTTP-liityntäpisteen, joka reitittää liikenteen moniin Serviceihin.
Mikä on Ingress?
Ingress on Kubernetes-objekti, joka kuvaa HTTP/HTTPS-reitityssäännöt: mikä isäntä tai URL-polku yhdistetään mihinkin Serviceen.
Tarvitsette controllerin
Ingress-objekti sisältää vain säännöt. Ingress controller (nginx, Traefik, HAProxy) seuraa näitä sääntöjä ja huolehtii varsinaisesta reitityksestä. Ilman controlleria Ingress ei vaikuta mihinkään.
kubectl get pods -n ingress-nginxPerusmuotoinen Ingress
Tämä Ingress ohjaa kaiken liikenteen yhteen taustajärjestelmän Serviceen portissa 80.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-ingress
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 80Isäntään perustuva reititys
Lisäämällä host-kentän voitte reitittää verkkotunnuksen perusteella: api.example.com yhteen Serviceen ja shop.example.com toiseen, kaikki saman IP-osoitteen kautta.
rules:
- host: api.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: api
port:
number: 8080Polkuun perustuva reititys
Voitte myös reitittää yhden isännän alla URL-polun perusteella: /api API-palveluun ja / web-käyttöliittymään.
paths:
- path: /api
pathType: Prefix
backend:
service:
name: api
port:
number: 8080
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 80TLS-terminointi
Ingress voi päättää HTTPS-yhteyden TLS-salaisuuden avulla, jolloin servicet vastaanottavat salaamatonta HTTP-liikennettä käyttäjien yhteyksien pysyessä salattuina.
spec:
tls:
- hosts:
- shop.example.com
secretName: shop-tlsAnnotaatiot säätävät toimintaa
Controller-kohtaisilla annotaatioilla määritetään uudelleenkirjoitukset, aikakatkaisut, nopeusrajoitukset ja paljon muuta. Ne sijaitsevat Ingressin metadatassa.
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /IngressClass
Kun käytössä on useita controllereita, ingressClassName kertoo Kubernetesille, minkä niistä tulee käsitellä tämä Ingress.
spec:
ingressClassName: nginxIngressin tarkasteleminen
Tarkistakaa säännöt ja määritetty osoite komennolla kubectl get ingress ja tarkastakaa tapahtumat komennolla describe.
kubectl describe ingress web-ingressNykyaikainen vaihtoehto: Gateway API
Kubernetes kehittyy kohti Gateway APIa, joka on Ingressin ilmaisuvoimaisempi seuraaja. Ingress on edelleen laajasti käytössä ja sopii hyvin aloituskohdaksi.
Pikatarkistus
Miksi Ingress controller tarvitaan?
Kertaus
Osaatte nyt asettaa sovelluksia siististi saataville:
- Ingress määrittää HTTP-reitityssäännöt ja Ingress controller toteuttaa ne
- Reitittäkää liikenne isännän tai polun perusteella yhden liityntäpisteen kautta
- Päättäkää TLS-yhteydet ja säätäkää toimintaa annotaatioilla
ingressClassNamevalitsee controllerin
Yksi IP-osoite, monta Serviceä ja älykäs reititys.
Opi DevOps-bootcamp 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
- 142
- Oppitunnit
- 568
Usein kysytyt kysymykset
Onko oppitunti ”Ingress ja ulkoinen reititys” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Ingress ja ulkoinen reititys”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Ingress ja ulkoinen reititys”?
Julkaiskaa useita palveluita ulkomaailmaan yhden sisääntulopisteen kautta käyttämällä Ingress-resursseja, isäntä- ja polkureititystä sekä Ingress-ohjainta. Harjoittelet DevOps-bootcamp-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni DevOps-bootcamp-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin DevOps-bootcamp-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Ingress ja ulkoinen reititys”-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ä DevOps-bootcamp-oppitunnilla?
Kyllä. Jokainen DevOps-bootcamp-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
- Deploymentit tilattomille sovelluksille
- Servicet verkkoyhteyksiä varten
- ConfigMapit ja Secretit
- Ingress ja ulkoinen reititys