Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Windows Server'da AKS
Bu kılavuzda, Windows Server üzerinde AKS'deki Kubernetes kümenizde web ön ucu ve Redis veritabanı örneği içeren çok kapsayıcılı bir uygulamanın nasıl dağıtılacağı açıklanmaktadır. Ayrıca uygulamanızı test etmeyi ve ölçeklendirmeyi de öğrenirsiniz.
Bu nasıl yapılır kılavuzu, Kubernetes kavramlarını temel olarak anlamayı varsayar. Daha fazla bilgi için bkz. Kubernetes temel kavramları.
Başlamadan önce
Aşağıdaki önkoşullara sahip olduğunuzu doğrulayın:
- En az bir Linux çalışan düğümü bulunan ve çalışır durumda olan bir AKS kümesi.
- Kümeye erişmek için bir kubeconfig dosyası.
- AksHci PowerShell modülü yüklenir. Daha fazla bilgi için bkz . Install-AksHci.
Bu prosedürleri uyguladığınızda:
- Komutları yönetici ayrıcalıklarıyla açılan bir PowerShell penceresinde çalıştırın.
- İşletim sistemine özgü iş yüklerinin uygun kapsayıcı konağına yüklendiğinden emin olun. Kubernetes kümenizde Linux ve Windows worker düğümleri birlikte bulunuyorsa, ya düğüm seçicilerini ya da taint ve toleration'ları kullanabilirsiniz. Daha fazla bilgi için düğüm seçicileri ile taint ve toleration kullanma konusuna bakın.
Uyarı
Bir ağı başka bir hedef kümeyle paylaşan bir hedef kümenin dağıtılması yük dengeleyici IP adresi çakışmalarına neden olabilir.
Aynı AksHciClusterNetwork nesneyi paylaşan hedef kümelerde farklı bağlantı noktaları kullanan iki iş yükü dağıtırsanız IP adresi çakışmaları oluşabilir. IP adreslerinin ve bağlantı noktası eşlemelerinin HA Proxy'si içinde ayrılma şekli nedeniyle, yinelenen IP adreslerinin atanmasına yol açabilir. Bu durumda, iş yüklerinizi yeniden dağıtana kadar bir veya iki iş yükü rastgele ağ bağlantısı sorunlarıyla karşılaşabilir. İş yüklerinizi yeniden dağıtırken, her iş yüküne bir hizmet IP adresi atayan aynı bağlantı noktasını kullanabilir veya farklı nesneler kullanan AksHciClusterNetwork hedef kümelerde iş yüklerinizi yeniden dağıtabilirsiniz.
Uygulamayı dağıt
Kubernetes bildirim dosyası, hangi kapsayıcı görüntülerinin çalıştırıldığı gibi küme için istenen durumu tanımlar. Bu öğreticide, Azure oy uygulamasını çalıştırmak için gereken tüm nesneleri oluşturmak için bir bildirim kullanılır. Bu bildirim iki Kubernetes dağıtımı içerir: biri örnek Azure Vote Python uygulamaları ve diğeri redis örneği için. İki Kubernetes hizmeti de oluşturulur: Redis örneği için bir iç hizmet ve İnternet'ten Azure Vote uygulamasına erişmek için bir dış hizmet.
azure-vote.yaml adlı bir dosya oluşturun ve aşağıdaki YAML tanımını kopyalayıp yapıştırın:
apiVersion: apps/v1
kind: Deployment
metadata:
name: azure-vote-back
spec:
replicas: 1
selector:
matchLabels:
app: azure-vote-back
template:
metadata:
labels:
app: azure-vote-back
spec:
nodeSelector:
"beta.kubernetes.io/os": linux
containers:
- name: azure-vote-back
image: redis
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 256Mi
ports:
- containerPort: 6379
name: redis
---
apiVersion: v1
kind: Service
metadata:
name: azure-vote-back
spec:
ports:
- port: 6379
selector:
app: azure-vote-back
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: azure-vote-front
spec:
replicas: 1
selector:
matchLabels:
app: azure-vote-front
template:
metadata:
labels:
app: azure-vote-front
spec:
nodeSelector:
"beta.kubernetes.io/os": linux
containers:
- name: azure-vote-front
image: <path to image>/azure-vote-front:v1
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 256Mi
ports:
- containerPort: 80
env:
- name: REDIS
value: "azure-vote-back"
---
apiVersion: v1
kind: Service
metadata:
name: azure-vote-front
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: azure-vote-front
komutunu kullanarak uygulamayı dağıtın kubectl apply ve YAML bildiriminizin adını belirtin:
kubectl apply -f azure-vote.yaml
Aşağıdaki örnek çıktı, başarıyla oluşturulan dağıtımları ve hizmetleri gösterir:
deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created
Uygulamayı test edin
Uygulama çalıştırıldığında Kubernetes hizmeti uygulamanın ön ucunu İnternet'te kullanıma sunar. Bu işlemin tamamlanması birkaç dakika sürebilir.
İlerlemeyi izlemek için --watch bağımsız değişkeniyle birlikte kubectl get service komutunu kullanın:
kubectl get service azure-vote-front --watch
Başlangıçta, azure-vote-front hizmeti için EXTERNAL-IP, pending olarak görüntülenir:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 22m
EXTERNAL-IP adresi bekleme durumundan gerçek bir genel IP adresine değiştiğinde, izleme işlemini durdurmak için CTRL-C tuşlarını kubectl kullanın. Aşağıdaki örnek çıktıda hizmete atanmış geçerli bir genel IP adresi gösterilmektedir:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 24m
Azure Vote uygulamasının çalıştığını görmek için hizmetinizin dış IP adresine bir web tarayıcısı açın.
Uygulama podlarını ölçeklendirme
Azure Voting Uygulaması ön ucu ile Redis örneğinin tek bir kopyasını oluşturduk. Kümenizdeki podların sayısını ve durumunu görmek için komutunu kubectl get kullanın:
kubectl get pods -n default
Aşağıdaki örnek çıktıda bir ön uç pod ve bir arka uç pod gösterilmektedir:
NAME READY STATUS RESTARTS AGE
azure-vote-back-6bdcb87f89-g2pqg 1/1 Running 0 25m
azure-vote-front-84c8bf64fc-cdq86 1/1 Running 0 25m
azure-vote-front dağıtımındaki pod sayısını değiştirmek için komutunu kullanınkubectl scale. Aşağıdaki örnek ön uç podlarının sayısını 5'e yükseltir:
kubectl scale --replicas=5 deployment/azure-vote-front
Ek podların oluşturulduğunu doğrulamak için yeniden çalıştırın kubectl get pods . Bir dakika kadar sonra kümenizde ek podlar kullanılabilir:
kubectl get pods -n default
Name READY STATUS RESTARTS AGE
azure-vote-back-6bdcb87f89-g2pqg 1/1 Running 0 31m
azure-vote-front-84c8bf64fc-cdq86 1/1 Running 0 31m
azure-vote-front-84c8bf64fc-56h64 1/1 Running 0 80s
azure-vote-front-84c8bf64fc-djkp8 1/1 Running 0 80s
azure-vote-front-84c8bf64fc-jmmvs 1/1 Running 0 80s
azure-vote-front-84c8bf64fc-znc6z 1/1 Running 0 80s
Sonraki Adımlar
Kümenizi ve uygulamanızı izlemek için Azure İzleyici kullanma