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 / v1beta2fajta: 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.yamlLehet, 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
- Nginx telepítések
- Kubernetes Metrics Server
- A Metrics API tervdokumentumai itt találhatók, és hasonló információkat talál a Metrics Serverről itt.