Hızlı başlangıç: Azure portal kullanarak bir Azure Kubernetes hizmeti (AKS) kümesi dağıtma

Azure Kubernetes hizmeti (AKS), kümelerinizi hızlı bir şekilde dağıtmanıza ve yönetmenize olanak tanıyan bir yönetilen Kubernetes hizmetidir. Bu hızlı başlangıçta şunları yapmanız gerekir:

  • Azure portal kullanarak bir AKS kümesi dağıtın.
  • Kümede bir Web ön ucu ve bir Redsıs örneği ile çok kapsayıcılı bir uygulama çalıştırın.
  • Uygulamanızı çalıştıran kümenin ve yığınların sistem durumunu izleyin.

Azure Vote örnek uygulamasına göz atma görüntüsü

Bu hızlı başlangıç, Kubernetes kavramlarının temel olarak bilindiğini varsayar. Daha fazla bilgi için bkz. Azure Kubernetes hizmeti (AKS) Için Kubernetes temel kavramları.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önkoşullar

https://portal.azure.com adresinden Azure portalında oturum açın.

AKS kümesi oluşturma

  1. Azure portalı menüsünde veya Giriş sayfasında Kaynak oluştur’u seçin.

  2. Kapsayıcılar > Kubernetes Hizmeti seçeneklerini belirleyin.

  3. Temel Bilgiler sayfasında aşağıdaki seçenekleri yapılandırın:

    • Project ayrıntıları:
      • Bir Azure Aboneliği seçin.
      • Myresourcegroup gibi bir Azure kaynak grubu seçin veya oluşturun.
    • Küme ayrıntıları:
      • Önceden ayarlanmış yapılandırmanın Standart ($ $) olduğundan emin olun. Önceden ayarlanmış yapılandırmalar hakkında daha fazla ayrıntı için Azure Portal küme yapılandırması önayarları' na bakın.
      • Kubernetes kümesi adı alanına myAKSCluster gibi bir ad girin.
      • AKS kümesi için bir bölge ve Kubernetes sürümü seçin.
    • Birincil düğüm havuzu:
      • Varsayılan değerleri seçili bırakın.

    AKS kümesi oluşturma - temel bilgileri sağlama

    Not

    Kümenizi oluştururken, tüm önceden ayarlanmış yapılandırmaları göster ' i seçerek ve farklı bir seçenek belirleyerek, önceden ayarlanmış yapılandırmayı değiştirebilirsiniz. AKS kümesi oluşturma-Portal önceden ayarlanmış seçenekleri

  4. İleri ' yi seçin: tamamlandığında düğüm havuzları .

  5. Varsayılan düğüm havuzları seçeneklerini saklayın. Ekranın alt kısmındaki İleri: kimlik doğrulama' ya tıklayın.

    Dikkat

    Yeni oluşturulan Azure AD hizmet sorumluları, yaymak ve kullanılabilir hale gelmesi birkaç dakika sürebilir ve bu, Azure portal "hizmet sorumlusu bulunamadı" hatalarına ve doğrulama hatalarına neden olabilir. Bu çarpmaya ulaşırsanız, lütfen azaltma için sorun giderme makalemizi ziyaret edin.

  6. Kimlik Doğrulaması sayfasında aşağıdaki seçenekleri yapılandırın:

    • Yeni küme kimliğini şunlardan biriyle oluşturun:
      • Kimlik doğrulama alanından, sistem tarafından açılan yönetilen kimlikle veya
      • Hizmet sorumlusu kullanmak için hizmet sorumlusu seçme.
        • Varsayılan hizmet sorumlusu oluşturmak için (yeni) varsayılan hizmet sorumlusu ' nı seçin veya
        • Mevcut bir tane kullanmak için hizmet sorumlusu Yapılandır ' ı seçin. Mevcut sorumlu SPN istemci KIMLIĞINI ve gizli anahtarını sağlamanız gerekir.
    • AKS kümenizde dağıtılan Kubernetes kaynaklarına erişim üzerinde daha ayrıntılı denetim sağlamak için Kubernetes rol tabanlı erişim denetimi (Kubernetes RBAC) seçeneğini etkinleştirin.

    Varsayılan olarak, temel ağ kullanılır ve kapsayıcılar Için Azure izleyici etkindir.

  7. Doğrulama tamamlandığında İncele ve oluştur’a ve sonra Oluştur’a tıklayın.

  8. AKS kümesinin oluşturulması birkaç dakika sürer. Dağıtımınız tamamlandığında, kaynağına aşağıdakilerden birini yapın:

    • Kaynağa Git ' e tıklayın veya

    • AKS kümesi kaynak grubuna göz atma ve AKS kaynağını seçme.

      • Örnek başına küme panosu: Myresourcegroup için göz atma ve Myakscluster kaynağı seçme.

      Azure portalda örnek AKS panosu

