A Kubernetes egy konténeres hangszerelő motor, amely lehetővé teszi a konténeres munkaterhelések skálázható módon történő telepítését. A hivatalos parancssori segédprogram, kubectl
, ellenőrzést biztosít a fürtjei és a benne lévő erőforrások felett.
A Kubectl telepítése
kubectl
Linux, macOS és Windows rendszereken támogatott. A platformtól függően több terjesztési formátumot kínálnak. Az előre lefordított bináris fájlok minden támogatott operációs rendszerhez készülnek, és közvetlen letöltési linkeken keresztül elérhetők.
Meg is találja kubectl
a Snap, a Homebrew, a Chocolatey és a Scoop csomagkezelőkön belül. Keresztül telepíthető apt
és yum
a Google Cloud adattár hozzáadásával a rendszeréhez. Végül, kubectl
szintén a Google Cloud SDK-val van ellátva – ha már telepítette, futtassa gcloud components install kubectl
az eszköz letöltéséhez.
Hivatkozzon a hivatalos telepítési útmutató hogy megtekinthesse a rendszeréhez elérhető opciókat. A telepítési lépések idővel változhatnak, ezért az újratelepítés előtt olvassa el a dokumentációt kubectl
.
Konfiguráció
A konfigurációt a .kube
könyvtárat az otthoni mappában. Az alapértelmezett konfigurációs fájl ~/.kube/config
.
Ehhez a mappához további fájlokat adhat hozzá. Azok lesznek egyesült a futás közben használt végső konfigurációba. Ha egy adott konfigurációs fájlt vagy más fájlkészletet akar használni, akkor be kell állítania a fájlt --kubeconfig
zászló vagy a KUBECONFIG
környezeti változó.
kubectl --kubeconfig=/example/file get pods # OR KUBECONFIG=/example/file kubectl get pods
A konfigurációs fájlokban írt összes út fel van oldva a fájl saját helyéhez viszonyítva. A parancssori jelzőknek átadott útvonalak a munkakönyvtárhoz képest fel vannak oldva. Megtekintheti a végső konfigurációt, amelyet használni fog kubectl
futással kubectl config view
.
Parancs sor zászlók támogatottak egyes beállításokhoz. Ezekkel felülírhatja a konfigurációs fájlokat. A rendelkezésre álló zászlók tartalmazzák --server
(fürt URL), --username
(felhasználónév a csatlakozáshoz), --password
, --token
(API token) és --namespace
(válassza ki a fürt névterét, amellyel interakcióba szeretne lépni).
Összefüggések
A konfigurációs fájlokon belül több „összefüggést” is meghatározhat. Ezek lehetővé teszik a gyakran használt „hozzáférési paraméterek”, például a fürt URL és felhasználói fiókok, csoportosítását egy megnevezett hivatkozás alatt.
Kontextusonkénti beállítások konfigurálásához használja a kubectl config set-context my-context --cluster=my-app --namespace=production
. Ez a példa új kontextust hozna létre my-context
amely meghatározza a Kubernetes-fürt és a névtér alapértelmezett beállításait.
A kontextusokat a kubectl config use-context my-context
parancs. A továbbiakban: kubectl
a. paramétereit használja my-context
kontextusban, tehát csatlakozna a my-app
klaszter a production
névtér.
A kontextusok hatékony használata jelentősen leegyszerűsíti a kubectl
. Nélkülük manuálisan kell létrehozniuk az egyedi konfigurációs fájlokat, amelyeket a KUBECONFIG
flag vagy környezeti változó.
Interakció a fürtjével
A legtöbb kubectl
a parancsok ugyanazt az alapformátumot használják:
kubectl command type name
A command
a végrehajtani kívánt művelet – általában create
, get
, describe
vagy delete
. A type
az a fajta erőforrás, amellyel kölcsönhatásba lép, mint pl pod
vagy deployment
. Használhatja az egyes számot vagy a többes számot.
A name
Az összetevőnek meg kell adnia annak az erőforrásnak a nevét, amelyre hivatkozik. Több nevet is megadhat, szóközökkel elválasztva, hogy tömegesen kapjon kimenetet. Az is használható -f
flag az erőforrásnevek listáját tartalmazó JSON vagy YAML fájl elérési útjának megadásához.
Íme néhány példa parancsokra, amelyek mind az aktuálisan kiválasztott kontextusban működnek:
kubectl get pods
– Szerezd meg az összes hüvelyed részleteitkubectl get pod my-pod
– Szerezd meg a meghívott pod részleteitmy-pod
kubectl get pod my-pod another-pod
– Szerezd meg a megnevezett hüvelyek részleteitmy-pod
ésanother-pod
kubectl get pod/my-pod deployment/my-deployment
– Hívja le a meghívott pod részleteitmy-pod
és a bevetés hívottmy-deployment
– ez a szintaxis variáció lehetővé teszi több erőforrástípus lekérését egy paranccsalkubectl delete pod my-pod
– Törölje a hívott hüvelytmy-pod
kubectl logs my-pod
– A napló kimenete amy-pod
hüvelykubectl apply -f ./manifest.yml
– Helyezzen egy javítást a fürtjére a Kubernetes jegyzékben, amely tárolva vanmanifest.yml
A Kubernetes-fürt által kínált összes erőforrástípushoz parancsok állnak rendelkezésre. Ez még az egyedi erőforrás-meghatározásokra is kiterjed; integrálódnak a Kubernetes API-val, és megkapják saját RESTful végpontjaikat, amelyek kubectl
hozzáférhetnek.
Egy teljes kubectl
parancs hivatkozás a Kubernetes dokumentációjában érhető el. Van még egy puska a tipikus erőforrástípusokkal végzett munka során gyakran használt parancsok közül.
Kimeneti formátumok
A kimenetet általában formázott listaként vagy táblázatként bocsátják ki. Ez ember által olvasható stílusban jeleníti meg az információkat, amelyeket gyorsan áttekinthet.
Több alternatíva kimeneti opciók elérhetőek. A. Gombbal válthat másik formázóra -o
(vagy --output
) zászló.
A json
a kimeneti stílus megjeleníti a Kubernetes API-erőforrás JSON-ábrázolását, amelyhez hozzáfér. Hasonlóképpen, yaml
megadja az erőforrás adatait YAML reprezentációként.
Az ember által olvasható stílus használatakor megadhatja a táblázat oszlopait, amelyek a custom-columns
stílus. Vegyen vesszővel elválasztott listát az oszlopnév és az érték hivatkozási párok közül:
kubectl get pods -o custom-columns=NAME:.metadata.name,NAMESPACE:.metadata.namespace
Ez az egyes hüvelyek nevét és névterét megjelenítené feliratos oszlopokban NAME
és NAMESPACE
illetőleg. Ahelyett, hogy sorban oszlopokat írna a parancsba, definiálhatja őket egy fájlban, és továbbíthatja neki --custom-columns-file
.
Beépített támogatással rendelkezik a kimenet rendezéséhez egy adott mező értéke szerint. Használat --sort-by
, átadva a mező referenciáját:
kubectl get pods --sort-by=.metadata.name
Támogatások rendezése JSONPath kifejezések. Ezeket fel lehet használni szűrt lekérdezések összeállítására is a jsonpath
formázó. A JSONPath a JSON-objektumok lekérdezési nyelve, amely lehetővé teszi a Kubernetes API-lekérdezések közvetlenebb kezelését kubectl
.
A Within Scripts használata
kubectl
közvetlen emberi interakcióra és szkripteken keresztüli programszerű meghívásra egyaránt szolgál. Vannak páran legjobb gyakorlatok kövesse a szkriptelés során kubectl
kiszámítható teljesítmény biztosítása érdekében.
Teljesen minősítse az erőforrástípusokra való hivatkozásokat, hogy azok egy adott verzióhoz legyenek rögzítve – pl pods.v1.core/my-job
ahelyett pods my-job
. Ez minimalizálja annak kockázatát, hogy a Kubernetes frissítések megsértsék a szkriptet.
A hozzáférési konfigurációt közvetlenül a parancsfájlból kell átadni a következőnek: kubectl
, biztosítva, hogy nem függ a külső környezettől. Ez tovább csökkenti a miatti törés kockázatát kubectl
frissítések – az olyan funkciók, mint a kontextusok, idővel változhatnak, miközben kevésbé valószínű, hogy az alapvető parancssori argumentumok meg fognak változni.
Végül feltétlenül tiltsa le az ember által olvasható kimenetet, és helyette használja a JSON vagy a YAML formázót. Ez megadja a szkript gép-orientált adatait, így Önnek nem kell táblákat elemeznie.
Következtetés
kubectl
a bevezetési megoldás a Kubernetes-fürt kezeléséhez. Ez egy átfogó eszköz, amely teljes mértékben támogatja a platform képességeit.
A funkcionalitás szélessége hosszú parancslistát eredményez, de a művelettípus, az erőforrás típusa és az erőforrás neve egyértelmű elkülönítése elősegíti a használat egyszerűségét és emlékezetességét. Ha kétségei vannak, akkor megteheti telepítse a shell automatikus kiegészítését hogy segítsen megtalálni a megfelelő parancsot.