Kubernetes

Kubernetes Service Mesh

Kubernetes Service Mesh
A Kubernetes sokféle erőforrástípussal rendelkezik, amelyek segítenek elvonatkoztatni a szolgáltatások vagy a mikroszolgáltatások ötletét. Például, ha az alkalmazás frontendje kölcsönhatásba akar lépni a háttérrendszerrel, akkor nem kell törődnie azzal, hogy melyik podot keresi, vagy azt sem, hogy melyik IP-címet reméli abban, hogy egy háttéralkalmazás elfoglalja. A hüvelyeket egy szolgáltatáson keresztül teszik ki. (Ha még nem ismeri a Kubernetes-t, ajánlom ezt a bejegyzést, hogy jobban megértsük, mi a hüvely más fontos fogalmakkal együtt.)

Lényegében Kubernetes kitesz a háttérszolgáltatás a fürtön belül és a kezelőfelület interakcióba lép ezzel a szolgáltatással. A szolgáltatást kínáló hüvelyeket nagyon jól ki lehet cserélni, és senki sem venne észre semmit. De ahogy növekszik az alkalmazások funkciói, a karbantartandó szolgáltatások száma is növekszik. Minden szolgáltatás potenciálisan tud beszélni a fürt minden más szolgáltatásával, és az így létrejövő hálózatot nevezzük Service Mesh.

Nagyon sok kiegészítő van a Kubernetes számára, amelyek segítenek nekünk a Service Mesh kezelésének egyszerűsítésében. Számos olyan kulcsfunkciót kínálnak, mint a TLS, az automatikus terheléselosztás, az API-k biztonsága még a belső hálózaton is stb. Ennek megvalósításához számos lehetőség, például az Istio, a Linkerd és a Conduit integrálható a Kubernetes-szel. Az Istio-t ebben a bejegyzésben fogjuk megvizsgálni, mivel ez az 1. verzió.0 nemrég jelentették be.

Előfeltételek

Az Istio használatának megkezdéséhez működő kubernetes-fürtre van szükség. Ennek háromféle módja van.

  1. A Minikube telepítésével egyetlen csomópont-fürtöt hozhat létre a helyi gépen.
  2. Vagy ha Windows vagy Mac rendszeren használja a Dockert, engedélyezheti az egycsomópontos Kubernetes-fürtöt a Docker beállításaiban.
  3. Vagy használhat olyan online szolgáltatásokat, mint a Katacoda játszótér. Ezt fogjuk használni.

Miért érdemes használni a Service Mesh-t??

Az Istio-hoz hasonló szervizháló telepítése megkönnyíti a mikroszolgáltatásokkal való munkát. Fejlesztése közben nem kell aggódnia, hogy mikroszolgáltatásának támogatást kell nyújtania a kölcsönös TLS-hez, a terheléselosztáshoz vagy bármilyen más szemponthoz, például a szolgáltatás felfedezéséhez. Az ideális Service Mesh lehetővé teszi, hogy mikroszolgáltatásokat csatlakoztasson, egymástól és a külvilágtól biztonságban tartsa, és szervezetten kezelje őket. Óriási segítséget nyújt mind a fejlesztőknek, mind az üzemeltetőknek.

Az Istio telepítése

Az Istio telepítéséhez Kubernetes-fürt szükséges. Ha egyetlen csomópont-fürtje van, mint például a Minikube vagy a Docker az asztalon, akkor az összes parancs futtatható a helyi csomóponton. Ha azonban több csomópontos fürtöt használ, mint amit a Katacoda játszótér kínál, akkor ne feledje, hogy a legtöbb parancs és beállítási eljárás a fő csomóponton történik. Igen, az egész klasztert érinti, de kizárólag a master csomópontra van szükségünk.

Az Istio legújabb kiadásának klónozásával (vagy letöltésével) kezdjük a Githubból. A Windows-felhasználók felkereshetik ezt az oldalt, és megkaphatják a megfelelőt .postai irányítószám fájl.

$ curl -L https: // git.io / getLatestIstio | SH -
$ cd istio-1.0.0

A repo neve az idő múlásával megváltozhat, amint megjelenik az újabb kiadás, az írás idején 1.0.A 0 a legújabb stabil kiadás. Ez a repo nem csak a szolgáltatási háló kiterjesztését, hanem a BookInfo nevű mintaalkalmazást is tartalmazza kísérleti célokra. A szkript hozzáadja az új könyvtárat is: $ PWD / istio-1.0.0 / bin a PATH változóhoz.

