Öğretici - Azure Kubernetes Service (AKS) kümesiyle PaaS hizmetlerini kullanma
Kubernetes ile uygulamalarınızı geliştirmek ve çalıştırmak için Azure Service Bus gibi PaaS hizmetlerini kullanabilirsiniz.
Yedinin beşinci bölümü olan 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 ihtiyaç duyarsı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. 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=eastus RAND=$RANDOM RG_NAME=myResourceGroup AKS_NAME=myAKSCluster SB_NS=sb-store-demo-$RAND
Azure Service Bus ad alanı ve kuyruğu oluşturma
Önceki öğreticilerde, tarafından gönderilen siparişleri depolamak için bir RabbitMQ kapsayıcısı order-service
kullandınız. Bu öğreticide, uygulama içindeki Service Bus kaynakları için bir kapsam kapsayıcısı sağlamak üzere bir 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 bkz . Azure Service Bus ad alanı ve kuyruğu oluşturma.
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
ve
az servicebus queue authorization-rule keys list
komutlarını kullanarakaz servicebus namespace show
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
komutunu kullanarak kümenize bağlanacak şekilde
az aks get-credentials
yapılandırınkubectl
.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
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
kubectl get service
hizmetin dış IP adresinistore-front
alın.kubectl get service store-front
kullanarak
http://<external-ip>
tarayıcınızda hizmetin dış IP adresinestore-front
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'ın altında Kuyruklar'ı ve ardından sipariş kuyruğu'na tıklayın.
- Siparişler kuyruğunda Service Bus Gezgini'ni seçin.
- Gönderdiğiniz siparişi görüntülemek için baştan göz at'ı 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