Alibaba Cloud CLI, Alibaba Cloud OpenAPI üzerine kurulu bir yönetim aracıdır ve Alibaba Cloud hizmetlerini yönetmek için OpenAPI işlemlerini çağırmanıza olanak tanır. Bu öğreticide, bir ölçeklendirme grubundaki ECS örneklerinde kademeli bir güncelleme görevi çalıştırmak için Alibaba Cloud CLI kullanırsınız. Ayrıca, güncelleme beklendiği gibi tamamlanmadığında kademeli güncelleme görevinin nasıl geri alınacağını da öğrenirsiniz.
Önkoşullar
Alibaba Cloud CLI yüklüdür. Daha fazla bilgi için bkz. Alibaba Cloud CLI belgeleri içindeki kurulum kılavuzu.
Bir ölçeklendirme grubu oluşturulmuş ve ölçeklendirme grubuna ECS örnekleri eklenmiştir.
(Yalnızca örnek görüntülerinin güncellenmesi durumunda geçerlidir) Ölçeklendirme grubunun örnek yapılandırma kaynağı bir ölçeklendirme yapılandırmasıdır.
(Yalnızca bir OOS paketi yüklenmesi durumunda geçerlidir) ECS örneklerine yüklemek istediğiniz OOS paketleri önceden OOS'te oluşturulmuştur. Daha fazla bilgi için bkz. Özel uzantıları toplu iş olarak yönetin.
Arka plan bilgileri
Kademeli güncelleme, birden çok ECS örneğinin yapılandırmalarını toplu işler halinde günceller. Alibaba Cloud CLI'den bir kademeli güncelleme görevi çalıştırdığınızda, görev bir Operation Orchestration Service (OOS) genel şablonunun yürütülmesi olarak gerçekleşir. Daha fazla bilgi için bkz. Kademeli güncellemeler.
Senaryolar
Bu öğreticide üç ardışık aşama ve yalnızca gerektiğinde çalıştıracağınız bir koşullu geri alma dalı bulunur. Her kademeli güncelleme senaryosu, bir OOS genel şablonunun yürütülmesi olarak gerçekleşir. Her senaryonun kullandığı şablon parametreleri için aşağıdaki referanslara bakın:
Adım 1: RAM kullanıcı oluşturun ve izin verin
Resource Access Management (RAM) konsolunda oturum açın.
-
Bir RAM kullanıcı oluşturun.
Bu adımda örnek kullanıcı olarak example adlı bir RAM kullanıcı kullanılır. Daha fazla bilgi için bkz. RAM kullanıcı oluşturma.
Sol gezinme bölmesinde IdentitiesUsers seçeneğini belirleyin.
Create User öğesini tıklayın.
-
Create User sayfasında kullanıcı yapılandırmalarını belirtin ve ardından OK öğesini tıklayın.
Aşağıdaki tabloda örnek yapılandırmalar açıklanmaktadır.
Yapılandırma öğesi
Örnek yapılandırma
Logon Name
example@sample.com
Display name
example
Access Mode
Using permanent AccessKey to access seçeneğini belirleyin. API'ler veya diğer geliştirme araçları aracılığıyla Alibaba Cloud'a erişmenize olanak tanıyan bir AccessKey çifti RAM kullanıcı için otomatik olarak oluşturulur. -
User Information sayfasında Download CSV File öğesini tıklayın.
NotAccessKey gizli anahtarı yalnızca oluşturulduğunda görüntülenir ve sorgulanamaz. Gizli tutun. Bir AccessKey çifti ifşa edilirse veya kaybolursa yeni bir AccessKey çifti oluşturmanız gerekir.
-
RAM kullanıcısına kaynakları yönetme izni verin.
Sol gezinme bölmesinde IdentitiesUsers seçeneğini belirleyin.
Oluşturduğunuz example RAM kullanıcısını bulun. Actions sütununda Add Permissions öğesini tıklayın.
-
İzin Ekle sayfasında kademeli güncelleme görevlerini çalıştırmak için gereken izinleri seçin ve ardından OK öğesini tıklayın.
Aşağıdaki tabloda örnek yapılandırmalar açıklanmaktadır.
Yapılandırma öğesi
Örnek yapılandırma
Resource Range
Varsayılan değer olan Account değerini koruyun.
Prensip Varsayılan değer example@sample.com olarak bırakın.
Policies
Aşağıdaki sistem ilkelerini seçin:
AliyunECSFullAccess: ECS örnekleri ve diğer ilgili kaynaklar dahil olmak üzere ECS kaynaklarını yönetme izinleri.AliyunESSFullAccess: Ölçeklendirme grupları ve diğer ilgili kaynaklar dahil olmak üzere Auto Scaling kaynaklarını yönetme izinleri.AliyunOOSFullAccess: Çalıştırmalar ve diğer ilgili kaynaklar dahil olmak üzere CloudOps Orchestration Service kaynaklarını yönetme izinleri.AliyunOSSFullAccess: Paketler ve diğer ilgili kaynaklar dahil olmak üzere Object Storage Service kaynaklarını yönetme izinleri.
Adım 2: Alibaba Cloud CLI'yı yapılandırın ve doğrulayın
Yerel bilgisayarınızda bir terminal veya komut istemi açın.
-
Alibaba Cloud CLI'yı yapılandırın.
-
Yapılandırma dosyasını açmak için aşağıdaki komutu çalıştırın:
aliyun configure -
İstendiğinde AccessKey ID, AccessKey gizli anahtarı, varsayılan bölge ve diğer bilgileri girin.

