İngilizce dilinde oku

Aracılığıyla paylaş


Kubernetes köprüsünü yapılandırma

Not

Kubernetes köprüsü 30 Nisan 2025'te kullanımdan kaldırılacaktır. Kullanımdan kaldırma ve açık kaynak alternatifleri hakkında ayrıntılı bilgi için lütfen GitHubsorununa bakın.

İki yöntem kullanarak yerel Kubernetes köprüsü işlemini yapılandırabilirsiniz. Kümenizdeki hizmetlere açıklama ekleyebilir ve yerel yapılandırma sağlayabilirsiniz.

Kubernetes yapılandırması

Kubernetes yapılandırma (kubeconfig) dosyası varsayılan olarak ~/.kube/configkonumunda depolanır, ancak BUNU KUBECONFIG ortam değişkenini kullanarak ayarlayabilirsiniz.

Visual Studio kullanıyorsanız, IDE'de Kubernetes'e Köprü başlatma profilini, Hata Ayıklama özelliklerindeki Hata Ayıklama başlatma profilleri arayüzünü kullanarak düzenleyebilirsiniz. Bkz. Başlatma profilini düzenleme.

Hata ayıklama başlatma profilleri kullanıcı arabiriminin gösterildiği ekran görüntüsü.

Buradan, en yaygın yapılandırma özelliklerinden bazılarını düzenlemek için bir yol sağlayan aşağıdaki ekranı açabilirsiniz.

En yaygın Bridge to Kubernetes profil özelliklerinden bazılarını düzenlemeyi gösteren ekran görüntüsü.

Kubernetes köprüsünün belirli bağlantı noktalarını iletmesini engelleme

Bridge to Kubernetes'i, Kubernetes hizmetindeki belirli bağlantı noktalarının makinenize eşlenmesini yoksayacak şekilde yapılandırmak için hizmete bridgetokubernetes/ignore-ports ek açıklamasını ekleyin.

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

Yerel yapılandırma, KubernetesLocalProcessConfig.yaml kullanılarak

KubernetesLocalProcessConfig.yaml dosyası, kümenizdeki podlarınız için kullanılabilir ortam değişkenlerini ve bağlı dosyaları çoğaltmanıza olanak tanır. KubernetesLocalProcessConfig.yaml dosyasında aşağıdaki eylemleri belirtebilirsiniz:

  • Bir birimi indirin ve bu birimin yolunu ortam değişkeni olarak ayarlayın.
  • Kümenizde çalışan bir hizmeti geliştirme bilgisayarınızda çalışan işlemler için kullanılabilir hale getirin.
  • Sabit değere sahip bir ortam değişkeni oluşturun.

Varsayılan KubernetesLocalProcessConfig.yaml dosyası otomatik olarak oluşturulmaz, bu nedenle dosyayı projenizin kökünde el ile oluşturmanız gerekir.

Bir hacmi indir

altında, indirmek istediğiniz her birim için ad ve değer belirtmeniz gerekmektedir. adı, geliştirme bilgisayarınızda kullanılacak ortam değişkenidir. değeri, birimin adı ve geliştirme bilgisayarınızdaki bir yoldur. değeri değeri, $(volumeMounts:VOLUME_NAME)/PATH/TO/FILESşeklinde olur.

Mesela:

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

Yukarıdaki örnek kapsayıcıdan izin izin listesi birimini indirir ve bu konumun yanı sıra ALLOW_LIST_PATHortam değişkeninin yolunu ayarlar. Varsayılan davranış, dosyaları geliştirme bilgisayarınızdaki geçici bir dizin altında belirttiğiniz yola indirmektir. Yukarıdaki örnekte, ALLOW_LIST_PATH/TEMPORARY_DIR/allow-listolarak ayarlanmıştır.

Not

Bir birimin indirilmesi, ayarladığınız yola bakılmaksızın bu birimin içeriğinin tamamını indirir. Yol yalnızca geliştirme bilgisayarında kullanılacak ortam değişkenini ayarlamak için kullanılır. Belirtecin sonuna /allow-list veya /path/to/files eklemek, birimin nerede kalıcı hale geldiğini aslında etkilemez. Ortam değişkeni, uygulamanızın bu birimin içindeki belirli bir dosyaya başvuruya ihtiyacı olması durumunda kolaylık sağlar.

