Bridge to Kubernetes’i yapılandırma

İ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 köprüsünün belirli bağlantı noktalarını iletmesini engelleme

Hizmette ek açıklama ekleyerek Kubernetes hizmetindeki belirli bağlantı noktalarını makinenize eşlemeyi yoksaymak için Kubernetes'e Köprü'leri bridgetokubernetes/ignore-ports yapılandırın.

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

Kullanarak yerel yapılandırma (KubernetesLocalProcessConfig.yaml)

Dosya, KubernetesLocalProcessConfig.yaml kümenizdeki podlarınız için kullanılabilir ortam değişkenlerini ve bağlı dosyaları çoğaltmanıza olanak tanır. Bir KubernetesLocalProcessConfig.yaml dosyada 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 dosya otomatik olarak oluşturulmaz, bu nedenle dosyayı projenizin kökünde el ile oluşturmanız gerekir.

Birim indirme

env altında, indirmek istediğiniz her birim için bir ad ve değer belirtin. Ad, geliştirme bilgisayarınızda kullanılacak ortam değişkenidir. Değer, birimin adı ve geliştirme bilgisayarınızdaki bir yoldur. Değerin değeri $(volumeMounts:VOLUME_NAME)/PATH/TO/FILES biçimindedir.

Örnek:

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

Yukarıdaki örnek kapsayıcıdan izin verme listesi birimini indirir ve bu konumun yanı sıra ALLOW_LIST_PATH ortam 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 olarak /TEMPORARY_DIR/allow-listayarlanmıştır.

Dekont

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 eklenmesi, birimin kalıcı olduğu yeri 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. volumeMounts altında, belirli her konum için bir ad ve localPath belirtin. Ad, eşleştirmek istediğiniz birim adıdır ve localPath geliştirme bilgisayarınızdaki mutlak yoldur. Örnek:

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-1111 veya default-token-1234-5678-90abcdef gibi default-token-* ile eşleşen bir birim indirmek için env içindeki girdiyi kullanır. Birden çok birimin eşleştiği durumlarda, ilk eşleşen birim kullanılır. Tüm dosyalar volumeMounts içindeki girdi kullanılarak geliştirme bilgisayarınıza indirilir./var/run/secrets/kubernetes.io/serviceaccount KUBERNETES_IN_CLUSTER_CONFIG_OVERRIDE ortam değişkeni olarak /var/run/secrets/kubernetes.io/serviceaccountayarlanır.

Bir hizmeti kullanılabilir hale getirme

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

Örnek:

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 myapp1 hizmetinin /api/v1 yerel IP adresine (yani ) 127.1.1.4/api/v1ayarlanır. myapp1 hizmetine myapp1 veya myapp1.svc.cluster.local ortam değişkeni kullanılarak erişilebilir.

Dekont

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, $(services:SERVICE_NAME kullanarak belirli bir Kubernetes ad alanından hizmeti kullanılabilir hale getirebilirsiniz. NAMESPACE_NAME). Örnek:

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

Yukarıdaki örnek, mynamespace ad alanından myapp2'yi geliştirme bilgisayarınızda kullanılabilir hale getirir ve MYAPP2_SERVICE_HOST ortam değişkenini mynamespace ad alanından myapp2'ninyerel IP adresine ayarlar.

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

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

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

Yukarıdaki örnek, true değ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:

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ı (server-bridgetest13.database.windows.net örnekte) 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 dosya örneği aşağıda verilmiştir:

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ıza kümenize bağlanmak üzere Kubernetes'e Köprü kullanmaya başlamak için bkz . Visual Studio Code ile Kubernetes'e Köprü kullanma ve Visual Studio ile Kubernetes'e Köprü kullanma.