Adım 3'teki örnek komutlar bir bölge parametresi içermez. Yapılandırdığınız varsayılan bölgenin, ölçeklendirme grubunuzun bulunduğu bölge olduğundan emin olun.
-
-
Alibaba Cloud CLI'nın kullanılabilir olduğunu doğrulamak için aşağıdaki komutu çalıştırın:
aliyun ecs DescribeRegions
Diğer yapılandırma öğeleri hakkında daha fazla bilgi için bkz. Alibaba Cloud CLI belgeleri içindeki Alibaba Cloud CLI'yı yapılandırma bölümü.
Adım 3: Alibaba Cloud CLI kullanarak kademeli güncelleme görevi çalıştırın
Örnek komutlar, Linux veya macOS'taki bash gibi bir POSIX kabuğunun tırnak işareti ve satır devam ettirme kurallarını kullanır. Windows PowerShell veya Komut İstemi kullanıyorsanız, tırnak işaretlerini ve kaçış karakterlerini bu kabukla eşleşecek şekilde ayarlayın.
Tüm örnek komutlarda batchPauseOption değeri Automatic olarak ayarlanır; bu, her toplu işi duraklatmadan çalıştırır. Görevi ilk toplu iş çalıştırıldıktan sonra duraklatmak için batchPauseOption değerini FirstBatchPause olarak ayarlayın.
-
Kademeli güncelleme görevi çalıştırmak için bir Alibaba Cloud CLI komutu girin.
Örnek kodda kullanılan OOS şablon parametrelerinin açıklamaları için bkz. OOS kademeli güncelleme şablon parametreleri.
-
Aşağıdaki örnek komut, ölçeklendirme grubundaki ECS örneklerinin görüntülerini Alibaba Cloud Linux 2.1903 LTS 64-bit olarak günceller:
aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup --Parameters "{ \"invokeType\": \"invoke\", \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\", \"scalingConfigurationId\": \"asc-bp1bx8mzur534edp****\", \"imageId\": \"aliyun_2_1903_x64_20G_alibase_20200529.vhd\", \"sourceImageId\": \"centos_7_8_x64_20G_alibase_20200717.vhd\", \"OOSAssumeRole\": \"\", \"enterProcess\": [ \"ScaleIn\", \"ScaleOut\", \"HealthCheck\", \"AlarmNotification\", \"ScheduledAction\" ], \"exitProcess\": [ \"ScaleIn\", \"ScaleOut\", \"HealthCheck\", \"AlarmNotification\", \"ScheduledAction\" ], \"batchNumber\": 2, \"batchPauseOption\": \"Automatic\" }" -
Komut dosyası çalıştırma için örnek komut aşağıdadır; bu komut, ölçeklendirme grubundaki ECS örneklerinde disk ve ağ yapılandırma bilgilerini görüntülemek için
df -hveifconfigshell komutlarını çalıştırır.aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByRunCommandInScalingGroup --Parameters "{ \"invokeType\": \"invoke\", \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\", \"commandType\": \"RunShellScript\", \"invokeScript\": \"df -h\nifconfig\", \"rollbackScript\": \"df -h\nifconfig\", \"OOSAssumeRole\": \"\", \"exitProcess\": [ \"ScaleIn\", \"ScaleOut\", \"HealthCheck\", \"AlarmNotification\", \"ScheduledAction\" ], \"enterProcess\": [ \"ScaleIn\", \"ScaleOut\", \"HealthCheck\", \"AlarmNotification\", \"ScheduledAction\" ], \"batchNumber\": 2, \"batchPauseOption\": \"Automatic\" }" -
OOS paketini yükleme için örnek komut aşağıdadır; bu komut, OOS'te oluşturulan WordPress paketini ölçeklendirme grubundaki ECS örneklerine tek tip olarak yükler.
aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByConfigureOOSPackage --Parameters "{ \"invokeType\": \"invoke\", \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\", \"packageName\": \"wordpress\", \"packageVersion\": \"v4\", \"action\": \"install\", \"OOSAssumeRole\": \"\", \"enterProcess\": [ \"ScaleIn\", \"ScaleOut\", \"HealthCheck\", \"AlarmNotification\", \"ScheduledAction\" ], \"exitProcess\": [ \"ScaleIn\", \"ScaleOut\", \"HealthCheck\", \"AlarmNotification\", \"ScheduledAction\" ], \"batchNumber\": 2, \"batchPauseOption\": \"Automatic\" }"
-
-
Kademeli güncelleme görevinin sonucunu onaylamak için çalıştırma ayrıntılarını görüntüleyin.
Kademeli güncelleme görevi çalıştırmak için CLI komutunu çalıştırdığınızda OOS'te otomatik olarak bir çalıştırma oluşturulur. Dönülen çalıştırma kimliğini kullanarak çalıştırma sonucu ve çıktı gibi çalıştırma ayrıntılarını görüntüleyebilirsiniz. Aşağıdaki örnekte, bir komut dosyası çalıştırmasının çalıştırma kimliğinin nasıl bulunacağı ve çalıştırma ayrıntılarının nasıl görüntüleneceği gösterilmektedir.
-
Komut tarafından döndürülen bilgilerde kademeli güncelleme görevinin çalıştırma kimliğini bulun.
Aşağıdaki şekilde örnek bir çalıştırma kimliği gösterilmektedir.