Kümeye bağlanma

Bir Kubernetes kümesini yönetmek için Kubernetes komut satırı istemcisini ( kubectl) kullanın. kubectl Azure Cloud Shell kullanıyorsanız, zaten yüklüdür.

  1. >_Azure Portal en üstündeki düğmeyi kullanarak Cloud Shell açın.

    Azure Cloud Shell'i portalda açma

    Not

    Yerel bir kabuk yüklemesinde bu işlemleri gerçekleştirmek için:

    1. Azure CLı 'nın yüklü olduğunu doğrulayın.
    2. komut aracılığıyla Azure 'a Bağlan az login .
  2. kubectl Az aks Get-Credentials komutunu kullanarak Kubernetes kümenize bağlanacak şekilde yapılandırın. Aşağıdaki komut, kimlik bilgilerini indirir ve Kubernetes CLı 'yi bunları kullanacak şekilde yapılandırır.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  3. kubectl getKüme düğümlerinin bir listesini döndürmek için kullanarak kümenizin bağlantısını doğrulayın.

    kubectl get nodes
    

    Çıktı, önceki adımlarda oluşturulan tek düğümü gösterir. Düğüm durumunun Ready olduğundan emin olun:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-agentpool-12345678-vmss000000   Ready    agent   23m   v1.19.11
    aks-agentpool-12345678-vmss000001   Ready    agent   24m   v1.19.11
    

Uygulamayı çalıştırma

Bir Kubernetes bildirim dosyası, hangi kapsayıcı görüntülerinin çalıştırılacağı gibi kümenin istenen durumunu tanımlar.

Bu hızlı başlangıçta, Azure oy uygulamasını çalıştırmak için gerekli tüm nesneleri oluşturmak için bir bildirim kullanacaksınız. Bu bildirim iki Kubernetes dağıtımı içerir:

  • Örnek Azure oyunu Python uygulamaları.
  • Redsıs örneği.

İki Kubernetes hizmeti de oluşturulur:

  • Redsıs örneği için bir iç hizmet.
  • Azure oy uygulamasına internet 'ten erişmek için bir dış hizmet.
  1. Cloud Shell, adlı bir dosya oluşturmak için bir düzenleyici kullanın azure-vote.yaml , örneğin:

    • code azure-vote.yaml
    • nano azure-vote.yamlveya
    • vi azure-vote.yaml.
  2. Aşağıdaki YAML tanımına kopyalayı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:
            "kubernetes.io/os": linux
          containers:
          - name: azure-vote-back
            image: mcr.microsoft.com/oss/bitnami/redis:6.0.8
            env:
            - name: ALLOW_EMPTY_PASSWORD
              value: "yes"
            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:
            "kubernetes.io/os": linux
          containers:
          - name: azure-vote-front
            image: mcr.microsoft.com/azuredocs/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
    
  3. Komutunu kullanarak uygulamayı dağıtın kubectl apply ve YAML bildirimin adını belirtin:

    kubectl apply -f azure-vote.yaml
    

    Çıktıda başarıyla oluşturulan dağıtımlar ve hizmetler gösterilmektedir:

    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ığında, bir Kubernetes hizmeti, uygulamanın ön ucuna internet 'e koyar. Bu işlemin tamamlanması birkaç dakika sürebilir.

