Bridge naar Kubernetes configureren
Notitie
Bridge to Kubernetes wordt op 30 april 2025 buiten gebruik gesteld. Zie de GitHub-probleemvoor meer informatie over de buitengebruikstelling en opensource-alternatieven.
U kunt de lokale Bridge to Kubernetes-proces configureren met behulp van twee methoden. U kunt aantekeningen toevoegen aan services in uw cluster en u kunt lokale configuratie opgeven.
Kubernetes-configuratie
Het Kubernetes-configuratiebestand (kubeconfig) wordt standaard opgeslagen op ~/.kube/config
, maar u kunt dit instellen met behulp van de kuBECONFIG-omgevingsvariabele.
Als u Visual Studio gebruikt, kunt u het Bridge naar Kubernetes-startprofiel in de IDE bewerken met behulp van de Debug Launch Profiles-gebruikersinterface in de Debug-eigenschappen. Zie Startprofiel bewerken.
Hier kunt u het volgende scherm openen, dat een manier biedt om enkele van de meest voorkomende configuratie-eigenschappen te bewerken.
Voorkomen dat Bridge to Kubernetes specifieke poorten doorstuurt
Configureer Bridge to Kubernetes om toewijzing van specifieke poorten op een Kubernetes-service aan uw computer te negeren door de bridgetokubernetes/ignore-ports
aantekening toe te voegen aan de service.
apiVersion: v1
kind: Service
metadata:
annotations:
bridgetokubernetes/ignore-ports:445,23
Lokale configuratie met (KubernetesLocalProcessConfig.yaml)
Met het KubernetesLocalProcessConfig.yaml
-bestand kunt u omgevingsvariabelen en gekoppelde bestanden repliceren die beschikbaar zijn voor uw pods in uw cluster. U kunt de volgende acties opgeven in een KubernetesLocalProcessConfig.yaml
-bestand:
- Download een volume en stel het pad naar dat volume in als een omgevingsvariabele.
- Maak een service die wordt uitgevoerd op uw cluster beschikbaar voor processen die worden uitgevoerd op uw ontwikkelcomputer.
- Maak een omgevingsvariabele met een constante waarde.
Er wordt niet automatisch een standaardbestand KubernetesLocalProcessConfig.yaml
gemaakt, dus u moet het bestand handmatig maken in de hoofdmap van uw project.
Een volume downloaden
Voer onder enveen naam en waarde in voor elke gewenste volume die u wilt downloaden. De naam is de omgevingsvariabele die wordt gebruikt op uw ontwikkelcomputer. De waarde is de naam van het volume en een pad op uw ontwikkelcomputer. De waarde voor waarde heeft de vorm $(volumeMounts:VOLUME_NAME)/PATH/TO/FILES.
Bijvoorbeeld:
version: 0.1
env:
- name: ALLOW_LIST_PATH
value: $(volumeMounts:allow-list)/allow-list
In het bovenstaande voorbeeld wordt de acceptatielijst gedownload volume uit de container en wordt die locatie ingesteld plus het pad naar de omgevingsvariabele ALLOW_LIST_PATH. Het standaardgedrag is het downloaden van de bestanden naar het pad dat u opgeeft onder een tijdelijke map op uw ontwikkelcomputer. In het bovenstaande voorbeeld is ALLOW_LIST_PATH ingesteld op /TEMPORARY_DIR/allow-list
.
Notitie
Als u een volume downloadt, wordt de volledige inhoud van dat volume gedownload, ongeacht het pad dat u instelt. Het pad wordt alleen gebruikt om de omgevingsvariabele in te stellen voor gebruik op de ontwikkelcomputer. Het toevoegen van /allow-list of /path/to/files aan het einde van het token heeft geen invloed op waar het volume wordt behouden. De omgevingsvariabele is alleen handig voor het geval uw app een verwijzing naar een specifiek bestand in dat volume nodig heeft.
U kunt ook een locatie opgeven om de volumekoppeling op uw ontwikkelcomputer te downloaden in plaats van een tijdelijke map te gebruiken. Geef onder volumeMountseen naam en localPath- op voor elke specifieke locatie. De naam is de volumenaam die u wilt vergelijken en localPath- is het absolute pad op uw ontwikkelcomputer. Bijvoorbeeld:
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-*)
In het bovenstaande voorbeeld wordt de vermelding in env gebruikt om een volume te downloaden dat overeenkomt met default-token-*, zoals default-token-1111 of default-token-1234-5678-90abcdef. In gevallen waarin meerdere volumes overeenkomen, wordt het eerste overeenkomende volume gebruikt. Alle bestanden worden gedownload naar /var/run/secrets/kubernetes.io/serviceaccount
op uw ontwikkelcomputer met de invoer in volumeMounts. De omgevingsvariabele KUBERNETES_IN_CLUSTER_CONFIG_OVERRIDE is ingesteld op /var/run/secrets/kubernetes.io/serviceaccount
.
Een service beschikbaar maken
Geef onder enveen naam op en waarde voor elke service die u beschikbaar wilt maken op uw ontwikkelcomputer. De naam is de omgevingsvariabele die wordt gebruikt op uw ontwikkelcomputer. De waarde is de naam van de dienst uit uw cluster en een pad. De waarde voor waarde heeft de vorm $(services:SERVICE_NAME)/PATH.
Bijvoorbeeld:
version: 0.1
env:
- name: MYAPP1_SERVICE_HOST
value: $(services:myapp1)/api/v1/
In het bovenstaande voorbeeld wordt de myapp1-service beschikbaar gemaakt voor uw ontwikkelcomputer en wordt de omgevingsvariabele MYAPP1_SERVICE_HOST ingesteld op het lokale IP-adres van de myapp1--service met het pad /api/v1
(dat wil 127.1.1.4/api/v1
). De myapp1-service is toegankelijk met behulp van de omgevingsvariabele, myapp1of myapp1.svc.cluster.local.
Notitie
Als u een service beschikbaar maakt op uw ontwikkelcomputer, wordt de hele service beschikbaar, ongeacht het pad dat u instelt. Het pad wordt alleen gebruikt om de omgevingsvariabele in te stellen voor gebruik op de ontwikkelcomputer. U kunt ook een service van een specifieke Kubernetes-naamruimte beschikbaar maken met behulp van $(services:SERVICE_NAME. NAMESPACE_NAME). Bijvoorbeeld:
version: 0.1
env:
- name: MYAPP2_SERVICE_HOST
value: $(services:myapp2.mynamespace)
In het bovenstaande voorbeeld wordt de myapp2- van de mynamespace naamruimte beschikbaar op uw ontwikkelcomputer en wordt de omgevingsvariabele MYAPP2_SERVICE_HOST ingesteld op het lokale IP-adres van de myapp2- uit de mynamespace naamruimte.
Een omgevingsvariabele maken met een constante waarde
Geef onder enveen naam en waarde op voor elke omgevingsvariabele die u wilt maken op uw ontwikkelcomputer. De naam is de omgevingsvariabele die wordt gebruikt op uw ontwikkelcomputer en de waarde de waarde is. Bijvoorbeeld:
version: 0.1
env:
- name: DEBUG_MODE
value: "true"
In het bovenstaande voorbeeld wordt een omgevingsvariabele met de naam DEBUG_MODE gemaakt met een waarde van waar.
Een serviceafhankelijkheid toevoegen
U kunt een serviceafhankelijkheid opgeven, zoals een database of cache, met behulp van een algemeen afhankelijkhedenveld, vergelijkbaar met hoe services worden gedeclareerd. Geef hier een afhankelijkheid op wanneer de service die u foutopsporing uitvoert, verbinding moet maken met resources die niet worden uitgevoerd op uw cluster. Declareer een afhankelijkheid zoals in het volgende voorbeeld:
version: 0.1
volumeMounts:
env:
- name: DB_HOST
value: $(externalendpoints:server-bridgetest123.database.windows.net:1433)
Geef de host-DNS-naam (server-bridgetest13.database.windows.net
in het voorbeeld) en poort (1433 in het voorbeeld) op voor uw afhankelijkheid.
Wanneer u afhankelijkheden opgeeft, zoals databases, werken omleidingsverificatiemodellen niet. Voor Azure SQL Database moet u bijvoorbeeld verbindingsbeleid instellen op Proxy (in plaats van 'Omleiden' of 'Standaard').
Voorbeeld van KubernetesLocalProcessConfig.yaml
Hier volgt een voorbeeld van een volledig KubernetesLocalProcessConfig.yaml
bestand:
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"
Volgende stappen
Zie Gebruik Bridge to Kubernetes met Visual Studio Code en Gebruik Bridge to Kubernetes met Visual Studioom aan de slag te gaan met Bridge to Kubernetes.