Kullanım DıŞı Linux kapsayıcıları için Kubernetes kümesi dağıtma(DEPRECATED) Deploy Kubernetes cluster for Linux containers

İpucu

Azure Kubernetes hizmetini kullanan bu hızlı başlangıçta güncelleştirilmiş sürümü için bkz. hızlı başlangıç: Azure Kubernetes hizmeti (AKS) kümesi dağıtma.For the updated version this quickstart that uses Azure Kubernetes Service, see Quickstart: Deploy an Azure Kubernetes Service (AKS) cluster.

Uyarı

Azure Container Service (ACS) kullanım dışı bırakılıyor. ACS 'ye yeni özellik veya işlevsellik eklenmiyor. Tüm API 'Ler, Portal deneyimi, CLı komutları ve belgeleri kullanım dışı olarak işaretlendi.The Azure Container Service (ACS) is being deprecated. No new features or functionality are being added to ACS. All of the APIs, portal experience, CLI commands and documentation are marked as deprecated.

2017 ' de, Kubernetes yönetimini, dağıtımını ve işlemlerini basitleştirmek için Azure Kubernetes hizmeti (AKS) tanıtıldık.In 2017, we introduced Azure Kubernetes Service (AKS) for simplifying Kubernetes management, deployment, and operations. Kubernetes Orchestrator kullanıyorsanız lütfen 31 Ocak 2020 tarihine kadar AKS 'e geçiş yapın.If you use the Kubernetes orchestrator, please migrate to AKS by January 31, 2020. Başlamak için bkz. Azure Kubernetes hizmetine geçiş.To get started, see migrate to Azure Kubernetes Service.

Daha fazla bilgi için, Azure.com adresindeki kullanım duyurusu Azure Container Servicebakın.For more information, see the Azure Container Service deprecation announcement on Azure.com.

Bu hızlı başlangıçta, Azure CLı kullanılarak bir Kubernetes kümesi dağıtılır.In this quickstart, a Kubernetes cluster is deployed using the Azure CLI. Ardından web ön ucu ve bir Redis örneğinden oluşan çok kapsayıcılı bir uygulama dağıtılıp küme üzerinde çalıştırılır.A multi-container application consisting of web front end and a Redis instance is then deployed and run on the cluster. Tamamlandığında, uygulamaya İnternet üzerinden erişilebilir.Once completed, the application is accessible over the internet.

Bu belgede kullanılan örnek uygulama Python’da yazılmıştır.The example application used in this document is written in Python. Kavramlar ve burada ayrıntıları verilen adımlar herhangi bir kapsayıcı görüntüsünü Kubernetes kümesine dağıtmak için kullanılabilir.The concepts and steps detailed here can be used to deploy any container image into a Kubernetes cluster. Kod, Dockerfile ve bu projeyle ilgili önceden oluşturulmuş Kubernetes bildirim dosyaları GitHub’da vardır.The code, Dockerfile, and pre-created Kubernetes manifest files related to this project are available on GitHub.

Azure Vote’a göz atma görüntüsü

Bu hızlı başlangıçta temel Kubernetes kavramlarını bildiğiniz varsayılmıştır. Kubernetes hakkında ayrıntılı bilgi için bkz. Kubernetes belgeleri.This quickstart assumes a basic understanding of Kubernetes concepts, for detailed information on Kubernetes see the Kubernetes documentation.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.If you don't have an Azure subscription, create a free account before you begin.

Azure Cloud Shell kullanmaUse Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı Azure Cloud Shell.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Azure hizmetleriyle çalışmak için Cloud Shell ile bash veya PowerShell kullanabilirsiniz.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Bu makaledeki kodu, yerel ortamınıza herhangi bir şey yüklemeye gerek kalmadan çalıştırmak için Cloud Shell önceden yüklenmiş komutları kullanabilirsiniz.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell başlamak için:To start Azure Cloud Shell:

SeçenekOption Örnek/bağlantıExample/Link
Kod bloğunun sağ üst köşesindeki Deneyin’i seçin.Select Try It in the upper-right corner of a code block. Dene ' nin seçilmesi, kodu Cloud Shell otomatik olarak kopyalamaz.Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell için deneme örneği
https://shell.azure.comTarayıcınızda Cloud Shell açmak için ' a gidin veya Cloud Shell Başlat düğmesini seçin.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Cloud Shell yeni bir pencerede BaşlatLaunch Cloud Shell in a new window
Azure Portalsağ üstteki menü çubuğunda Cloud Shell düğmesini seçin.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Azure portaldaki Cloud Shell düğmesi

