Použití mostu na Kubernetes s AKS
Poznámka:
Microsoft plánuje nadále aktivně udržovat projekt Bridge to Kubernetes. Během několika příštích měsíců projekt převedeme do archivačního stavu. Do té doby je projekt stále dostupný pro použití a stažení. Během tohoto období doufáme, že prozkoumáme a doporučíme komunitní projekty, které poskytují podobné výhody jako Bridge to Kubernetes pro vaše budoucí použití. Pokud máte dotazy, kontaktujte nás na panelu problémů na GitHubu.
V tomto kurzu použijete konkrétní ukázkovou webovou aplikaci AKS k tomu, abyste se dozvěděli, jak pomocí bridge to Kubernetes ladit místně v jednom podu, který je součástí clusteru Azure Kubernetes Service (AKS).
Než začnete
Tato příručka používá ukázkovou aplikaci aplikace Todo k předvedení připojení vývojového počítače ke clusteru Kubernetes běžícímu v AKS. Pokud už máte vlastní aplikaci spuštěnou v clusteru Kubernetes, přečtěte si téma Vývoj s využitím Kubernetes. Pokud používáte jiný cluster, například MiniKube spuštěný místně, přečtěte si téma Použití mostu na Kubernetes s ukázkou.
Požadavky
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, můžete si vytvořit bezplatný účet.
- Nainstalované rozhraní Azure CLI
- Visual Studio Code běžící na macOS, Windows 10 nebo Linuxu
- Rozšíření Bridge to Kubernetes nainstalované v editoru Visual Studio Code.
Vytvoření clusteru Kubernetes
Vytvořte cluster AKS v podporované oblasti. Následující příkazy vytvoří volanou MyResourceGroup
skupinu prostředků a cluster AKS s názvem MyAKS
.
az group create \
--name MyResourceGroup \
--location eastus
az aks create \
--resource-group MyResourceGroup \
--name MyAKS \
--location eastus \
--node-count 3 \
--generate-ssh-keys
Instalace ukázkové aplikace
Stažení kódu a instalace závislostí
git clone https://github.com/hsubramanianaks/b2k-samples
cd b2k-samples/todo-app
npm install stats-api\
Připojení ke clusteru a nasazení aplikace
Na vývojovém počítači stáhněte a nakonfigurujte rozhraní příkazového řádku Kubernetes pro připojení ke clusteru Kubernetes pomocí az aks get-credentials
.
az aks get-credentials --resource-group MyResourceGroup --name MyAKS
kubectl create namespace todo-app
kubectl config set-context --current --namespace=todo-app
kubectl apply -f deployment.yaml --namespace todo-app
Vyzkoušení aplikace
Na stejném terminálu, který jste používali dříve, spusťte následující příkaz a zkopírujte IP adresu front-endové služby ve sloupci Externí IP adresa.
kubectl get services
Pokud si chcete aplikaci vyzkoušet, otevřete adresu URL: {your external IP from above command goes here}.nip.io
Ladění služby stats-api
Na stejném terminálu, který jste používali dříve, zadejte následující příkaz, který otevře statistiky-api ve VS Code.
code ./stats-api
Nejprve umístěte zarážku na řádek 17 z server.js
.
Pak se ujistěte, že todo-app
je obor názvů v clusteru MyAKS
nastavený jako výchozí (pokud má vedle něj * ). Pokud není nastavená jako výchozí, klikněte pravým tlačítkem myši na uzel aplikace todo a zvolte Použít obor názvů.
Dále nakonfigurujte most: otevřete paletu příkazů (CTRL+SHIFT+P nebo Cmd+Shift+P na Macu) a zadejte Bridge to Kubernetes. Vyberte možnost Přemísnit na Kubernetes: Konfigurovat.
Zobrazí se výzva ke konfiguraci služby, kterou chcete nahradit, port pro přesměrování z vývojového počítače a spouštěcí úlohu, kterou chcete použít.
stats-api
Zvolte službu.
Důležité
Služby, které mají jeden pod, můžete přesměrovat pouze.
Po výběru služby se zobrazí výzva k zadání portu TCP pro místní aplikaci. V tomto příkladu zadejte 3001.
Jako spouštěcí úlohu zvolte Spustit skript: vývoj .
Máte možnost spustit izolovanou nebo neizolovanou. Pokud spustíte izolovanou službu, směrují se do místního procesu pouze vaše požadavky; ostatní vývojáři můžou cluster používat bez ovlivnění. Pokud nespustíte izolovaný provoz, veškerý provoz se přesměruje do místního procesu. Další informace o této možnosti naleznete v tématu Použití možností směrování pro vývoj v izolaci. V tomto příkladu pokračujeme v neizolovaném prostředí. Pokud jste zvolili izolaci, task.json má předponu, kterou byste měli použít ke směrování požadavků na váš počítač.
Poznámka:
Při dalších spuštěních stačí kliknout na ikonu ladění, aniž byste museli procházet touto nastavením a vyzváni k zadání názvu služby, portu, spouštěcí úlohy nebo jestli se má spustit izolovaný režim. Tyto hodnoty jsou uloženy v .vscode/tasks.json
. Pokud chcete tato nastavení později změnit, otevřete paletu příkazů (CTRL+SHIFT+P nebo Cmd+Shift+P na Macu) a spusťte příkazOvý most na Kubernetes: Konfigurovat.
Profil ladění Přemostění na Kubernetes byl úspěšně nakonfigurován.
Ladění spustíte tak, že vyberete ikonu Ladění na levé straně a vyberete Spustit skript: vývoj s Kubernetes. Klikněte na tlačítko Start vedle příkazu Spustit skript: vývoj s Kubernetes.
Poznámka:
Zobrazí se výzva, abyste koncovému správci povolili spuštění souboru hostitelů se zvýšenými oprávněními a úpravě souboru hostitelů.
Váš vývojový počítač je připojený, když se stavový řádek VS Code změní na oranžovou a rozšíření Kubernetes ukazuje, že jste připojení. Po připojení vývojového počítače se provoz začne přesměrováovat do vývojového počítače pro statistiky rozhraní API, které nahrazujete.
Přejděte do front-endového vstupního bodu vaší aplikace prostřednictvím externí IP adresy, kterou jste našli dříve. {your external IP from get services command}.nip.io
Všimněte si, že pokud jste vybrali režim izolace, musíte použít {your prefix - can be found in task.json}.{your external IP from get services command}.nip.io
.
Vytvořte požadavek na rozhraní stats-api tak, že zvolíte odkaz na statistiky .
Všimněte si provozu, který se původně spustil ve vašem clusteru, byl přesměrován na místně spuštěnou verzi (mimo cluster), kde se aktivovala zarážka.
Stiskněte tlačítko Přehrát a nechte požadavek pokračovat transparentně.
Vyčištění
Když ladicí program zastavíte, vrátí se všechny změny clusteru. Všimněte si, že pokud jste spustili izolaci, pod správce směrování tam zůstane, aby se urychlilo spuštění ladicího programu příště.
Cluster AKS můžete nechat zapnutý pro budoucí ladění nebo ho můžete odstranit pomocí následujícího příkazu.
az aks delete --name MyAKS --resource-group MyResourceGroup
Další kroky
Přečtěte si další informace o bridge to Kubernetes na webu How Bridge to Kubernetes.