-
Örnek çalıştırma kimliğini kendi kimliğinizle değiştirin ve ardından çalıştırma ayrıntılarını görüntülemek için aşağıdaki Alibaba Cloud CLI komutunu çalıştırın:
aliyun oos ListExecutions --ExecutionId exec-40e2e17ef7e04****
-
Kademeli güncelleme görevini geri alın: Kademeli Güncellemeler Sırasında Anormallikleri İşleme
Kademeli güncelleme işlemi sırasında bir özel durum oluşursa veya kademeli güncellemeden sonra önceki yapılandırmayı kullanmanız gerekirse, ölçeklendirme grubundaki ECS örneklerinin yapılandırmasını geri yüklemek için bir geri alma görevi çalıştırabilirsiniz. Bu adım, zaten çalıştırılmış olan bir kademeli güncelleme görevinin nasıl geri alınacağını gösteren bir örnek komut sağlar.
-
Komut tarafından döndürülen bilgilerde kademeli güncelleme görevinin çalıştırma kimliğini bulun.
Aşağıdaki şekilde örnek bir çalıştırma kimliği gösterilmektedir.

-
Geri alma görevi çalıştırmak için bir Alibaba Cloud CLI komutu girin.
Örnek kodda kullanılan OOS şablon parametrelerinin açıklamaları için bkz. Referans: OOS şablon parametreleri.
NotBir geri alma görevi çalıştırdığınızda OOS, geri alınacak ECS örneklerini filtreleme ve ölçeklendirme süreçlerini askıya alma ile yeniden başlatma gibi işlemleri kademeli güncelleme görevine göre otomatik olarak gerçekleştirir. Bu nedenle, bazı parametreleri belirtmeyi atlayabilirsiniz.
-
Aşağıdaki örnek komut, ECS örneklerinin görüntülerini CentOS 7.8 64-bit sürümüne geri alır:
aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup --Parameters "{ \"invokeType\": \"rollback\", \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\", \"scalingConfigurationId\": \"asc-bp1bx8mzur534edp****\", \"sourceImageId\": \"centos_7_8_x64_20G_alibase_20200717.vhd\", \"sourceExecutionId\": \"exec-83dba59be77d430****\", \"OOSAssumeRole\": \"\", \"batchNumber\": 2, \"batchPauseOption\": \"Automatic\" }" -
Geri alma komut dosyası çalıştırma için örnek komut aşağıdadır; bu komut, ECS örneklerinde geri alma komut dosyasını çalıştırır. Burada Shell komutları
df -hveifconfigyine örnek olarak kullanılmıştır ve komut dosyasını ihtiyaca göre değiştirebilirsiniz.aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByRunCommandInScalingGroup --Parameters "{ \"invokeType\": \"rollback\", \"commandType\": \"RunShellScript\", \"rollbackScript\": \"df -h\nifconfig\", \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\", \"sourceExecutionId\": \"exec-40e2e17ef7e046****\", \"OOSAssumeRole\": \"\", \"batchNumber\": 2, \"batchPauseOption\": \"Automatic\" }" -
OOS paketinin yüklenmesini geri almak için örnek komut aşağıdadır; bu komut, OOS'te oluşturulan WordPress paketinin önceki sürümünü ECS örneklerine tek tip olarak yükler.
aliyun oos StartExecution --TemplateName ACS-ESS-RollingUpdateByConfigureOOSPackage --Parameters "{ \"invokeType\": \"rollback\", \"scalingGroupId\": \"asg-bp18p2yfxow2dloq****\", \"packageVersion\": \"v3\", \"packageName\": \"wordpress\", \"sourceExecutionId\": \"exec-f4e61f2f21fe490****\", \"OOSAssumeRole\": \"\", \"batchNumber\": 2, \"batchPauseOption\": \"Automatic\" }"
-
-
Geri alma görevinin sonucunu onaylamak için çalıştırma ayrıntılarını görüntüleyin.
Geri alma görevi çalıştırmak için CLI komutunu çalıştırdığınızda OOS'te de otomatik olarak bir çalıştırma oluşturulur. Adım 3'teki adımları izleyerek çalıştırma sonucu ve çıktı gibi çalıştırma ayrıntılarını görüntüleyebilirsiniz.
Referans: OOS şablon parametreleri
Bu bölümde, örnek komutlarda kullanılan OOS genel şablonlarının parametreleri listelenmektedir.
ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup
Parametre | Açıklama |
invokeType | Görev türü. Geçerli değerler:
|
scalingGroupId | Görevin çalıştırıldığı ölçeklendirme grubunun kimliği. |
scalingConfigurationId | Ölçeklendirme grubunda etkin olan ölçeklendirme yapılandırmasının kimliği. |
imageId | Mevcut görüntüyü değiştirmek için kullanılan görüntünün kimliği. |
sourceImageId | Geri alma için kullanılan görüntünün kimliği. |
OOSAssumeRole | Görevi çalıştırmak için kullanılan RAM rolü. Varsayılan değer: OOSServiceRole. |
enterProcess | Görev başladığında askıya alınan ölçeklendirme süreçleri. |
exitProcess | Görev sona erdiğinde yeniden başlatılması gereken ölçeklendirme süreçleri. |
batchNumber | Görev çalıştırılırken ölçeklendirme grubundaki ECS örneklerinin ayrıldığı toplu iş sayısı. Her toplu iş en az bir ECS örneği içerir. |
batchPauseOption | Görev çalıştırma için duraklatma ayarı. Geçerli değerler:
|
sourceExecutionId | Bir geri alma görevi çalıştırılırken kaynak kademeli güncelleme görevinin çalıştırma kimliği. |
Daha fazla parametre açıklamasını OOS konsolunda da görüntüleyebilirsiniz. Örneğin, China (Hangzhou) bölgesi için bkz. ACS-ESS-RollingUpdateByReplaceSystemDiskInScalingGroup.
ACS-ESS-RollingUpdateByRunCommandInScalingGroup
Parametre | Açıklama |
invokeType | Görev türü. Geçerli değerler:
|
scalingGroupId | Görevin çalıştırıldığı ölçeklendirme grubunun kimliği. |
commandType | Çalıştırılacak komut dosyası türü. RunShellScript değeri bir shell komut dosyasını belirtir. |
invokeScript | Kademeli güncelleme görevi çalıştırılırken ECS örneklerinde çalıştırılan komut dosyası. |
rollbackScript | Geri alma görevi çalıştırılırken ECS örneklerinde çalıştırılan komut dosyası. |
OOSAssumeRole | Görevi çalıştırmak için kullanılan RAM rolü. Varsayılan değer: OOSServiceRole. |
enterProcess | Görev başladığında askıya alınan ölçeklendirme süreçleri. |
exitProcess | Görev sona erdiğinde yeniden başlatılması gereken ölçeklendirme süreçleri. |
batchNumber | Görev çalıştırılırken ölçeklendirme grubundaki ECS örneklerinin ayrıldığı toplu iş sayısı. Her toplu iş en az bir ECS örneği içerir. |
batchPauseOption | Görev çalıştırma için duraklatma ayarı. Geçerli değerler:
|
sourceExecutionId | Bir geri alma görevi çalıştırılırken kaynak kademeli güncelleme görevinin çalıştırma kimliği. |
Daha fazla parametre açıklamasını OOS konsolunda da görüntüleyebilirsiniz. Örneğin, China (Hangzhou) bölgesi için bkz. ACS-ESS-RollingUpdateByRunCommandInScalingGroup.
ACS-ESS-RollingUpdateByConfigureOOSPackage
Parametre | Açıklama |
invokeType | Görev türü. Geçerli değerler:
|
scalingGroupId | Görevin çalıştırıldığı ölçeklendirme grubunun kimliği. |
packageName | Paketin adı. |
packageVersion | Paketin sürümü. |
action | Paketi yapılandırmak için kullanılan yöntem. Geçerli değerler:
Varsayılan değer: install. |
OOSAssumeRole | Görevi çalıştırmak için kullanılan RAM rolü. Varsayılan değer: OOSServiceRole. |
enterProcess | Görev başladığında askıya alınan ölçeklendirme süreçleri. |
exitProcess | Görev sona erdiğinde yeniden başlatılması gereken ölçeklendirme süreçleri. |
batchNumber | Görev çalıştırılırken ölçeklendirme grubundaki ECS örneklerinin ayrıldığı toplu iş sayısı. Her toplu iş en az bir ECS örneği içerir. |
batchPauseOption | Görev çalıştırma için duraklatma ayarı. Geçerli değerler:
|
sourceExecutionId | Bir geri alma görevi çalıştırılırken kaynak kademeli güncelleme görevinin çalıştırma kimliği. |
Daha fazla parametre açıklamasını OOS konsolunda da görüntüleyebilirsiniz. Örneğin, China (Hangzhou) bölgesi için bkz. ACS-ESS-RollingUpdateByConfigureOOSPackage.