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.
Kubernetes ile uygulamalarınızı geliştirmek ve çalıştırmak için Azure Service Bus gibi PaaS hizmetlerini kullanabilirsiniz.
Bu öğreticide, uygulamanızı test etmek için bir Azure Service Bus ad alanı ve kuyruğu oluşturacaksınız. Şunları yapmayı öğreneceksiniz:
- Azure Service Bus ad alanı ve kuyruğu oluşturun.
- Azure Service Bus kuyruğunun kullanılması için Kubernetes bildirim dosyasını güncelleştirin.
- Bir sipariş vererek güncelleştirilmiş uygulamayı test edin.
Başlamadan önce
Önceki öğreticilerde bir uygulamayı kapsayıcı görüntüsüne paketlediyseniz, görüntüyü Azure Container Registry'ye yüklediyseniz, bir Kubernetes kümesi oluşturdunuz ve bir uygulama dağıttınız. Bu öğreticiyi tamamlamak için önceden oluşturulmuş aks-store-quickstart.yaml
Kubernetes bildirim dosyasına sahip olmalısınız. Bu dosya indirme işlemi önceki bir öğreticide uygulama kaynak koduna eklenmiştir. Depoyu kopyaladığınızdan ve dizinleri kopyalanan depoya değiştirdiğinizden emin olun. Eğer bu adımları tamamlamadıysanız ve takip etmek istiyorsanız, Öğretici 1 - AKS için uygulama hazırlama ile başlayın.
Bu öğretici için Azure CLI sürüm 2.34.1 veya üzeri gerekir. Sürümü bulmak için az --version
komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.
Ortam değişkenlerini oluşturma
Bu öğreticideki komutlar için kullanılacak aşağıdaki ortam değişkenlerini oluşturun:
LOC_NAME=westus2 RAND=$RANDOM RG_NAME=myResourceGroup AKS_NAME=myAKSCluster SB_NS=sb-store-demo-$RAND
Azure Service Bus ad alanı ve kuyruk oluşturma
Önceki öğreticilerde, order-service
tarafından gönderilen siparişleri depolamak için bir RabbitMQ kapsayıcısı kullandınız. Bu öğreticide, uygulamadaki Service Bus kaynakları için kapsayıcı bir alan oluşturmak amacıyla Azure Service Bus ad alanı kullanırsınız. Uygulama bileşenleri arasında ileti göndermek ve almak için bir Azure Service Bus kuyruğu da kullanırsınız. Azure Service Bus hakkında daha fazla bilgi için Azure Service Bus ad alanı ve kuyruğu oluşturma sayfasına bakın.
komutunu kullanarak
az servicebus namespace create
bir Azure Service Bus ad alanı oluşturun.az servicebus namespace create --name $SB_NS --resource-group $RG_NAME --location $LOC_NAME
komutunu kullanarak
az servicebus queue create
bir Azure Service Bus kuyruğu oluşturun.az servicebus queue create --name orders --resource-group $RG_NAME --namespace-name $SB_NS
komutunu kullanarak
az servicebus queue authorization-rule create
bir Azure Service Bus yetkilendirme kuralı oluşturun.az servicebus queue authorization-rule create \ --name sender \ --namespace-name $SB_NS \ --resource-group $RG_NAME \ --queue-name orders \ --rights Send
az servicebus namespace show
veaz servicebus queue authorization-rule keys list
komutlarını kullanarak daha sonra kullanmak üzere Azure Service Bus kimlik bilgilerini alın.az servicebus namespace show --name $SB_NS --resource-group $RG_NAME --query name -o tsv az servicebus queue authorization-rule keys list --namespace-name $SB_NS --resource-group $RG_NAME --queue-name orders --name sender --query primaryKey -o tsv
Kubernetes bildirim dosyasını güncelleştirme
kubectl
,az aks get-credentials
komutunu kullanarak kümenize bağlanacak şekilde yapılandırın.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
aks-store-quickstart.yaml
dosyasını bir metin düzenleyicisinde açın.Mevcut
rabbitmq
StatefulSet, ConfigMap ve Service bölümlerini kaldırın ve mevcutorder-service
Dağıtım bölümünü aşağıdaki içerikle değiştirin:apiVersion: apps/v1 kind: Deployment metadata: name: order-service spec: replicas: 1 selector: matchLabels: app: order-service template: metadata: labels: app: order-service spec: nodeSelector: "kubernetes.io/os": linux containers: - name: order-service image: <REPLACE_WITH_YOUR_ACR_NAME>.azurecr.io/aks-store-demo/order-service:latest ports: - containerPort: 3000 env: - name: ORDER_QUEUE_HOSTNAME value: "<REPLACE_WITH_YOUR_SB_NS_HOSTNAME>" # Example: sb-store-demo-123456.servicebus.windows.net - name: ORDER_QUEUE_PORT value: "5671" - name: ORDER_QUEUE_TRANSPORT value: "tls" - name: ORDER_QUEUE_USERNAME value: "sender" - name: ORDER_QUEUE_PASSWORD value: "<REPLACE_WITH_YOUR_SB_SENDER_PASSWORD>" - name: ORDER_QUEUE_NAME value: "orders" - name: FASTIFY_ADDRESS value: "0.0.0.0" resources: requests: cpu: 1m memory: 50Mi limits: cpu: 75m memory: 128Mi startupProbe: httpGet: path: /health port: 3000 failureThreshold: 5 initialDelaySeconds: 20 periodSeconds: 10 readinessProbe: httpGet: path: /health port: 3000 failureThreshold: 3 initialDelaySeconds: 3 periodSeconds: 5 livenessProbe: httpGet: path: /health port: 3000 failureThreshold: 5 initialDelaySeconds: 3 periodSeconds: 3
Not
API anahtarları gibi hassas bilgilerin Kubernetes bildirim dosyalarınıza doğrudan eklenmesi güvenli değildir ve yanlışlıkla kod depolarına işlenebilir. Kolaylık olması için buraya ekledik. Üretim iş yüklerinde, Azure Service Bus ile kimlik doğrulaması yapmak veya gizli dizilerinizi Azure Key Vault'ta depolamak için Yönetilen Kimlik'i kullanın.
Güncelleştirilmiş
aks-store-quickstart.yaml
dosyayı kaydedin ve kapatın.
Güncelleştirilmiş uygulamayı dağıtma
komutunu kullanarak güncelleştirilmiş uygulamayı dağıtın
kubectl apply
.kubectl apply -f aks-store-quickstart.yaml
Aşağıdaki örnek çıktıda başarıyla güncelleştirilen kaynaklar gösterilmektedir:
deployment.apps/order-service configured service/order-service unchanged deployment.apps/product-service unchanged service/product-service unchanged deployment.apps/store-front configured service/store-front unchanged
Uygulamayı test etme
Örnek sipariş verme
komutunu kullanarak
store-front
hizmetin dış IP adresinikubectl get service
alın.kubectl get service store-front
Tarayıcınızda
http://<external-ip>
kullanarakstore-front
hizmetinin dış IP adresine gidin.Bir ürün seçip Sepete ekle'yi seçerek sipariş verme.
Siparişinizi görüntülemek için Sepet'i ve ardından Alışverişi Tamamla'yı seçin.
Azure Service Bus kuyruğundaki sırayı görüntüleme
- Azure portalına gidin ve daha önce oluşturduğunuz Azure Service Bus ad alanını açın.
- Varlıklar altında Kuyruklar'ı seçin ve ardından siparişler kuyruğunu seçin.
- Siparişler kuyruğunda Service Bus Gezgini'ni seçin.
- Siparişinizi görüntülemek için Baştan Göz At seçeneğini seçin.
Sonraki adımlar
Bu öğreticide, örnek uygulamayı güncelleştirmek ve test etmek için Azure Service Bus'ı kullandınız. Şunları öğrendiniz:
- Azure Service Bus ad alanı ve kuyruğu oluşturun.
- Azure Service Bus kuyruğunun kullanılması için Kubernetes bildirim dosyasını güncelleştirin.
- Bir sipariş vererek güncelleştirilmiş uygulamayı test edin.
Sonraki öğreticide AKS'de bir uygulamanın nasıl ölçeklendirileceğinizi öğreneceksiniz.
Azure Kubernetes Service