Dela via


Konfigurera Bridge till Kubernetes

Obs

Bron till Kubernetes dras tillbaka den 30 april 2025. Mer information om alternativen för tillbakadragning och öppen källkod finns i GitHub-problem.

Du kan konfigurera den lokala bridge-till-Kubernetes-processen med två metoder. Du kan kommentera tjänster i klustret och du kan ange lokal konfiguration.

Kubernetes-konfiguration

Kubernetes-konfigurationsfilen (kubeconfig) lagras som standard på ~/.kube/config, men du kan ange den med hjälp av KUBECONFIG-miljövariabeln.

Om du använder Visual Studio kan du redigera Bridge to Kubernetes-startprofilen i IDE:t med hjälp av användargränssnittet Felsökningsstartprofiler i felsökningsegenskaperna. Se Redigera startprofil.

Skärmbild som visar användargränssnittet för felsökningsstartprofiler.

Därifrån kan du öppna följande skärm, vilket ger ett sätt att redigera några av de vanligaste konfigurationsegenskaperna.

Skärmbild som visar redigering av några av de vanligaste egenskaperna för Bridge till Kubernetes-profil.

Förhindra att Bridge till Kubernetes vidarebefordrar specifika portar

Konfigurera Bridge till Kubernetes för att ignorera mappning av specifika portar på en Kubernetes-tjänst till datorn genom att lägga till bridgetokubernetes/ignore-ports-kommentaren på tjänsten.

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

Lokal konfiguration med hjälp av (KubernetesLocalProcessConfig.yaml)

Med KubernetesLocalProcessConfig.yaml-filen kan du replikera miljövariabler och monterade filer som är tillgängliga för dina poddar i klustret. Du kan ange följande åtgärder i en KubernetesLocalProcessConfig.yaml fil:

  • Ladda ned en volym och ange sökvägen till volymen som en miljövariabel.
  • Gör en tjänst som körs i klustret tillgänglig för processer som körs på utvecklingsdatorn.
  • Skapa en miljövariabel med ett konstant värde.

En standardfil KubernetesLocalProcessConfig.yaml skapas inte automatiskt, så du måste skapa filen manuellt i roten av projektet.

Ladda ned en volym

Under envanger du ett namn och värde för varje volym som du vill ladda ned. Det namnet är miljövariabeln som ska användas på utvecklingsdatorn. Värdet är namnet på volymen och en sökväg på utvecklingsdatorn. Värdet för antar formen av $(volumeMounts:VOLUME_NAME)/PATH/TO/FILES.

Till exempel:

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

Exemplet ovan laddar ner tillåt-listad volymen från containern och anger den platsen och sökvägen för miljövariabeln ALLOW_LIST_PATH. Standardbeteendet är att ladda ned filerna till den sökväg som du anger under en tillfällig katalog på utvecklingsdatorn. I exemplet ovan är ALLOW_LIST_PATH inställt på /TEMPORARY_DIR/allow-list.

Obs

Om du laddar ned en volym laddas hela innehållet i volymen ned oavsett vilken sökväg du anger. Sökvägen används bara för att ange miljövariabeln för användning på utvecklingsdatorn. Att lägga till /allow-list eller /path/to/files i slutet av token påverkar inte var volymen lagras. Miljövariabeln är bara en bekvämlighet om din app behöver en referens till en specifik fil i volymen.

Du kan också ange en plats där du kan ladda ned volymmonteringen på utvecklingsdatorn i stället för att använda en tillfällig katalog. Under volumeMountsanger du ett namn och localPath- för varje specifik plats. Det namnet är det volymnamn som du vill matcha och localPath- är den absoluta sökvägen på utvecklingsdatorn. Till exempel:

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-*)

I exemplet ovan används inträdet i env för att ladda ned en volym som matchar default-token-*, till exempel default-token-1111 eller default-token-1234-5678-90abcdef. I de fall där flera volymer matchar används den första matchande volymen. Alla filer laddas ned till /var/run/secrets/kubernetes.io/serviceaccount på utvecklingsdatorn via inmatningen i volumeMounts. Miljövariabeln KUBERNETES_IN_CLUSTER_CONFIG_OVERRIDE är inställd på /var/run/secrets/kubernetes.io/serviceaccount.

Gör en tjänst tillgänglig

Under envanger du ett namn och värde för varje tjänst som du vill göra tillgänglig på utvecklingsdatorn. Det namnet är miljövariabeln som ska användas på utvecklingsdatorn. Värdet är namnet på tjänsten från ditt kluster och en sökväg. Värdet för har formen $(services:SERVICE_NAME)/PATH.

Till exempel:

version: 0.1
env:
  - name: MYAPP1_SERVICE_HOST
    value: $(services:myapp1)/api/v1/

Exemplet ovan gör myapp1--tjänsten tillgänglig för utvecklingsdatorn och miljövariabeln MYAPP1_SERVICE_HOST är inställd på den lokala IP-adressen för tjänsten myapp1 med sökvägen /api/v1 (det vill säga 127.1.1.4/api/v1). Tjänsten myapp1 är tillgänglig med hjälp av miljövariabeln, myapp1eller myapp1.svc.cluster.local.

Obs

Om du gör en tjänst tillgänglig på utvecklingsdatorn blir hela tjänsten tillgänglig oavsett vilken sökväg du anger. Sökvägen används bara för att ange miljövariabeln för användning på utvecklingsdatorn. Du kan också göra en tjänst från ett specifikt Kubernetes-namnområde tillgängligt med hjälp av $(services:SERVICE_NAME. NAMESPACE_NAME). Till exempel:

version: 0.1
env:
  - name: MYAPP2_SERVICE_HOST
    value: $(services:myapp2.mynamespace)

Exemplet ovan gör myapp2 från mynamespace namnrymd tillgängligt på utvecklingsdatorn och anger MYAPP2_SERVICE_HOST miljövariabeln till den lokala IP-adressen för myapp2 från mynamespace namnrymd.

Skapa en miljövariabel med ett konstant värde

Under envanger du ett namn och värde för varje miljövariabel som du vill skapa på utvecklingsdatorn. Det namnet är miljövariabeln som ska användas på din utvecklingsdator och värdet är värdet. Till exempel:

version: 0.1
env:
  - name: DEBUG_MODE
    value: "true"

I exemplet ovan skapas en miljövariabel med namnet DEBUG_MODE med värdet true.

Lägga till ett tjänstberoende

Du kan ange ett tjänstberoende, till exempel en databas eller cache, med hjälp av ett allmänt beroendefält som liknar hur tjänster deklareras. Ange ett beroende här när den tjänst som du felsöker måste ansluta till resurser som inte körs i klustret. Deklarera ett beroende som i följande exempel:

version: 0.1
volumeMounts:
env:
  - name: DB_HOST
    value: $(externalendpoints:server-bridgetest123.database.windows.net:1433)

Ange värd-DNS-namnet (server-bridgetest13.database.windows.net i exemplet) och porten (1433 i exemplet) för ditt beroende.

När du anger beroenden, till exempel databaser, fungerar inte modeller för omdirigeringsautentisering. För Azure SQL Database bör du till exempel ange anslutningsprincipen till "Proxy" (i stället för "Omdirigering" eller "Standard").

Exempel på KubernetesLocalProcessConfig.yaml

Här är ett exempel på en fullständig KubernetesLocalProcessConfig.yaml fil:

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"

Nästa steg

För att komma igång med Bridge to Kubernetes och ansluta din lokala utvecklingsdator till klustret kan du läsa Använd Bridge to Kubernetes med Visual Studio Code och Använd Bridge to Kubernetes med Visual Studio.