Eğitim
Öğrenme yolu
Kubernetes’te uygulama geliştirme ve dağıtma - Training
AKS kullanarak Kubernetes’te yerel uygulamalar oluşturun, dağıtın ve saklayın.
Bu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
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ırma (kubeconfig) dosyası varsayılan olarak ~/.kube/config
konumunda 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.
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.
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
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:
Varsayılan KubernetesLocalProcessConfig.yaml
dosyası otomatik olarak oluşturulmaz, bu nedenle dosyayı projenizin kökünde el ile oluşturmanız gerekir.
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:
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-list
olarak 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:
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/serviceaccount
olarak ayarlanır.
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:
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:
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.
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:
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.
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ı (ö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.
Tam bir KubernetesLocalProcessConfig.yaml
dosyası ö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"
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.
Eğitim
Öğrenme yolu
Kubernetes’te uygulama geliştirme ve dağıtma - Training
AKS kullanarak Kubernetes’te yerel uygulamalar oluşturun, dağıtın ve saklayın.