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.
Azure Kubernetes Service (AKS), kümeleri hızla dağıtmanızı ve yönetmenizi sağlayan yönetilen bir Kubernetes hizmetidir. Bu hızlı başlangıçta şunları yapacaksınız:
- Azure portalı kullanarak bir AKS kümesi dağıtın.
- Bir grup mikro hizmet ve web ön ucuyla perakende senaryosu simülasyonu yaparak örnek bir çok kapsayıcılı uygulama çalıştırın.
Not
Aks kümesini hızlı bir şekilde sağlamaya başlamak için, bu makale yalnızca değerlendirme amacıyla varsayılan ayarlarla küme dağıtma adımlarını içerir. Üretime hazır bir kümeyi dağıtmadan önce, iş gereksinimlerinizle nasıl uyumlu olduğunu göz önünde bulundurmak için temel başvuru mimarimizi tanımanızı öneririz.
Başlamadan önce
Bu hızlı başlangıç, Kubernetes kavramlarının temel olarak bilindiğini varsayar. Daha fazla bilgi için bkz . Azure Kubernetes Service (AKS) için Kubernetes temel kavramları.
- Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.
- Azure Cloud Shell'i bilmiyorsanız Azure Cloud Shell'e Genel Bakış'ı gözden geçirin.
- Kümenizi oluşturmak için kullandığınız kimliğin uygun minimum izinlere sahip olduğundan emin olun. AKS'ye erişim ve kimlik hakkında daha fazla bilgi için bkz . Azure Kubernetes Service (AKS) için erişim ve kimlik seçenekleri.
Önemli
Azure Kubernetes Service (AKS), 30 Kasım 2025'den itibaren Azure Linux 2.0 için güvenlik güncelleştirmelerini desteklemez veya sağlamaz. Azure Linux 2.0 düğüm görüntüsü, 202512.06.0 sürümünde dondurulmuştur.
31 Ekim 2026'dan itibaren düğüm görüntüleri kaldırılacak ve düğüm havuzlarınızı ölçeklendiremeyeceksiniz.
Düğüm havuzlarınızı desteklenen bir Kubernetes sürümüne yükselterek veya osSku AzureLinux3'e geçerek desteklenen bir Azure Linux sürümüne geçin. Daha fazla bilgi için Bkz. Kullanımdan Kaldırma GitHub sorunu ve Azure Güncelleştirmeleri kullanımdan kaldırma duyurusu. Duyurular ve güncelleştirmeler hakkında bilgi sahibi olmak için AKS sürüm notlarını izleyin.
AKS kümesi oluşturma
Azure Portal’ında oturum açın.
Azure portalı giriş sayfasında Kaynak oluştur'u seçin.
Kategoriler bölümünde Altyapı Hizmetleri>Azure Kubernetes Service (AKS) öğesini seçin.
Temel Bilgiler sekmesinde aşağıdaki ayarları yapılandırın:
Proje detaylarıaltında:
- Abonelik: Bu AKS kümesi için kullanmak istediğiniz Azure aboneliğini seçin.
- Kaynak grubu: Yeni oluştur'u seçin, myResourceGroup gibi bir kaynak grubu adı girin ve tamam'ı seçin. Test veya değerlendirme amacıyla mevcut bir kaynak grubunu seçebilirsiniz ancak bu kaynakları geçici olarak barındırmak ve üretim veya geliştirme iş yüklerinizi etkilemekten kaçınmak için bir kaynak grubu oluşturmanızı öneririz.
Küme ayrıntıları altında:
- Küme önceden ayarlanmış yapılandırması: Geliştirme/Test'i seçin. Önceden ayarlanmış yapılandırmalar hakkında daha fazla ayrıntı için bkz. Azure portalında küme yapılandırma ön ayarları. Kümenizi oluştururken Ön ayarları karşılaştır'ı seçip farklı bir seçenek belirleyerek önceden ayarlanmış yapılandırmayı değiştirebilirsiniz.
Kubernetes küme adı: myAKSCluster gibi bir küme adı girin.
Bölge: Doğu ABD 2 gibi bir bölge seçin.
Filo yöneticisi: Yok
Kullanılabilirlik alanları: Yok. Seçili bölgelerin seçimini kaldırın.
AKS fiyatlandırma katmanı: Ücretsiz'i seçin.
Kalan ayarlar için varsayılan değerleri bırakın ve İleri'yi seçin.
Düğüm havuzları sekmesinde aşağıdaki ayarları yapılandırın:
Düğüm havuzu ekle'yi seçin ve Sanal Makine Ölçek Kümesi düğüm havuzu ekle'yi seçin
Ad: nplinux gibi bir ad girin.
Mod: Kullanıcı'yı seçin.
İşletim sistemi SKU'su: Ubuntu Linux'u seçin.
Kullanılabilirlik alanları: Yok'a tıklayın.
Azure Spot örneklerini etkinleştir onay kutusunu işaretsiz bırakın.
Düğüm boyutu: Bir boyut seçin seçeneğini belirleyin. VM boyutu seçin sayfasında D2s_v5 arayın, bu VM boyutunu seçin ve Seç'i seçin.
Kalan ayarlar için varsayılan değerleri kullanın ve Ekle'yi seçin.
Küme yapılandırmasında doğrulamayı çalıştırmak için Gözden geçir + oluştur'u seçin. Doğrulama tamamlandıktan sonra Oluştur'u seçin.
AKS kümesinin oluşturulması birkaç dakika sürer. Dağıtımınız tamamlandığında Kaynağa git'i seçerek veya AKS kümesi kaynak grubuna göz atıp AKS kaynağını seçerek kaynağınıza gidin.
Kümeye bağlanma
Kubernetes kümelerini yönetmek için Kubernetes komut satırı istemcisini (kubectl) kullanırsınız.
kubectl Azure Cloud Shell kullanıyorsanız zaten yüklüdür. Cloud Shell'i bilmiyorsanız Azure Cloud Shell'e Genel Bakış'ı gözden geçirin.
Cloud Shell kullanıyorsanız, Azure portalının >_ üst kısmındaki düğmeyle açın. PowerShell'i yerel olarak kullanıyorsanız komutuyla Azure'a bağlanın Connect-AzAccount . Azure CLI'yi yerel olarak kullanıyorsanız, az login komutu aracılığıyla Azure'a bağlanın.
Kubernetes kümenize bağlanacak şekilde
kubectlyapılandırın; bunun içinaz aks get-credentialskomutunu kullanın. Bu komut kimlik bilgilerini indirir ve Kubernetes CLI'yi bunları kullanacak şekilde yapılandırmaktadır.az aks get-credentials --resource-group myResourceGroup --name myAKSClusterKüme düğümlerinin listesini döndürmek için
kubectl getkullanarak kümenize olan bağlantıyı doğrulayın.kubectl get nodesAşağıdaki örnekte önceki adımlarda oluşturulan tek düğüm gösterilmiştir. Düğüm durumunun Ready olduğundan emin olun.
NAME STATUS ROLES AGE VERSION aks-nodepool1-31718369-0 Ready agent 6m44s v1.15.10
Uygulamayı dağıt
AKS Store uygulamasını çalıştırmak için gereken tüm nesneleri oluşturmak için bir bildirim dosyası kullanırsınız. Kubernetes bildirim dosyası, hangi kapsayıcı görüntülerinin çalıştırıldığı gibi kümenin istenen durumunu tanımlar. Bildirim aşağıdaki Kubernetes dağıtımlarını ve hizmetlerini içerir:
- Mağaza ön: Müşterilerin ürünleri görüntülemesi ve sipariş vermesi için web uygulaması.
- Ürün hizmeti: Ürün bilgilerini gösterir.
- Sipariş hizmeti: Sipariş verir.
- Rabbit MQ: Sipariş kuyruğu için ileti kuyruğu.
Not
Üretim için kalıcı depolama alanı olmadan Rabbit MQ gibi durum bilgisi olan kapsayıcıları çalıştırmanızı önermiyoruz. Bu kapsayıcılar burada kolaylık sağlamak için kullanılır, ancak Azure Cosmos DB veya Azure Service Bus gibi yönetilen hizmetleri kullanmanızı öneririz.
Cloud Shell'de bir düzenleyici açın ve adlı
aks-store-quickstart.yamlbir dosya oluşturun.Aşağıdaki bildirimi düzenleyiciye yapıştırın:
apiVersion: apps/v1 kind: StatefulSet metadata: name: rabbitmq spec: serviceName: rabbitmq replicas: 1 selector: matchLabels: app: rabbitmq template: metadata: labels: app: rabbitmq spec: nodeSelector: "kubernetes.io/os": linux containers: - name: rabbitmq image: mcr.microsoft.com/mirror/docker/library/rabbitmq:3.10-management-alpine ports: - containerPort: 5672 name: rabbitmq-amqp - containerPort: 15672 name: rabbitmq-http env: - name: RABBITMQ_DEFAULT_USER value: "username" - name: RABBITMQ_DEFAULT_PASS value: "password" resources: requests: cpu: 10m memory: 128Mi limits: cpu: 250m memory: 256Mi volumeMounts: - name: rabbitmq-enabled-plugins mountPath: /etc/rabbitmq/enabled_plugins subPath: enabled_plugins volumes: - name: rabbitmq-enabled-plugins configMap: name: rabbitmq-enabled-plugins items: - key: rabbitmq_enabled_plugins path: enabled_plugins --- apiVersion: v1 data: rabbitmq_enabled_plugins: | [rabbitmq_management,rabbitmq_prometheus,rabbitmq_amqp1_0]. kind: ConfigMap metadata: name: rabbitmq-enabled-plugins --- apiVersion: v1 kind: Service metadata: name: rabbitmq spec: selector: app: rabbitmq ports: - name: rabbitmq-amqp port: 5672 targetPort: 5672 - name: rabbitmq-http port: 15672 targetPort: 15672 type: ClusterIP --- 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: ghcr.io/azure-samples/aks-store-demo/order-service:latest ports: - containerPort: 3000 env: - name: ORDER_QUEUE_HOSTNAME value: "rabbitmq" - name: ORDER_QUEUE_PORT value: "5672" - name: ORDER_QUEUE_USERNAME value: "username" - name: ORDER_QUEUE_PASSWORD value: "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 initContainers: - name: wait-for-rabbitmq image: busybox command: ['sh', '-c', 'until nc -zv rabbitmq 5672; do echo waiting for rabbitmq; sleep 2; done;'] resources: requests: cpu: 1m memory: 50Mi limits: cpu: 75m memory: 128Mi --- apiVersion: v1 kind: Service metadata: name: order-service spec: type: ClusterIP ports: - name: http port: 3000 targetPort: 3000 selector: app: order-service --- apiVersion: apps/v1 kind: Deployment metadata: name: product-service spec: replicas: 1 selector: matchLabels: app: product-service template: metadata: labels: app: product-service spec: nodeSelector: "kubernetes.io/os": linux containers: - name: product-service image: ghcr.io/azure-samples/aks-store-demo/product-service:latest ports: - containerPort: 3002 env: - name: AI_SERVICE_URL value: "http://ai-service:5001/" resources: requests: cpu: 1m memory: 1Mi limits: cpu: 2m memory: 20Mi readinessProbe: httpGet: path: /health port: 3002 failureThreshold: 3 initialDelaySeconds: 3 periodSeconds: 5 livenessProbe: httpGet: path: /health port: 3002 failureThreshold: 5 initialDelaySeconds: 3 periodSeconds: 3 --- apiVersion: v1 kind: Service metadata: name: product-service spec: type: ClusterIP ports: - name: http port: 3002 targetPort: 3002 selector: app: product-service --- apiVersion: apps/v1 kind: Deployment metadata: name: store-front spec: replicas: 1 selector: matchLabels: app: store-front template: metadata: labels: app: store-front spec: nodeSelector: "kubernetes.io/os": linux containers: - name: store-front image: ghcr.io/azure-samples/aks-store-demo/store-front:latest ports: - containerPort: 8080 name: store-front env: - name: VUE_APP_ORDER_SERVICE_URL value: "http://order-service:3000/" - name: VUE_APP_PRODUCT_SERVICE_URL value: "http://product-service:3002/" resources: requests: cpu: 1m memory: 200Mi limits: cpu: 1000m memory: 512Mi startupProbe: httpGet: path: /health port: 8080 failureThreshold: 3 initialDelaySeconds: 5 periodSeconds: 5 readinessProbe: httpGet: path: /health port: 8080 failureThreshold: 3 initialDelaySeconds: 3 periodSeconds: 3 livenessProbe: httpGet: path: /health port: 8080 failureThreshold: 5 initialDelaySeconds: 3 periodSeconds: 3 --- apiVersion: v1 kind: Service metadata: name: store-front spec: ports: - port: 80 targetPort: 8080 selector: app: store-front type: LoadBalancerYAML bildirim dosyalarının dökümü için bkz . Dağıtımlar ve YAML bildirimleri.
YAML dosyasını yerel olarak oluşturur ve kaydederseniz, Dosyaları Karşıya Yükle/İndir düğmesini seçip yerel dosya sisteminizden dosyayı seçerek bildirim dosyasını CloudShell'deki varsayılan dizininize yükleyebilirsiniz.
komutunu kullanarak uygulamayı dağıtın
kubectl applyve YAML bildiriminizin adını belirtin:kubectl apply -f aks-store-quickstart.yamlAşağıdaki örnek çıktı dağıtımları ve hizmetleri gösterir:
deployment.apps/rabbitmq created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created
Uygulamayı test etme
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.
komutunu kullanarak
kubectl get podsdağıtılan podların durumunu denetleyin. Devam etmeden önce tüm podlarınRunningolduğundan emin olun.kubectl get podsUygulamanın genel IP adresini
store-frontdenetleyin.kubectl get servicebağımsız değişkeniyle--watchkomutunu kullanarak ilerleme durumunu izleyin.kubectl get service store-front --watchHizmetin EXTERNAL-IP çıkışı
store-frontbaşlangıçta beklemede olarak gösterilir:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE store-front LoadBalancer 10.0.100.10 <pending> 80:30025/TCP 4h4mEXTERNAL-IP adresi pending durumundan gerçek bir genel IP adresine değiştiğinde,
CTRL-Cizleme işlemini durdurmak içinkubectlkullanı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 store-front LoadBalancer 10.0.100.10 20.62.159.19 80:30025/TCP 4h5mAzure Store uygulamasının çalıştığını görmek için hizmetinizin dış IP adresine bir web tarayıcısı açın.
Kümeyi sil
AKS öğretici serisine geçmeyi planlamıyorsanız, Azure ücretlerinden kaçınmak için gereksiz kaynakları temizleyin.
Azure portalında AKS kümenizin kaynak grubuna gidin.
Kaynak grubunu sil'i seçin.
Silinecek kaynak grubunun adını girin ve Sil'i> seçin.
Not
AKS kümesi, sistem tarafından atanan yönetilen kimlikle oluşturulmuştur. Bu kimlik platform tarafından yönetilir ve kaldırılması gerekmez.
Sonraki adımlar
Bu hızlı başlangıçta bir Kubernetes kümesi dağıttınız ve ardından bu kümeye basit, çok kapsayıcılı bir uygulama dağıttınız. Bu örnek uygulama yalnızca tanıtım amaçlıdır ve Kubernetes uygulamaları için en iyi yöntemlerin tümünü temsil etmez. Üretim için AKS ile tam çözüm oluşturma yönergeleri için bkz . AKS çözümü kılavuzu.
AKS hakkında daha fazla bilgi edinmek ve eksiksiz bir koddan dağıtım örneğine gitmek için Kubernetes kümesi öğretici serisine geçin.