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
4. Adım: Hizmetleri doğrulama
İlerleme durumunu izlemek için kubectl get services komutunu parametresiyle --watch
kullanın:
kubectl get services
Başlangıçta, EXTERNAL-IP
hizmet için azure-vote-front
olarak pending
gö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 -ServiceIPRangeSize
dağı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:
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
3. Adım: Örnek hizmetin çalıştığını doğrulayın
kubectl get services
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-AksEdgeNodeAddr
komutu kullanarak Kubernetes düğümünün IP'sini alın:
Get-AksEdgeNodeAddr -NodeType Windows
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:
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