Aracılığıyla paylaş


Uygulama dağıtma

Bu makalede Kubernetes kümenizde kapsayıcılı bir uygulamanın nasıl dağıtılacağı açıklanır.

Önkoşullar

Başlamak için tek makineli Kubernetes veya tam Kubernetes kümenizi ayarlayın.

Örnek bir Linux uygulaması dağıtma

1. Adım: Bildirim dosyasını güncelleştirme

Bu makalede, Microsoft'un azure-vote-front görüntüsünü temel alan bir ön ve arka uç içeren basit bir oylama uygulaması olan örnek bir uygulama kullanılmaktadır. Bu uygulamanın kapsayıcı görüntüsü Azure Container Registry (ACR) üzerinde barındırılır. Dağıtım bildirimi için GitHub depo paketindeki linux-sample.yaml dosyasına bakın. YAML'de Linux olarak bir nodeSelector etiket belirttik.

2. Adım: Uygulamayı dağıtma

Uygulamanızı dağıtmak için kubectl apply komutunu kullanın. Bu komut, bildirim dosyasını ayrıştırır ve tanımlanmış Kubernetes nesnelerini oluşturur. Aşağıdaki örnekte gösterildiği gibi YAML bildirim dosyasını belirtin:

kubectl apply -f  https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml

3. Adım: Podları doğrulama

Podların çalışır durumda olması için birkaç dakika bekleyin:

kubectl get pods -o wide

Çalışan Linux podlarını gösteren ekran görüntüsü.

4. Adım: Hizmetleri doğrulama

İlerleme durumunu izlemek için kubectl get services komutunu parametresiyle --watch kullanın:

kubectl get services

Çalışan Linux hizmetlerini gösteren ekran görüntüsü.

Başlangıçta, EXTERNAL-IP hizmet için azure-vote-front olarak pendinggösterilir. EXTERNAL-IP Adres yerine pending gerçek bir genel IP adresine geçtiğinde, hizmete atanan IP adresini kullanabilirsiniz.

Önemli

Tek makine kümelerinde Kubernetes kümenizi belirtmeden -ServiceIPRangeSizedağıttıysanız, iş yükü hizmetleriniz için IP'ler ayırmamış olursunuz ve bir dış IP adresiniz olmaz. Bu durumda, Linux VM'nizin IP adresini bulun (Get-AksEdgeNodeAddr):

Get-AksEdgeNodeAddr -NodeType Linux

Artık dış bağlantı noktasını VM'nin IP adresine ekleyebilirsiniz (örneğin, 192.168.1.12:30432).

5. Adım: Uygulamanızı test etme

Uygulamayı uygulamada görmek için, hizmetinizin dış IP adresine bir web tarayıcısı açın:

Çalışan Linux uygulamalarını gösteren ekran görüntüsü.

Uygulama yüklenmiyorsa, bunun nedeni görüntü kayıt defterinizdeki yetkilendirme sorunu olabilir. Kapsayıcılarınızın durumunu görüntülemek için kubectl get pods komutunu kullanın. Kapsayıcı görüntüleri alınamıyorsa bkz. Azure Kubernetes Service Azure Container Registry ile kimlik doğrulaması yapma.

6. Adım: uygulamayı kaldırma

Temizlemek için aşağıdaki komutu kullanarak tüm kaynakları silin:

kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml

Kümenize örnek bir Windows uygulaması dağıtma

Bu örnek , Microsoft'un örnek görüntüsünü temel alan bir örnek ASP.NET uygulaması çalıştırır. Bkz. win-sample.yaml. YAML, etiketi Windows olarak belirtirnodeSelector.

1. Adım: YAML bildiriminizin adını belirterek uygulamayı dağıtma

PowerShell penceresinde YAML dizininde olduğunuzdan emin olun ve aşağıdaki komutu çalıştırın:

kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml

2. Adım: Örnek pod'un çalıştığını doğrulayın

Pod'un İnternet bağlantınıza bağlı olarak çalışma durumuna ulaşması biraz zaman alabilir. ASP.NET görüntü büyük:

kubectl get pods -o wide

Çalışan Windows podlarını gösteren ekran görüntüsü.

3. Adım: Örnek hizmetin çalıştığını doğrulayın

kubectl get services

Çalışan Windows hizmetlerini gösteren ekran görüntüsü.

Bu örnek NodePort türünde bir hizmet olarak dağıtıldığından, uygulamanın üzerinde çalıştığı Kubernetes düğümünün IP adresini alabilir ve ardından NodePort'un bağlantı noktasını ekleyebilirsiniz. Aşağıdaki Get-AksEdgeNodeAddrkomutu kullanarak Kubernetes düğümünün IP'sini alın:

Get-AksEdgeNodeAddr -NodeType Windows

Windows küme bilgilerini gösteren Screesnhot.

4. Adım: Çalışan Windows örneğinizi doğrulama

Bir web tarayıcısı açın ve hizmetinize erişmek için NodePort'u bulun:

Windows uygulamasının çalıştığını gösteren ekran görüntüsü.

5. Adım: temizleme

Temizlemek için aşağıdaki komutu kullanarak tüm kaynakları silin:

kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml

Kendi uygulamalarınızı dağıtma

Önceki adımlarda örnek uygulamalarımızı nasıl dağıtabileceğiniz gösterildi. Kendi uygulamanızı dağıtmak için aşağıdakileri yapın:

  • Uygulamanızı bir kapsayıcı görüntüsüne paketleyin ve ardından görüntüyü Azure Container Registry veya seçtiğiniz bir kapsayıcı kayıt defterine yükleyin. Uygulamanızın kapsayıcı görüntüsünü oluşturmak için bu adımları gözden geçirin.

  • AKS Edge Essentials, karma işletim sistemi kümelerini etkinleştirir. Podlarınızın ilgili işletim sistemine sahip düğümlerde zamanlanmış olduğundan emin olun. Dağıtım dosyalarınıza ekleyin nodeSelector . Bu seçenek Kubernetes'e podlarınızı belirli bir işletim sisteminin (OS) düğümlerinde çalıştırmasını bildirir. Kümeniz tek işletim sistemiyse bu adımı atlayabilirsiniz; ancak en iyi uygulama için her dağıtım dosyasını düğüm seçicilerle etiketleyin:

    nodeSelector:
        "kubernetes.io/os": linux
    
    nodeSelector:
        "kubernetes.io/os": windows
    

Sonraki adımlar