Ez a könyvtár tartalmazza istioctl bináris, amely használható a fürt interakciójára. A Windows felhasználók egyszerűen meghívhatják a bináris fájlt a mappába lépve istio-1.0.0 \ bin és hív .\ istioctl PowerShell vagy parancssor használatával. De ez egy opcionális kiegészítő.

Ha Mac-et használ, akkor ezt a következő paranccsal teheti meg:

$ export PATH = $ PWD / bin: $ PATH

Ezután ki kell terjesztenünk a Kubernetes API-t az istio által biztosított egyéni erőforrás-meghatározásokkal (CRD).

$ kubectl Apply -f install / kubernetes / helm / istio / templates / crds.yaml

Ez néhány másodperc múlva életbe léphet, és ha ez megtörtént, a kube-apiserverbe beépülnek az Istio kiterjesztések. Innentől kezdve a telepítési lehetőségek attól függően változnak, hogy ezt gyártási célokra használja-e, vagy a saját elszigetelt környezetében kísérletezik vele.

Feltételezzük, hogy ez utóbbi a helyzet, és telepítjük az istio-t TLS hitelesítés nélkül.

$ kubectl Apply -f install / kubernetes / istio-demo.yaml

Ez új névtér-istio-rendszert hoz létre, ahová az összes különféle összetevőt telepítik, mint például az istio-pilot és az ingress gateway.

Alkalmazás telepítése és Istio befecskendező

Itt jön az Istio hasznossága. Az Istio oldalkocsis proxykkal egészíti ki szolgáltatásait, és ez az alkalmazás tényleges kódjának módosítása nélkül történik. Ha az automata istio-oldalkocsi-befecskendező be van kapcsolva. Címkézhet egy névteret az istio-injection = engedélyezve értékkel, és amikor az alkalmazás ezen a névtéren van telepítve, maguknak a hüvelyeknek lesznek speciális Envoy tárolók, valamint az alapvető alkalmazás tárolói. Például jelöljük meg az alapértelmezett névteret

$ kubectl címke névtér alapértelmezett istio-injection = engedélyezve

Most telepítsük a BookInfo mintapéldányt erre a névtérre. A klónozott Isitio rep gyökérkönyvtárából futtassa:

$ kubectl -f minták / bookinfo / platform / kube / bookinfo alkalmazása.yaml

Itt felsorolhatja az összes futó hüvelyt:

$ kubectl kap hüvelyeket

Válasszon ki egy hüvelyt az egyikből, és nézze meg annak részleteit. Például a telepítésemben lévő BookInfo alkalmazás egyik hüvelyét megnevezzük details-v1-6865b9b99d-6mxx9

$ kubectl írja le a hüvelyeket / részletek-v1-6865b9b99d-6mxx9

A leírásban észreveszi, hogy a hüvely két konténert tartalmaz, az első a képalkalmazás tényleges futtatásának egyik eleme. Példák: bookinfo-details-v1: 1.8.0, a második pedig a gcr képet futtató istio-proxy.io / istio-release / proxyv2: 1.0.0 .

Az Istio finom szemcsézést kínál a szolgáltató háló felett, mert ezeket a konténereket befecskendezi azokhoz a hüvelyekhez, ahol az alkalmazások találhatók. Ez a kommunikációhoz könnyen használható TLS-sel és a finom szemcsés forgalomirányítással együtt annak a sok oknak az egyik oka, hogy a nagy alkalmazások élvezhetik az olyan szolgáltatási hálót, mint az Istio.

Hivatkozások

A tényleges architektúrának sok olyan eleme van, mint a Pilot, a Citadel és a Mixer, mindegyiknek megvan a maga fontos szerepe. Itt sokkal többet megtudhat ezekről az összetevőkről, és itt megpróbálhatja telepíteni saját mikroszolgáltatását.

OpenTTD bemutató
Az OpenTTD az egyik legnépszerűbb üzleti szimulációs játék. Ebben a játékban létre kell hoznia egy csodálatos szállítási vállalkozást. Azonban kezdete...
SuperTuxKart Linuxhoz
A SuperTuxKart egy nagyszerű cím, amelynek célja, hogy ingyenesen hozza el a Mario Kart élményét Linux rendszerén. Elég kihívást jelentő és szórakozta...
Csata a Wesnoth bemutatóért
A Battle for Wesnoth az egyik legnépszerűbb nyílt forráskódú stratégiai játék, amelyet jelenleg játszhatsz. Ez a játék nem csak nagyon hosszú ideje fe...