Konfigurace Přemostění na Kubernetes

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

Zabránění přemísnění do Kubernetes v předávání konkrétních portů

Nakonfigurujte most na Kubernetes tak, aby ignoroval mapování konkrétních portů ve službě Kubernetes na váš počítač přidáním poznámky bridgetokubernetes/ignore-ports do služby.

apiVersion: v1
kind: Service
metadata:
  annotations:
    bridgetokubernetes/ignore-ports:445,23

Místní konfigurace pomocí (KubernetesLocalProcessConfig.yaml)

Tento KubernetesLocalProcessConfig.yaml soubor umožňuje replikovat proměnné prostředí a připojené soubory dostupné pro vaše pody v clusteru. V souboru můžete zadat následující akce KubernetesLocalProcessConfig.yaml :

  • 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 env zadejte název a hodnotu pro každý svazek, který chcete stáhnout. Název je proměnná prostředí, která se použije ve vašem vývojovém počítači. Hodnota je název svazku a cesta ve vašem vývojovém počítači. Hodnota pro hodnotu má tvar $(volumeMounts:VOLUME_NAME)/PATH/TO/FILES.

Příklad:

version: 0.1
env:
  - name: ALLOW_LIST_PATH
    value: $(volumeMounts:allow-list)/allow-list

Výše uvedený příklad stáhne svazek seznamu povolených položek z kontejneru a nastaví toto umístění a cestu 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 nastavena 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í proměnné prostředí pro použití na vývojovém počítači. Přidání /allow-list nebo /path/to/files na konec tokenu ve skutečnosti nemá vliv na to, kde je svazek trvalý. Proměnná prostředí je pro případ, že vaše aplikace potřebuje odkaz 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 volumeMounts zadejte název a localPath pro každé konkrétní umístění. Název je název svazku, který chcete spárovat, a localPath je absolutní cesta ve vašem vývojovém počítači. Pří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 env ke stažení svazku odpovídajícího default-token-*, 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 vývojového počítače pomocí položky volumeMounts. Proměnná prostředí KUBERNETES_IN_CLUSTER_CONFIG_OVERRIDE je nastavená na /var/run/secrets/kubernetes.io/serviceaccounthodnotu .

Zpřístupnění služby

V části env zadejte 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 ve vašem vývojovém počítači. Hodnota je název služby z vašeho clusteru a cesta. Hodnota pro hodnotu má tvar $(services:SERVICE_NAME)/PATH.

Pří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 s /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 ve vývojovém počítači bude mít celou službu k dispozici bez ohledu na nastavenou cestu. Cesta se používá pouze k nastavení proměnné prostředí pro použití na vývojovém počítači. Službu můžete zpřístupnit také z konkrétního oboru názvů Kubernetes pomocí $(services:SERVICE_NAME. NAMESPACE_NAME). Pří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 ve vašem vývojovém počítači a nastaví proměnnou prostředí MYAPP2_SERVICE_HOST na místní IP adresu myapp2 z oboru názvů mynamespace.

Vytvoření proměnné prostředí s konstantní hodnotou

V části env zadejte 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. Pří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řidání závislosti 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 úplného KubernetesLocalProcessConfig.yaml souboru:

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í editoru Visual Studio Code a použití přemětu do Kubernetes se sadou Visual Studio.