Kubernetes

Kubernetes Metrics Server

Kubernetes Metrics Server
Akkora és bonyolult rendszerrel, mint a Kubernetes, a monitorozás gyakran gondot okozhat.A megfigyelés mindig bonyolult üzlet, mert egyrészt nem akar lemaradni a kritikus hibákról és kudarcokról, másrészt nem akarja, hogy belefulladjon a triviális hibák óceánjába, amelyet nem az Ön alkalmazása vagy a mindenképp be.

Saját ütemező- és vezérlőkötegével a Kubernetes felépülhet kisebb hibákból, meghibásodott csomópontokból vagy alkalmazások hüvelyéből. Ha azonban sok összeomlás történik, akkor annak semmi köze nincs az infrastruktúrához, hanem minden ahhoz, hogy az alkalmazásodhoz kapcsolódjon, a Kubernetes megpróbálhatja újra és újraindítani, de mivel a kód hibás, a hiba továbbra is fennáll, és akár észrevétlen is maradhat.

Azok a hibák, amelyek észrevétlenek a legtöbbször, olyan esetek, amikor az alkalmazások nem ütköznek össze, hanem a rendszer erőforrásainak kihasználásával és a teljes fürtök károsításával járnak. Ezek a különösen csúnya esetek, és a Kubernetes Metrics Server hasznos eszköz lehet a szemmel tartáshoz.

A projekt hivatalosan a Kubernetes projekt része, de a legtöbb Kubernetes által tanúsított disztribúcióban nincs előre engedélyezve. Két fontos része van, amelyekről érdemes megvitatni a Metrics API-t és magát a Metrics Server-t. De először tegyük fel Kubernetes (K8) fürtünkbe.

Kísérleti Kubernetes telepítés

2018 júliusától mind a Docker for Mac, mind a Windows Kubernetes által hitelesített K8 implementációval érkezik. Olyan egyszerűvé teszi, mint a K8 telepítését Linux disztróra. Nyissa meg a Docker beállításait, és ha a Docker példány naprakész, akkor a menüben talál egy Kubernetes fület. Csak engedélyezze a Kubernetes alkalmazást a Docker Swarm helyett, és egyetlen csomópont-fürtöt állíthat fel és futtathat, készen áll a kísérletekre.

Ezután szükségünk van néhány egyszerű alkalmazáskészletre, amely fut és fut a használati esetünkhöz. Hozzon létre egy Deployments nevű mappát, amelyen belül hozzunk létre egy a nginx-telepítés.yaml fájlok, amelyek hontalan Nginx hüvelyeket telepítenének.

apiVersion: apps / v1 # az 1 előtti verziókhoz.9.0 használja az alkalmazásokat / v1beta2
fajta: Telepítés
metaadatok:
név: nginx-telepítés
specifikáció:
választó:
matchLabels:
app: nginx
másolatok: A 2 # megmondja a telepítésnek, hogy futtasson 2 sablont megfelelő hüvelyt
sablon:
metaadatok:
címkék:
app: nginx
specifikáció:
konténerek:
- név: nginx
kép: nginx: 1.7.9
portok:
- containerPort: 80

Mentse a fájlt, és futtassa a parancsot ugyanabba a könyvtárba, ahol ez a fájl található:

$ kubectl create -f nginx-telepítés.yaml

Lehet, hogy várnunk kell néhány percet, hogy a Kubernetes letölthesse a konténer képeit, gondoskodjon a konténerekről, és végezzen különféle könyveléseket. Miután ez megtörtént, a hüvelyek listáját a következőképpen láthatja:

$ kubectl kap hüvelyeket

Amint láthatja, a pod két példánya van, mint a .yaml fájl felírta.

Most, hogy van mit figyelnünk, engedélyeznünk kell a Metrics Server szolgáltatást. Először ellenőrizze a Kubernetes verzióját, amelyet futtat. Ha a verzió 1.8 vagy annál magasabb, akkor egy másik telepítést futtatnánk, és ha ez 1.7, majd visszanyúlunk az örökséghez:

$ kubectl verzió

A hivatalos kép megszerzéséhez és a kezdéshez klónozza ezt a GitHub repót, majd a tárház gyökérzetében futtassa a kubectl létrehozása -f a megfelelővel .yaml a futtatott K8 verziótól függően.

$ git klón https: // github.com / kubernetes-inkubátor / metrics-server.git
 
$ cd metrics-server
# Ha Kubernetes 1-es verziót futtat.8 vagy magasabb
$ kubectl create -f telepítés / 1.8 + /
# Ha a verzió 1.Majd 7
$ kubectl create -f telepítés / 1.7 /

Szánjon egy kis időt a kubernetéknek a képek letöltésére és a metrikaszerver felpörgetésére. Ez eltarthat néhány percig. Miután ez megtörtént, készen áll a metrikaszerver futtatására. Az alapparancs a tetejére parancs, amelyet gyakran futtatnak egy Linux rendszer megfigyelésére. De két változata van, az egyik a erőforrás-felhasználás a számításon csomópontok másodszor pedig felmérni a felhasznált erőforrás a bevetettek által hüvelyek és a. Így láthatja ezt a két részletet:

$ kubectl felső csomópont
$ kubectl felső hüvely

Láthatja, hogy egy pod mennyi adót fizet a rendszernek a memória vagy a CPU ideje szempontjából, és a Metrics API használatával beállíthatja a riasztásokat is.

Innen hova fog menni?

A metrikaszerver felmerülő felhasználási esetei döntő fontosságúak lesznek a Kubernetes jövőben. A projekt még mindig a 0. verzióban van.2.x, amint beérik és beépül a Kubernetes mainstream architektúrájába, fontos adatokat fog gyűjteni az ütemező számára, segítve a podok hatékonyabb elosztását a csomópontoknál, sokkal hatékonyabb módon.

Hasonlóképpen, a Horizontal Pod Autoscaler nagy hasznot húz a projektből, és segít növelni vagy kicsinyíteni, hogy az erőforrásokat az alkalmazások optimálisan használják fel.

Hivatkozások

  1. Nginx telepítések
  2. Kubernetes Metrics Server
  3. A Metrics API tervdokumentumai itt találhatók, és hasonló információkat talál a Metrics Serverről itt.
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...
0 A.D. Bemutató
A sok stratégiai játék közül 0 A.D. átfogó címként és nagyon mély, taktikus játékként képes kiemelkednie annak ellenére, hogy nyílt forráskódú. A játé...
Unity3D bemutató
Bevezetés a Unity 3D-be Az Unity 3D egy erőteljes játékfejlesztő motor. Ez több platformon keresztül lehetővé teszi játékok, mobil, webes, asztali és ...