Geçici bir dizin kullanmak yerine geliştirme bilgisayarınıza birim bağlamayı indirmek için bir konum belirtme seçeneğiniz de vardır. volumeMountsaltında, bir adı belirtin ve her bir konum için localPath . adı, eşleştirmek istediğiniz hacim adıdır ve localPath, geliştirme bilgisayarınızdaki mutlak yoldur. Mesela:

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

Yukarıdaki örnek, default-token-*gibi bir birimle eşleşen bir hacmi indirmek için doğrudan env girişini kullanır, örneğin default-token-1111 veya default-token-1234-5678-90abcdefgibi. Birden çok birimin eşleştiği durumlarda, ilk eşleşen birim kullanılır. Geliştirme bilgisayarınızdaki /var/run/secrets/kubernetes.io/serviceaccount'a, volumeMountsgirdisi kullanılarak tüm dosyalar indirilir. KUBERNETES_IN_CLUSTER_CONFIG_OVERRIDE ortam değişkeni /var/run/secrets/kubernetes.io/serviceaccountolarak ayarlanır.

Bir hizmeti kullanılabilir hale getirme

altında, geliştirme bilgisayarınızda kullanılabilir hale getirmek istediğiniz her hizmet için bir adı ve değeri belirtin. adı, geliştirme bilgisayarınızda kullanılacak ortam değişkenidir. değeri, kümenizdeki hizmetin adı ve bir yoldur. değeri,'in biçiminde $(services:SERVICE_NAME)/PATHolur.

Mesela:

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

Yukarıdaki örnek myapp1 hizmetini geliştirme bilgisayarınız için kullanılabilir hale getirir ve MYAPP1_SERVICE_HOST ortam değişkeni, yolu (/api/v1) ile myapp1 127.1.1.4/api/v1 adresine ayarlanır. myapp1 hizmeti, ortam değişkeni myapp1veya myapp1.svc.cluster.localkullanılarak erişilebilir.

Not

Bir hizmetin geliştirme bilgisayarınızda kullanılabilir duruma getirilmesi, ayarladığınız yola bakılmaksızın hizmetin tamamını kullanılabilir hale getirir. Yol yalnızca geliştirme bilgisayarında kullanılacak ortam değişkenini ayarlamak için kullanılır. Ayrıca, belirli bir Kubernetes ad alanından hizmeti $(services:SERVICE_NAME.NAMESPACE_NAME) kullanarak kullanılabilir hale getirebilirsiniz. Mesela:

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

Yukarıdaki örnek, mynamespace ad alanından myapp2 uygulamasını geliştirme bilgisayarınızda kullanılabilir hale getirir ve mynamespace ad alanındaki myapp2'in yerel IP adresini MYAPP2_SERVICE_HOST ortam değişkenine ayarlar.

Sabit değere sahip bir ortam değişkeni oluşturma

altında, geliştirme bilgisayarınızda oluşturmak istediğiniz her ortam değişkeni için bir adı ve değeri belirtin. adı, geliştirme bilgisayarınızda kullanılacak ortam değişkenidir ve değeri değerdir. Mesela:

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

Yukarıdaki örnek, truedeğerine sahip DEBUG_MODE adlı bir ortam değişkeni oluşturur.

Hizmet bağımlılığı ekleme

Hizmetlerin bildirilmesine benzer bir genel bağımlılık alanı kullanarak veritabanı veya önbellek gibi bir hizmet bağımlılığı belirtebilirsiniz. Hata ayıkladığınız hizmetin kümenizde çalışmayan kaynaklara bağlanması gerektiğinde burada bir bağımlılık belirtin. Aşağıdaki örnekte olduğu gibi bir bağımlılık bildirin:

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

Bağımlılığınız için ana bilgisayar DNS adını (örnekteserver-bridgetest13.database.windows.net) ve bağlantı noktasını (örnekte 1433) belirtin.

Veritabanları gibi bağımlılıkları belirttiğinizde, yeniden yönlendirme kimlik doğrulama modelleri çalışmaz. Örneğin, Azure SQL Veritabanı için bağlantı ilkesini "Yeniden Yönlendirme" veya "Varsayılan" yerine "Proxy" olarak ayarlamanız gerekir.

Örnek KubernetesLocalProcessConfig.yaml

Tam bir KubernetesLocalProcessConfig.yaml dosyası örneği aşağıda verilmiştir:

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"

Sonraki Adımlar

Yerel geliştirme bilgisayarınızı kümenize bağlamak için Kubernetes'e Köprü kullanmaya başlamak üzere bkz. Visual Studio Code ile Kubernetes'e Köprü Kullanma ve Visual Studio ile Kubernetes'e Köprü Kullanma.