Konfigurace Bridge pro Kubernetes
Poznámka
Bridge to Kubernetes bude ukončeno 30. dubna 2025. Podrobnosti o vyřazení a open-source alternativách najdete v problému na GitHubu.
Místní proces Bridge to Kubernetes můžete nakonfigurovat pomocí dvou metod. Služby v clusteru můžete komentovat a můžete zadat místní konfiguraci.
Konfigurace Kubernetes
Soubor konfigurace Kubernetes (kubeconfig) je standardně uložený v ~/.kube/config
, ale můžete ho nastavit pomocí proměnné prostředí KUBECONFIG.
Pokud používáte Visual Studio, můžete v integrovaném vývojovém prostředí upravit profil spuštění funkce Bridge to Kubernetes pomocí uživatelského rozhraní Ladit spouštěcí profily ve vlastnostech ladění. Viz Upravit spouštěcí profil.
Odtud můžete otevřít následující obrazovku, která poskytuje způsob, jak upravit některé z nejběžnějších vlastností konfigurace.
Zabránění nástroji Bridge to Kubernetes ve směrování konkrétních portů
Nakonfigurujte Bridge to Kubernetes tak, aby ignoroval mapování konkrétních portů služby Kubernetes na váš počítač tím, že do konfigurace služby přidáte anotaci bridgetokubernetes/ignore-ports
.
apiVersion: v1
kind: Service
metadata:
annotations:
bridgetokubernetes/ignore-ports:445,23
Místní konfigurace pomocí (KubernetesLocalProcessConfig.yaml)
Soubor KubernetesLocalProcessConfig.yaml
umožňuje replikovat proměnné prostředí a připojené soubory dostupné pro pody v clusteru. V souboru KubernetesLocalProcessConfig.yaml
můžete zadat následující akce:
- Stáhněte svazek a nastavte cestu ke svazku jako proměnnou prostředí.
- Zpřístupněte službu spuštěnou v clusteru pro procesy spuštěné na vývojovém počítači.
- Vytvořte proměnnou prostředí s konstantní hodnotou.
Výchozí KubernetesLocalProcessConfig.yaml
soubor se nevytvoří automaticky, takže ho musíte ručně vytvořit v kořenovém adresáři projektu.
Stažení svazku
V části envzadejte název a hodnotu pro každý svazek, který chcete stáhnout. Název je proměnná prostředí, která se použije na vývojovém počítači. Hodnota je název svazku a cesta ve vašem vývojovém počítači. Hodnota hodnoty má tvar $(volumeMounts:VOLUME_NAME)/PATH/TO/FILES.
Například:
version: 0.1
env:
- name: ALLOW_LIST_PATH
value: $(volumeMounts:allow-list)/allow-list
Výše uvedený příklad stáhne seznam povolených svazků z kontejneru a nastaví toto umístění společně s cestou k proměnné prostředí ALLOW_LIST_PATH. Výchozím chováním je stáhnout soubory do cesty, kterou zadáte v dočasném adresáři ve vývojovém počítači. V předchozím příkladu je ALLOW_LIST_PATH nastaven na /TEMPORARY_DIR/allow-list
.
Poznámka
Stažení svazku stáhne celý obsah tohoto svazku bez ohledu na nastavenou cestu. Cesta se používá pouze k nastavení systémové proměnné pro použití na vývojovém počítači. Přidání /allow-list nebo /path/to/files na konec tokenu nemá ve skutečnosti vliv na to, kde je svazek uložen. Proměnná prostředí je pouze pohodlí v případě, že vaše aplikace potřebuje odkázat na konkrétní soubor uvnitř daného svazku.
Máte také možnost určit umístění pro stažení připojení svazku na vývojovém počítači místo použití dočasného adresáře. V části volumeMountszadejte název a localPath pro každé konkrétní umístění. Název je název svazku, který chcete přiřadit, a místní cesta je absolutní cesta na vašem vývojovém počítači. Například:
version: 0.1
volumeMounts:
- name: default-token-*
localPath: /var/run/secrets/kubernetes.io/serviceaccount
env:
- name: KUBERNETES_IN_CLUSTER_CONFIG_OVERRIDE
value: $(volumeMounts:default-token-*)
Výše uvedený příklad používá položku v env ke stažení svazku odpovídajícího defaultnímu tokenu-*, například default-token-1111 nebo default-token-1234-5678-90abcdef. V případech, kdy se shoduje více svazků, se použije první odpovídající svazek. Všechny soubory se stáhnou do /var/run/secrets/kubernetes.io/serviceaccount
na vašem vývojovém počítači pomocí položky v rámcivolumeMounts. Proměnná prostředí KUBERNETES_IN_CLUSTER_CONFIG_OVERRIDE je nastavená na /var/run/secrets/kubernetes.io/serviceaccount
.
Zpřístupnění služby
V části envzadejte název a hodnotu pro každou službu, kterou chcete zpřístupnit na vývojovém počítači. Název je proměnná prostředí, která se použije na vývojovém počítači. Hodnota je název služby z vašeho clusteru a cesta. Hodnota hodnoty má tvar $(services:SERVICE_NAME)/PATH.
Například:
version: 0.1
env:
- name: MYAPP1_SERVICE_HOST
value: $(services:myapp1)/api/v1/
Výše uvedený příklad zpřístupňuje službu myapp1 vašemu vývojovému počítači a proměnná prostředí MYAPP1_SERVICE_HOST je nastavená na místní IP adresu služby myapp1 se /api/v1
cestou (to znamená 127.1.1.4/api/v1
). Služba myapp1 je přístupná pomocí proměnné prostředí myapp1, nebo myapp1.svc.cluster.local.
Poznámka
Zpřístupnění služby na vašem vývojovém počítači zajistí dostupnost celé služby nezávisle na nastavené cestě. Cesta se používá pouze k nastavení systémové proměnné pro použití na vývojovém počítači. Službu můžete zpřístupnit také z konkrétního jmenného prostoru Kubernetes pomocí $(services:SERVICE_NAME.NAMESPACE_NAME). Například:
version: 0.1
env:
- name: MYAPP2_SERVICE_HOST
value: $(services:myapp2.mynamespace)
Výše uvedený příklad zpřístupňuje myapp2 z oboru názvů mynamespace na vašem vývojovém počítači a nastaví proměnnou prostředí MYAPP2_SERVICE_HOST na místní IP adresu pro myapp2 z oboru názvů mynamespace.
Vytvořte proměnnou prostředí s konstantní hodnotou
V části envzadejte název a hodnotu pro každou proměnnou prostředí, kterou chcete vytvořit ve vývojovém počítači. Název je proměnná prostředí, která se použije ve vývojovém počítači a hodnota je hodnota. Například:
version: 0.1
env:
- name: DEBUG_MODE
value: "true"
Výše uvedený příklad vytvoří proměnnou prostředí s názvem DEBUG_MODE s hodnotou true.
Přidejte závislost služby
Závislost služby, například databázi nebo mezipaměť, můžete zadat pomocí obecného pole závislostí, podobně jako jsou deklarovány služby. Sem zadejte závislost, když se služba, kterou ladíte, musí připojit k prostředkům, které nejsou spuštěné ve vašem clusteru. Deklarujte závislost jako v následujícím příkladu:
version: 0.1
volumeMounts:
env:
- name: DB_HOST
value: $(externalendpoints:server-bridgetest123.database.windows.net:1433)
Zadejte název DNS hostitele (server-bridgetest13.database.windows.net
v příkladu) a port (1433 v příkladu) pro vaši závislost.
Když zadáte závislosti, jako jsou databáze, modely ověřování přesměrování nebudou fungovat. Například pro Azure SQL Database byste měli nastavit zásady připojení na Proxy (místo přesměrování nebo výchozí).
Příklad KubernetesLocalProcessConfig.yaml
Tady je příklad kompletního souboru KubernetesLocalProcessConfig.yaml
:
version: 0.1
volumeMounts:
- name: default-token-*
localPath: /var/run/secrets/kubernetes.io/serviceaccount
env:
- name: KUBERNETES_IN_CLUSTER_CONFIG_OVERRIDE
value: $(volumeMounts:default-token-*)
- name: ALLOW_LIST_PATH
value: $(volumeMounts:allow-list)/allow-list
- name: MYAPP1_SERVICE_HOST
value: $(services:myapp1)/api/v1/
- name: MYAPP2_SERVICE_HOST
value: $(services:myapp2.mynamespace)
- name: DEBUG_MODE
value: "true"
Další kroky
Pokud chcete začít používat Bridge to Kubernetes k připojení k místnímu vývojovému počítači ke clusteru, přečtěte si téma Použití mostu na Kubernetes pomocí nástroje Visual Studio Code a Použití mostu na Kubernetes pomocí sady Visual Studio.