Bu makaledeki kodu Azure Cloud Shell çalıştırmak için:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell başlatın.Start Cloud Shell.

  2. Kodu kopyalamak için bir kod bloğunda Kopyala düğmesini seçin.Select the Copy button on a code block to copy the code.

  3. Ctrl + Shift + Windows ve Linux 'ta CTRL SHIFTv ' i seçerek veya Cmd + Shift + MacOS 'ta cmd Shiftv ' i seçerek kodu Cloud Shell oturumuna yapıştırın.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Kodu çalıştırmak için ENTER ' u seçin.Select Enter to run the code.

CLI'yi yerel olarak yükleyip kullanmayı seçerseniz bu hızlı başlangıç için Azure CLI 2.0.4 veya sonraki bir sürümünü kullanmanız gerekir.If you choose to install and use the CLI locally, this quickstart requires that you are running the Azure CLI version 2.0.4 or later. Sürümü bulmak için az --version komutunu çalıştırın.Run az --version to find the version. Yükleme veya yükseltme yapmanız gerekirse bkz. Azure CLI’yı yükleme.If you need to install or upgrade, see Install the Azure CLI.

Kaynak grubu oluşturmaCreate a resource group

az group create komutuyla bir kaynak grubu oluşturun.Create a resource group with the az group create command. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği mantıksal bir gruptur.An Azure resource group is a logical group in which Azure resources are deployed and managed.

Aşağıdaki örnek westeurope konumunda myResourceGroup adlı bir kaynak grubu oluşturur.The following example creates a resource group named myResourceGroup in the westeurope location.

az group create --name myResourceGroup --location westeurope

Çıktı:Output:

{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup",
  "location": "westeurope",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Kubernetes kümesi oluşturmaCreate Kubernetes cluster

Azure Container Service’de az acs create komutuyla Kubernetes kümesi oluşturun.Create a Kubernetes cluster in Azure Container Service with the az acs create command. Aşağıdaki örnekte, bir Linux ana düğümü ve üç Linux aracı düğümüyle myK8sCluster adlı bir küme oluşturulmuştur.The following example creates a cluster named myK8sCluster with one Linux master node and three Linux agent nodes.

az acs create --orchestrator-type kubernetes --resource-group myResourceGroup --name myK8sCluster --generate-ssh-keys

Sınırlı deneme sürümünde olduğu gibi bazı durumlarda, bir Azure aboneliğinin Azure kaynaklarına sınırlı erişimi olur.In some cases, such as with a limited trial, an Azure subscription has limited access to Azure resources. Dağıtım sınırlı kullanılabilir çekirdek sayısı nedeniyle başarısız olursa, --agent-count 1 öğesini az acs create komutuna ekleyerek varsayılan aracı sayısını azaltın.If the deployment fails due to limited available cores, reduce the default agent count by adding --agent-count 1 to the az acs create command.

Birkaç dakika sonra komut tamamlanır ve küme hakkında json tarafından biçimlendirilmiş bilgiler gösterilir.After several minutes, the command completes and returns json formatted information about the cluster.

Kümeye bağlanmaConnect to the cluster

Bir Kubernetes kümesini yönetmek için Kubernetes komut satırı istemcisi kubectl’i kullanın.To manage a Kubernetes cluster, use kubectl, the Kubernetes command-line client.

Azure Cloud Shell kullanıyorsanız kubectl zaten yüklüdür.If you're using Azure Cloud Shell, kubectl is already installed. Yerel olarak yüklemek istiyorsanız az acs kubernetes install-cli komutunu kullanabilirsiniz.If you want to install it locally, you can use the az acs kubernetes install-cli command.

kubectl’i Kubernetes kümenize bağlanacak şekilde yapılandırmak için az acs kubernetes get-credentials komutunu çalıştırın.To configure kubectl to connect to your Kubernetes cluster, run the az acs kubernetes get-credentials command. Bu adım kimlik bilgilerini indirir ve Kubernetes CLI’yi bunları kullanacak şekilde yapılandırır.This step downloads credentials and configures the Kubernetes CLI to use them.

az acs kubernetes get-credentials --resource-group=myResourceGroup --name=myK8sCluster

Kümenize bağlantıyı doğrulamak için kubectl get komutunu kullanarak küme düğümleri listesini alın.To verify the connection to your cluster, use the kubectl get command to return a list of the cluster nodes.

kubectl get nodes

Çıktı:Output:

NAME                    STATUS                     AGE       VERSION
k8s-agent-14ad53a1-0    Ready                      10m       v1.6.6
k8s-agent-14ad53a1-1    Ready                      10m       v1.6.6
k8s-agent-14ad53a1-2    Ready                      10m       v1.6.6
k8s-master-14ad53a1-0   Ready,SchedulingDisabled   10m       v1.6.6

Uygulamayı çalıştırmaRun the application

Kubernetes bildirim dosyası, hangi kapsayıcı görüntülerinin çalıştırılması gerektiği de dahil olmak üzere, küme için istenen durumu tanımlar.A Kubernetes manifest file defines a desired state for the cluster, including what container images should be running. Bu örnekte, Azure Vote uygulamasını çalıştırmak için gerekli tüm nesneleri oluşturmak için bir bildirim kullanılır.For this example, a manifest is used to create all objects needed to run the Azure Vote application.

azure-vote.yml adlı bir dosya oluşturun ve dosyayı aşağıdaki YAML’ye kopyalayın.Create a file named azure-vote.yml and copy into it the following YAML. Azure Cloud Shell'de çalışıyorsanız, bu dosya bir sanal veya fiziksel sistemde olduğu gibi vi veya Nano kullanılarak oluşturulabilir.If you are working in Azure Cloud Shell, this file can be created using vi or Nano as if working on a virtual or physical system.

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: azure-vote-back
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: azure-vote-back
    spec:
      containers:
      - name: azure-vote-back
        image: redis
        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/v1beta1
kind: Deployment
metadata:
  name: azure-vote-front
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: azure-vote-front
    spec:
      containers:
      - name: azure-vote-front
        image: microsoft/azure-vote-front:v1
        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

Uygulamayı çalıştırmak için kubectl create komutunu kullanın.Use the kubectl create command to run the application.

kubectl create -f azure-vote.yml

Çıktı:Output:

deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created

Uygulamayı test etmeTest the application

Uygulama çalıştırıldığında, uygulama ön ucunu İnternet üzerinden kullanıma sunan bir Kubernetes hizmeti oluşturulur.As the application is run, a Kubernetes service is created that exposes the application front end to the internet. Bu işlemin tamamlanması birkaç dakika sürebilir.This process can take a few minutes to complete.

İlerlemeyi izlemek için, kubectl Get Service komutunu --watch bağımsız değişkeniyle birlikte kullanın.To monitor progress, use the kubectl get service command with the --watch argument.

kubectl get service azure-vote-front --watch

Başlangıçta azure-vote-front için EXTERNAL-IP durumu pending olarak görünür.Initially the EXTERNAL-IP for the azure-vote-front service appears as pending. EXTERNAL-IP adresi pending durumundan IP address değerine değiştiğinde kubectl izleme işlemini durdurmak için CTRL-C komutunu kullanın.Once the EXTERNAL-IP address has changed from pending to an IP address, use CTRL-C to stop the kubectl watch process.

azure-vote-front   10.0.34.242   <pending>     80:30676/TCP   7s
azure-vote-front   10.0.34.242   52.179.23.131   80:30676/TCP   2m

Artık Azure Vote Uygulamasını görmek için dış IP adresine göz atabilirsiniz.You can now browse to the external IP address to see the Azure Vote App.

Azure Vote’a göz atma görüntüsü

Kümeyi silmeDelete cluster

Kümeye artık ihtiyacınız yoksa az group delete komutunu kullanarak kaynak grubunu, kapsayıcı hizmetini ve ilgili tüm kaynakları kaldırabilirsiniz.When the cluster is no longer needed, you can use the az group delete command to remove the resource group, container service, and all related resources.

az group delete --name myResourceGroup --yes --no-wait

Kodu almaGet the code

Bu hızlı başlangıçta, Kubernetes dağıtımı oluşturmak için önceden oluşturulmuş kapsayıcı görüntüleri kullanılır.In this quickstart, pre-created container images have been used to create a Kubernetes deployment. İlgili uygulama kodu, Dockerfile ve Kubernetes bildirim dosyası GitHub'da bulunur.The related application code, Dockerfile, and Kubernetes manifest file are available on GitHub.

https://github.com/Azure-Samples/azure-voting-app-redis

Sonraki adımlarNext steps

Bu hızlı başlangıçta, bir Kubernetes kümesi dağıtıp ve bu kümeye çok kapsayıcılı bir uygulama dağıttınız.In this quickstart, you deployed a Kubernetes cluster and deployed a multi-container application to it.

Azure Container Service hakkında daha fazla bilgi ve dağıtım örneği için tam kod açıklaması için Kubernetes küme öğreticisine geçin.To learn more about Azure Container Service, and walk through a complete code to deployment example, continue to the Kubernetes cluster tutorial.