‫Als je hebt nagedacht over je implementaties
‫en je services daarop, heb je je
‫misschien gerealiseerd dat we tot nu toe niet hebben gesproken
‫over OSI
‫Layer 7, of HTTP-naamroutering, of DNS-routering, of hoe je
‫het ook wilt noemen. Kortom, het idee dat als
‫je op een server zit met meerdere sites die dezelfde poorten
‫moeten gebruiken, juist. Poort 80 en 443,
‫dan heb je daar iets nodig dat routes naar verschillende
‫containers, gebaseerd op iets anders dan alleen de poort.
‫Dat in Kubernetes staat bekend als Ingress.
‫Het is een specifieke bron en het is niet per
‫se een load balancer of iets dat u aan
‫een service zou toeschrijven.
‫Het is technisch iets anders dat
‫echt gericht is op het algemene probleem van de
‫meeste clusters die veel verschillende websites willen
‫draaien, of verschillende containers voor verschillende
‫URL's en namen. Daar is dit hele
‫project op gericht, namelijk het Ingress-project.
‫Het is standaard niet geïnstalleerd
‫op uw Kubernetes-cluster, maar er zijn officiële functies voor.
‫De manier waarop dit werkt, is dat
‫Kubernetes geen HTTP-proxy heeft uitgevonden.
‫Ze bieden alleen mechanismen voor andere
‫proxy's van derden om functies te gebruiken,
‫zodat u de ingress in uw cluster installeert.
‫Vervolgens kunt u uw apps, op basis van welke u
‫gebruikt, vertellen hoe u die proxy moet gebruiken om bij uw
‫container te komen.
‫Een goed voorbeeld kan zijn dat u website A heeft. com en je hebt website
‫B. com.
‫Dat worden twee verschillende implementaties.
‫Je moet op de een of andere manier dezelfde poorten op al je
‫knooppunten krijgen... het is 80443.
‫U moet de verschillende websites naar de
‫verschillende containers brengen. Daar is Ingress voor.
‫In Swarm hadden we die functie niet standaard.
‫Je moest dus echt wat proxy's inzetten als een
‫container en het had niet echt iets speciaals met die
‫container te maken. Het begreep niet wat Ingress was.
‫Maar Kubernetes wel.
‫Als je naar de documentatie gaat kijken, is het standaard
‫soort voorbeeld waar iedereen het over heeft Nginx.
‫We hebben Nginx tijdens deze cursus gebruikt.
‫Die zou waarschijnlijk degene moeten zijn die je als eerste moet proberen.
‫Ik heb liever iets anders.
‫Ik hou eigenlijk van Traefik en dat zie je in sommige van
‫mijn voorbeelden, vooral in mijn Swarm-cursus.
‫Als je me ziet praten op conferenties, zal ik het
‫vaak over Traefik hebben omdat het een proxy was die in de wereld
‫van containers werd gecreëerd.
‫Het begin was rond het idee dat we al deze
‫kortstondige containers laten draaien en afsluiten, en dat we een
‫proxy moeten herprogrammeren, en dat we ons zorgen moeten
‫maken over SSL en alle andere dingen die we nodig
‫hebben voor meerdere websites in een containercluster.
‫Dus ontwierpen ze dit nieuwe product dat nu andere
‫producten voortbrengt. Het heeft nu een heel
‫bedrijf achter zich en ondersteunt contracten. Misschien wil
‫je dat eens bekijken. Er zijn veel leveranciers die deze
‫plug-ins voor Kubernetes maken, inclusief de belangrijkste, toch.
‫HAProxy, F5 en
‫nieuwe spelers zoals Envoy en Istio ondersteunen
‫ook ingangstypen. Ik zal zeggen dat, weet je, technisch gezien
‫is de ingangsfunctie zelf nog steeds bèta in 1. 15.
‫Elk van deze zal zijn eigen implementatie hebben, afhankelijk
‫van welke je kiest.
‫F5 is een externe hardware load balancer die heel gebruikelijk is
‫in de onderneming.
‫Het is duidelijk dat de Ingress-controller ervoor gaat
‫helpen die externe bron vanuit je Kubernetes te besturen.
‫Het hele punt van dit
‫alles is dat wanneer je applicatieontwikkelaars zijn die
‫hun YAML schrijven met de DevOps-mensen, of misschien
‫met het Ops-team zelf, ze in staat zijn om de annotaties
‫in hun YAML te plaatsen die nodig zijn voor de toegang
‫controleur om erachter te komen wat ermee te doen.
‫Kortom, hoe leid ik ze?
‫Wat zijn de juiste paden? Waar breng ik het naartoe?
‫Welke poorten gebruik ik? Pak ik SSL voor
‫je? Krijg ik certificaten? Ga je
‫me wat bezorgen? Al die dingen zijn afgehandeld.
‫Ten eerste raad ik je aan om in de bronnen te kijken.
‫Probeer misschien gewoon de Nginx standaard uit.
‫Zeker, als je geen mening hebt, probeer
‫dan Traefik, want het is gemakkelijk te gebruiken en
‫het heeft veel functies, waaronder Let's Encrypt om automatisch certificaten voor jou
‫en je websites te krijgen, direct uit de doos.
‫Als u uw eigen hardwarevereisten of softwarevereisten kent voor wat
‫u met Ingress moet doen, is er een lijst
‫in de documentatie die u in
‫de bronnen hier kunt zien met alle verschillende Ingress-opties.