İlerlemeyi izlemek için kubectl get service komutunu --watch bağımsız değişkeniyle birlikte kullanın.

kubectl get service azure-vote-front --watch

Hizmetin dış IP çıkışı azure-vote-front Başlangıçta Beklemede olarak gösterilir.

NAME               TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
azure-vote-front   LoadBalancer   10.0.37.27   <pending>     80:30572/TCP   6s

Dış IP adresi bekliyor durumundan gerçek ortak IP adresine değiştiğinde, CTRL-C izleme işlemini durdurmak için kullanın kubectl . Aşağıdaki örnek çıktıda, hizmete atanmış geçerli bir genel IP adresi gösterilmektedir:

azure-vote-front   LoadBalancer   10.0.37.27   52.179.23.131   80:30572/TCP   2m

Azure oy uygulamasını çalışırken görmek için, hizmetinizin dış IP adresine bir Web tarayıcısı açın.

Azure Vote örnek uygulamasına göz atma görüntüsü

Sistem durumunu ve günlükleri izleme

Kümeyi oluşturduğunuzda, kapsayıcılar için Azure Izleyici etkinleştirilmiştir. Kapsayıcılar için Azure izleyici, küme üzerinde çalışan aks kümesi ve pod 'ler için sistem durumu ölçümleri sağlar.

Ölçüm verileri Azure portal doldurmanız birkaç dakika sürer. Azure oyları için geçerli sistem durumu, çalışma süresi ve kaynak kullanımını görmek için:

  1. Azure portal AKS kaynağına geri gidin.
  2. sol taraftaki izleme altında Analizler' yi seçin.
  3. Üst kısmında + Filtre Ekle' yi seçin.
  4. Özellik olarak ad alanı ' nı seçin ve ardından öğesini seçin <All but kube-system> .
  5. Bunları görüntülemek için kapsayıcıları seçin.

azure-vote-back azure-vote-front Aşağıdaki örnekte gösterildiği gibi, ve kapsayıcıları görüntülenir:

AKS'de çalışan kapsayıcıların durumunu görüntüleme

Pod günlüklerini görüntülemek için azure-vote-front öğesinin üst kısmından azure-vote-front Log Analytics'te görüntüle'yi | Sağ tarafta genel bakış alanı. Bu günlükler, kapsayıcıdaki stdout ve stderr akışlarını içerir.

AKS'deki kapsayıcı günlüklerini görüntüleme

Kümeyi silme

Azure ücretlerini önlemek için gereksiz kaynaklarınızı temizleyin. AKS kümesi panosunda Sil düğmesini seçin. Aşağıdaki komutta az aks delete komutunu da Cloud Shell:

az aks delete --resource-group myResourceGroup --name myAKSCluster --no-wait

Not

Kümeyi sildiğinizde, AKS kümesi tarafından kullanılan Azure Active Directory hizmet sorumlusu kaldırılmaz. Hizmet sorumlusunu kaldırma adımları için bkz. AKS hizmet sorumlusuyla ilgili önemli noktalar ve silme.

Yönetilen kimlik kullandıysanız, kimlik platform tarafından yönetilir ve kaldırılmasını gerektirmez.

Kodu alma

Bu hızlı başlangıçta kubernetes dağıtımı oluşturmak için önceden var olan kapsayıcı görüntüleri kullanılmıştır. İlgili uygulama kodu, Dockerfile ve Kubernetes bildirim dosyası GitHub.

Sonraki adımlar

Bu hızlı başlangıçta bir Kubernetes kümesi dağıttın ve ardından bu kümeye çok kapsayıcılı bir uygulama dağıttın. AKS kümenizin Kubernetes web panosuna erişin.

Uygulama oluşturma, Azure Container Registry'den dağıtma, çalışan bir uygulamayı güncelleştirme ve kümenizi ölçeklendirme ve yükseltme gibi eksiksiz bir örnekten geçerek AKS hakkında daha fazla bilgi edinmek için Kubernetes kümesi öğreticisi ile devam edin.