Nasazení aplikace v clusteru Azure Kubernetes Service
Vaše společnost hledá způsoby nasazení cloudové služby vykreslování videa. Jako vývojovou platformu nativní pro cloud jste zvolili Azure Kubernetes Service (AKS). Když je cluster nakonfigurovaný, jste připraveni nasadit jednu z komponent do aplikace pro vykreslování videí. Rozhodnete se nasadit statickou verzi webu vaší společnosti, abyste mohli prozkoumat proces nasazení Kubernetes.
Než se podíváme na způsob nasazení Kubernetes, projdeme si některé kroky, které je potřeba udělat při nasazení podobné aplikace v prostředí jiném, než je Kubernetes.
Předpokládejme, že jako cílovou platformu používáte virtuální počítač Azure. Prvním krokem je příprava softwaru serveru na hostování aplikace. V této lekci:
- Nainstalujete operační systém.
- Ujistíte se, že jste operační systém aktualizovali na nejnovější opravy zabezpečení a softwaru.
- Nainstalujete a nakonfigurujete software webového serveru.
- Nasadíte webovou aplikaci.
Tento postup opakujte pro každý nový virtuální počítač, když se rozhodnete web škálovat, aby se zvládl nárůst poptávky od zákazníků.
Alternativním přístupem je spustit web na platformě založené na kontejnerech, jako je například služba Azure Container Instances. Nemusíte se starat o základní serverovou technologii, ale pro ruční použití této strategie musíte nakonfigurovat a spravovat několik kontejnerů.
Kubernetes a AKS vám pomůžou s orchestrací kontejnerů. Funkce orchestrace kontejnerů Kubernetes usnadňují správu úloh v clusteru. Úlohy nasazujete pomocí kontejnerů sestavených z imagí kontejnerů za účelem spouštění aplikací v clusteru AKS.
Tady můžete prozkoumat, jak vytvářet úlohy v clusteru AKS.
Co je registr kontejneru?
Registr kontejneru umožňuje bezpečně ukládat image kontejneru v cloudu pro pozdější nasazení. Registr kontejneru si můžete představit jako archiv, který uchovává více verzí image kontejneru. Každá uložená image má přiřazenou značku pro identifikaci.
Můžete mít například image contoso-website:latest
, která by byla jinou verzí image se značkou contoso-website:v1.0.0
.
Registry kontejneru můžou být veřejné nebo soukromé. Privátní registry vyžadují přihlašovací údaje pro přístup k imagím a stahování imagí a je strategií, kterou sledujete při ukládání imagí kontejnerů.
Kubernetes umožňuje nasadit pouze image hostované v registru kontejneru. Vytvoření privátního registru kontejneru je obvykle součástí standardní strategie nasazení AKS.
Co je pod Kubernetes?
Pod Kubernetes seskupuje kontejnery a aplikace do logické struktury. Tyto pody nemají žádné inteligentní funkce a skládají se z jednoho nebo více kontejnerů aplikací. Každý z nich má IP adresu, síťová pravidla a zveřejněné porty.
Pokud byste například chtěli prohledat všechny úlohy související s objektem contoso-website
, dotazujete cluster na pody s popiskem app
a hodnotou contoso-website
.
Co je nasazení Kubernetes?
Nasazení Kubernetes představuje vývoj podů. Nasazení zabalí pody do inteligentního objektu, který jim umožní horizontální navýšení kapacity. Aplikaci můžete snadno duplikovat a škálovat tak, aby podporovala větší zatížení, aniž byste museli konfigurovat složitá síťová pravidla.
Nasazení umožňují uživatelům aktualizovat aplikace bez výpadků pouhou změnou značky image. Když aktualizujete nasazení místo odstranění všech aplikací, nasazení jeden po druhém vypne. Potom je nahradí nejnovější verzí. To znamená, že jakékoli nasazení může aktualizovat pody, které obsahuje, aniž by to mělo viditelný efekt na dostupnost.
Soubory manifestu Kubernetes
Soubor manifestu Kubernetes umožňuje deklarativně popsat úlohy ve formátu YAML a zjednodušit správu objektů Kubernetes.
Představte si, že máte ručně nasadit úlohu. Musíte zvážit a zpracovat několik aspektů. Potřebujete vytvořit kontejner, vybrat konkrétní uzel, zabalit ho do podu, spustit tento pod, sledovat spuštění atd.
Soubory manifestu obsahují všechny informace, které potřebujete k vytvoření a správě popsané úlohy.
Co je popisek Kubernetes?
Popisek Kubernetes umožňuje logicky seskupit objekty Kubernetes. Tyto popisky umožňují systému dotazovat se clusteru na objekty, které odpovídají popisku s konkrétním názvem.
Struktura souboru manifestu
Struktura souborů manifestu se liší v závislosti na typu prostředku, který vytvoříte. Soubory manifestu ale sdílejí společné pokyny. Tyto pokyny definují různé aspekty, například rozhraní API, která se mají použít, a typ úlohy, která se má vytvořit.
První dvě položky ve všech souborech manifestu obsahují dva důležité klíče apiVersion
a kind
. Tady je příklad souboru nasazení.
apiVersion: apps/v1 # Where in the API it resides
kind: Deployment # The kind of workload we're creating
Klíč apiVersion
definuje koncový bod serveru rozhraní API, který spravuje objekt, který nasadíte.
Klíč kind
definuje úlohu, která toto nasazení vytvoří.
Další společné klíče pro všechny soubory jsou klíče metadata
a name
. Všechny prostředky Kubernetes musí mít název. Tento název se nachází uvnitř klíče metadata
.
apiVersion: apps/v1
kind: Deployment
metadata:
name: contoso-website # This will be the name of the deployment
Seskupení objektů v nasazení
Nasazení využívají label
k vyhledání a seskupení podů. Popisek se definuje jako součást souboru manifestu nasazení.
Následuje příklad. Všimněte si hodnoty matchLabels
definované v definici selector
přidané do definice spec
.
# deployment.yaml
# ...
spec:
selector:
matchLabels:
app: contoso-website
# ...
Od tohoto okamžiku mají všechny soubory rozdílné struktury na základě toho, jaký typ prostředku má Kubernetes vytvořit.
Použití souboru nasazení
Soubor manifestu nasazení Kubernetes nasadíte pomocí kubectl
. Tady je příklad tohoto příkazu.
kubectl apply -f ./deployment.yaml