(KULLANIMSIZ) Kubernetes'te bir uygulamayı güncelleştirme
İpucu
Azure Kubernetes Service kullanan bu öğreticinin güncelleştirilmiş sürümü için bkz. Öğretici: Azure Kubernetes Service'de (AKS) bir uygulamayı güncelleştirme.
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, CLI komutları ve belgeleri kullanım dışı olarak işaretlenir.
2017'de Kubernetes yönetimi, dağıtımı ve işlemlerini basitleştirmek için Azure Kubernetes Service (AKS) kullanıma sunulmuştur. Kubernetes düzenleyicisini kullanıyorsanız lütfen 31 Ocak 2020'ye kadar AKS'ye geçin. Başlamak için bkz. Azure Kubernetes Service geçiş.
Daha fazla bilgi için bkz. Azure.com'da Azure Container Service kullanımdan kaldırma duyurusu.
Bir uygulama Kubernetes’te dağıtıldıktan sonra, yeni bir kapsayıcı görüntüsü veya görüntü sürümü belirtilerek güncelleştirilebilir. Bu yapıldığında, güncelleştirme, dağıtımın yalnızca bir kısmı eşzamanlı olarak güncelleştirilecek şekilde hazırlanılır. Hazırlanan bu güncelleştirme, uygulamanın güncelleştirme sırasında çalışmaya devam etmesini sağlar. Ayrıca bir dağıtım hatası oluşursa, bir geri alma mekanizması sağlar.
Bu yedi parçalı öğreticinin altıncı bölümünde, örnek Azure Vote uygulaması güncelleştirilir. Tamamladığınız görevler şunları içerir:
- Ön uç uygulaması kodunu güncelleştirme
- Güncelleştirilmiş kapsayıcı görüntüsü oluşturma
- Kapsayıcı görüntüsünü Azure Container Registry’ye gönderme
- Güncelleştirilmiş kapsayıcı görüntüsünü dağıtma
Sonraki öğreticilerde Kubernetes kümesini izlemek için Log Analytics yapılandırılır.
Başlamadan önce
Önceki öğreticilerde, bir uygulama bir kapsayıcı görüntüsüne paketlendi, görüntü Azure Container Registry’ye yüklendi ve bir Kubernetes kümesi oluşturuldu. Ardından uygulama Kubernetes kümesinde çalıştırıldı.
Bu öğreticide ayrıca uygulama kaynak kodunu içeren bir uygulama deposu da kopyalandı ve önceden oluşturulmuş bir Docker Compose dosyası kullanıldı. Deponun bir kopyasını oluşturduğunuzu ve dizinleri kopyalanmış dizine değiştirdiğinizi doğrulayın. İçeride azure-vote
adlı bir dizin ve docker-compose.yml
adlı bir dosya bulunuyor.
Bu adımları tamamlamadıysanız ve takip etmek istiyorsanız, Öğretici 1 – Kapsayıcı görüntüleri oluşturma konusuna dönün.
Uygulamayı güncelleştirme
Bu öğreticide, uygulamada bir değişiklik yapıldı ve güncelleştirilmiş uygulama Kubernetes kümesine dağıtıldı.
Uygulama kaynak kodu azure-vote
dizininde bulunabilir. config_file.cfg
dosyasını herhangi bir kod ya da metin düzenleyici ile açın. Bu örnekte vi
kullanıldı.
vi azure-vote/azure-vote/config_file.cfg
VOTE1VALUE
ile VOTE2VALUE
değerlerini değiştirin ve sonra dosyayı kaydedin.
# UI Configurations
TITLE = 'Azure Voting App'
VOTE1VALUE = 'Blue'
VOTE2VALUE = 'Purple'
SHOWHOST = 'false'
Dosyayı kaydedin ve kapatın.
Kapsayıcı görüntüsünü güncelleştirme
Ön uç görüntüsünü yeniden oluşturmak için docker-compose’u kullanın ve güncelleştirilmiş uygulamayı çalıştırın. --build
bağımsız değişkeni, uygulama görüntüsünü yeniden oluşturmak üzere Docker Compose'a komut vermek için kullanılır.
docker-compose up --build -d
Uygulamayı yerel olarak test etme
Güncelleştirilmiş uygulamayı görüntülemek için https://localhost:8080
adresine göz atın.
Görüntüleri etiketleme ve gönderme
azure-vote-front
görüntüsünü, kapsayıcı kayıt defterinin loginServer’ıyla etiketleyin.
az acr list komutuyla oturum açma sunucusu adını alın.
az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Görüntüyü etiketlemek için docker tag’i kullanın. <acrLoginServer>
değerini, Azure Container Registry oturum açma sunucu adınız veya genel kayıt defteri ana bilgisayar adınız ile değiştirin. Ayrıca görüntü sürümünün redis-v2
değerine güncelleştirildiğine dikkat edin.
docker tag azure-vote-front <acrLoginServer>/azure-vote-front:redis-v2
Görüntüyü kayıt defterinize yüklemek için docker push’u kullanın. <acrLoginServer>
değerini, Azure Container Registry oturum açma sunucu adınız ile değiştirin.
docker push <acrLoginServer>/azure-vote-front:redis-v2
Güncelleştirilmiş uygulamayı dağıtma
En uzun çalışma süresini sağlamak için uygulama podunun birden çok örneğinin çalıştırılması gerekir. Bu yapılandırmayı kubectl get pod komutu ile doğrulayın.
kubectl get pod
Çıkış:
NAME READY STATUS RESTARTS AGE
azure-vote-back-217588096-5w632 1/1 Running 0 10m
azure-vote-front-233282510-b5pkz 1/1 Running 0 10m
azure-vote-front-233282510-dhrtr 1/1 Running 0 10m
azure-vote-front-233282510-pqbfk 1/1 Running 0 10m
azure-vote-front görüntüsünü çalıştıran birden çok podunuz yoksa, azure-vote-front
dağıtımını ölçeklendirin.
kubectl scale --replicas=3 deployment/azure-vote-front
Uygulamayı güncelleştirmek için kubectl set komutunu kullanın. <acrLoginServer>
öğesini, kapsayıcı kayıt defterinizin oturum açma sunucusu veya ana bilgisayar adıyla güncelleştirin.
kubectl set image deployment azure-vote-front azure-vote-front=<acrLoginServer>/azure-vote-front:redis-v2
Dağıtımı izlemek için kubectl get pod komutunu kullanın. Güncelleştirilmiş uygulama dağıtıldığında, podlarınız sonlandırılır ve yeni kapsayıcı görüntüsüyle yeniden oluşturulur.
kubectl get pod
Çıkış:
NAME READY STATUS RESTARTS AGE
azure-vote-back-2978095810-gq9g0 1/1 Running 0 5m
azure-vote-front-1297194256-tpjlg 1/1 Running 0 1m
azure-vote-front-1297194256-tptnx 1/1 Running 0 5m
azure-vote-front-1297194256-zktw9 1/1 Terminating 0 1m
Güncelleştirilmiş uygulamayı test etme
azure-vote-front
hizmetinin dış IP adresini alın.
kubectl get service azure-vote-front
Güncelleştirilmiş uygulamayı görüntülemek için IP adresine göz atın.
Sonraki adımlar
Bu öğreticide, bir uygulamayı güncelleştirdiniz ve bu güncelleştirmeyi bir Kubernetes kümesine sundunuz. Şu görevler tamamlandı:
- Ön uç uygulaması kodu güncelleştirildi
- Güncelleştirilmiş kapsayıcı görüntüsü oluşturuldu
- Kapsayıcı görüntüsü Azure Container Registry’ye gönderildi
- Güncelleştirilmiş uygulama dağıtıldı
Log Analytics ile Kubernetes’in nasıl izlenileceği hakkında bilgi edinmek için sonraki öğreticiye ilerleyin.