Ingress ulkoista käyttöä varten
Määrittäkää Ingress hallinnoimaan ulkoista pääsyä Serviceihin sekä HTTP/S-reititystä ja kuormantasausta.
Ingress ulkoista käyttöä varten on ilmainen Kubernetesin perusteet-oppitunti CoddyKitissä. Tämä on oppitunti 3/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 Kubernetesin perusteet-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Kubernetesin perusteet-kurssilla on yhteensä 4 oppituntia.
NodePortin ja LoadBalancerin jälkeen
Olemme tutustuneet Kubernetesin Service-tyyppeihin, kuten NodePort- ja LoadBalancer-tyyppeihin, joiden avulla sovelluksia voidaan asettaa ulkoisesti käytettäviksi.
Vaikka ne ovat hyödyllisiä, niiden hallinta voi muuttua hankalaksi monimutkaisissa ulkoisen käytön tarpeissa, erityisesti silloin, kun samalla IP-osoitteella täytyy isännöidä useita sovelluksia tai API-rajapintoja erityisten reitityssääntöjen avulla.
Tässä kohtaa Ingress tulee avuksi tehokkaampana ja joustavampana ratkaisuna.
Kubernetes Ingressin esittely
Ingress on Kubernetesin API-objekti, joka hallitsee klusterin Servicen ulkoista käyttöä pääasiassa HTTP- ja HTTPS-liikenteelle.
- Se toimii ulkoisten pyyntöjen yhtenäisenä sisääntulopisteenä.
- Se mahdollistaa HTTP/S-reitityksen isäntänimien tai URL-polkujen perusteella.
- Se voi tarjota myös esimerkiksi SSL/TLS:n päättämisen ja kuormantasauksen.
Ajattele Ingressiä älykkäänä liikenteenohjaajana, joka ohjaa verkkoliikenteen oikeille sisäisille Serviceille.
Ingress Controller
Ingress-resurssi itsessään on vain sääntöjoukko, eikä se käsittele liikennettä suoraan. Jotta Ingress toimii, klusterissa täytyy olla käynnissä Ingress Controller.
Ingress Controller tarkkailee Ingress-resursseja ja määrittää ulkoisen kuormantasaajan tai käänteisvälityspalvelimen määritettyjen sääntöjen mukaisesti.
Suosittuja Ingress Controllereita ovat Nginx, Traefik sekä pilvipalvelukohtaiset ratkaisut, kuten Google Cloudin GCE Ingress tai AWS Load Balancer Controller.
Ingress-sääntöjen toiminta
Ingress määrittää säännöt, jotka yhdistävät saapuvat ulkoiset pyynnöt klusterin tiettyihin taustapalveluihin. Näissä säännöissä määritetään yleensä:
- Host: Verkkotunnus, kuten
www.my-app.com. - Path: URL-polku, kuten
/apitai/blog. - Backend Service: Kubernetesin Service ja portti, johon liikenne välitetään.
Ingress Controller arvioi nämä säännöt jokaisen saapuvan pyynnön kohdalla määrittääkseen oikean kohteen.
Ingress YAML:n laatiminen
Muiden Kubernetes-resurssien tavoin Ingress määritetään YAML-manifestilla. Tässä on perusrakenne, joka havainnollistaa tärkeimmät kentät:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-app-ingress
spec:
rules:
- host: myapp.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-web-service
port:
number: 80Yksinkertainen polkupohjainen Ingress
Luodaan Ingress-resurssi, joka reitittää kaikki myapp.example.com-osoitteen juuripolun (/) liikenteen portissa 80 olevalle Servicelle nimeltä my-web-service.
Varmista ennen tämän Ingressin käyttöönottoa, että klusterissasi on käynnissä Deployment ja Service nimeltä my-web-service.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: basic-app-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: myapp.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-web-service
port:
number: 80Ingressin käyttöönotto
Ota Ingress-resurssi käyttöön tallentamalla YAML tiedostoon, kuten basic-ingress.yaml, ja käyttämällä komentoa kubectl apply:
kubectl apply -f basic-ingress.yaml
Voit tarkistaa Ingressin tilan komennolla kubectl get ingress. Ingress Controller määrittää tämän jälkeen ulkoisen kuormantasaajan näiden sääntöjen perusteella.
Testaamista varten sinun on yleensä päivitettävä paikallinen /etc/hosts-tiedosto tai DNS-asetukset ohjaamaan myapp.example.com Ingress Controllerin ulkoiseen IP-osoitteeseen.
Isäntäpohjaisen reitityksen esimerkki
Ingress sopii erinomaisesti useiden sovellusten isännöintiin samalla ulkoisella IP-osoitteella eri isäntänimien avulla. Tässä app1.example.com reititetään palvelulle service-app1 ja app2.example.com palvelulle service-app2.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: host-routing-ingress
spec:
rules:
- host: app1.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: service-app1
port:
number: 80
- host: app2.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: service-app2
port:
number: 80Useita polkuja, yksi isäntä
Voit myös reitittää saman isäntänimen eri URL-polut eri taustapalveluihin. Tämä sopii erinomaisesti mikropalveluarkkitehtuureihin tai yhden sovelluksen eri osioihin.
Esimerkiksi osoitteeseen api.example.com/users tehdyt pyynnöt ohjataan palvelulle users-service, kun taas osoitteeseen api.example.com/products tehdyt pyynnöt ohjataan palvelulle products-service.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: path-routing-ingress
spec:
rules:
- host: api.example.com
http:
paths:
- path: /users
pathType: Prefix
backend:
service:
name: users-service
port:
number: 80
- path: /products
pathType: Prefix
backend:
service:
name: products-service
port:
number: 80Ingressin tarkoituksen tarkistus
Mitkä seuraavista ovat Kubernetes Ingressin käytön tärkeimpiä hyötyjä?
Kertaus: Ingress älykkääseen reititykseen
Hienoa työtä! Olet oppinut Kubernetes Ingressistä, joka on keskeinen osa sovellusten ulkoisten käyttäjien toiminnan hallintaa.
- Ingress tarjoaa joustavan HTTP/S-reitityksen isäntänimien ja URL-polkujen perusteella.
- Se edellyttää Ingress Controlleria, kuten Nginxiä, tarkkailemaan Ingress-sääntöjä ja määrittämään reitityksen.
- Se yksinkertaistaa useiden Servicen asettamista käytettäviksi yhden ulkoisen IP-osoitteen kautta, mikä tekee klusterista tehokkaamman ja helpommin hallittavan.
Ingressin hallitseminen on tärkeää vankkojen ja helposti käytettävien cloud-native-sovellusten rakentamisessa!
Opi Kubernetesin 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 ”Ingress ulkoista käyttöä varten” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Kubernetesin perusteet-oppimispolun 3 oppituntia, myös oppitunnin “Ingress ulkoista käyttöä varten”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Kubernetesin perusteet-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Ingress ulkoista käyttöä varten”?
Määrittäkää Ingress hallinnoimaan ulkoista pääsyä Serviceihin sekä HTTP/S-reititystä ja kuormantasausta. Harjoittelet Kubernetesin perusteet-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Kubernetesin perusteet-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Kubernetesin perusteet-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Ingress ulkoista käyttöä 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ä Kubernetesin perusteet-oppitunnilla?
Kyllä. Jokainen Kubernetesin 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
- Sovellusten julkaiseminen Serviceillä
- Service-tyypit: ClusterIP, NodePort, LoadBalancer
- Ingress ulkoista käyttöä varten
- DNS ja palveluiden etsintä