Auto Scaling kullanarak ECS örneklerini, Cloud Assistant üzerinden kaydedilen yönetilen örneklerle (Alibaba Cloud dışı sunucular) birlikte yönetin. Yönetilen örneklere CloudMonitor aracısını yükleyin, bunları bir ölçeklendirme grubuna ekleyin. Auto Scaling tüm örnekleri merkezi olarak izler ve ölçüm verilerine göre ECS örneklerini otomatik olarak ölçeklendirir.
Önkoşullar
Bir Alibaba Cloud hesabınız olmalıdır. Hesabınız yoksa bir Alibaba Cloud hesabı oluşturun.
Genel internet erişimine sahip bir Alibaba Cloud dışı sunucu.
Senaryolar
Durumsuz uygulamaları Alibaba Cloud dışı sunucularda çalıştırıyor ve önemli trafik dalgalanmaları nedeniyle manuel ölçeklendirmede zorlanıyorsanız bu çözümü kullanın.
Alibaba Cloud dışı sunucuları yönetilen örnek olarak kaydettikten ve bir ölçeklendirme grubuna ekledikten sonra Auto Scaling tüm örnekleri izler. Ölçüm değişikliklerine göre ECS örneklerini otomatik olarak ölçeklendirir:
Trafik yoğunluğu sırasında artan yükü karşılamak için ECS örneklerini otomatik olarak yatay genişletin.
Trafik durgunluğu sırasında maliyetleri düşürmek için ECS örneklerini otomatik olarak yatay daraltın.
Kavramlar
Temel kavramlar:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yordam
1. Adım: Alibaba Cloud dışı örnekleri kaydedin
Kaydetmek için Alibaba Cloud dışı sunucuları hazırlayın. Bu örnekte üç sunucu kullanılmaktadır. yönetilen örnekler.
-
Bir aktivasyon kodu oluşturun.
ECS konsolunda yönetilen örnekler için bir aktivasyon kodu oluşturun, bir yükleme betiği oluşturup kaydedin. 1. Adım: Aktivasyon kodu oluşturma.
Linux (.deb)sistemi için örnek yükleme betiği:# Download the Cloud Assistant agent .deb package. sudo wget https://aliyun-client-assist.oss-accelerate.aliyuncs.com/linux/aliyun_assist_latest.deb # Install the latest version of the Cloud Assistant agent. sudo dpkg -i aliyun_assist_latest.deb # Register the managed instance. sudo aliyun-service --register --RegionId "cn-hangzhou" \ --ActivationCode "a-hz011wm7BNH3JnTMyx22****VJ6d" \ --ActivationId "A4C23294-D8E9-5591-87A2-CCA2****2AC9" -
Cloud Assistant aracısını yükleyin ve yönetilen örnekleri kaydedin.
Her bir Alibaba Cloud dışı sunucuda yükleme betiğini çalıştırarak Cloud Assistant aracısını yükleyin ve sunucuyu yönetilen örnek olarak kaydedin.
Bir Alibaba Cloud dışı sunucuda oturum açın.
-
Yükleme betiğini yapıştırın ve çalıştırın. Bu işlem Cloud Assistant aracısını yükler ve sunucuyu yönetilen örnek olarak kaydeder. Sistem otomatik olarak bir örnek kimliği atar.
Cloud Assistant aracısını indirip yüklemek ve ardından aktivasyon kodunu kullanarak yönetilen örneği kaydetmek için aşağıdaki komutları çalıştırın. Kayıt başarılı olduğunda yönetilen örnek kimliği döndürülür (örneğin,
mi-hzxxx...xxx134).$ sudo wget https://aliyun-client-assist.oss-accelerate.aliyuncs.com/linux/aliyun_assist_latest.deb --2023-07-24 15:33:07-- https://aliyun-client-assist.oss-accelerate.aliyuncs.com/linux/aliyun_assist_latest.deb Resolving aliyun-client-assist.oss-accelerate.aliyuncs.com (aliyun-client-assist.oss-accelerate.aliyuncs.com)... 1xxx.xxx.xxx.xxx6 Connecting to aliyun-client-assist.oss-accelerate.aliyuncs.com (aliyun-client-assist.oss-accelerate.aliyuncs.com)|1xxx.xxx.xxx.xxx6|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 36237058 (35M) [application/octet-stream] Saving to: 'aliyun_assist_latest.deb' aliyun_assist_latest.deb 100%[============================================================>] 2023-07-24 15:33:09 (16.2 MB/s) – 'aliyun_assist_latest.deb' saved [36237058/36237058] $ sudo dpkg -i aliyun_assist_latest.deb Selecting previously unselected package aliyun-assist. (Reading database ... 72699 files and directories currently installed.) Preparing to unpack aliyun_assist_latest.deb ... Unpacking aliyun-assist (2.2.3.421) ... Setting up aliyun-assist (2.2.3.421) ... install linux aliyun-assist at /usr/local/share/aliyun-assist/2.2.3.421 ... install assist ok start assist ok need to install assist_daemon create ok start ok $ sudo aliyun-service --register --RegionId "cn-hangzhou" \ > --ActivationCode "a-hzxxx...xxxVi" \ > --ActivationId "3DC2F9xxx...xxxA667" register ok instance id: mi-hzxxx...xxx134 restart service
-
Yönetilen örnekleri görüntüleyin.
Kayıttan sonra ECS konsolundaki ECS Cloud Assistant sayfasına gidin. Manage Instances sekmesinde örnek kimliklerini not edin. Bu örnekte üç örnek Test-01, Test-02 ve Test-03 olarak adlandırılmıştır.
NotYönetilen örneklerin kimlikleri
mi-ile, ECS örneklerinin kimlikleri isei-ile başlar.
2. Adım: CloudMonitor aracısını yükleyin
Bir yönetilen örnekte oturum açın.
-
CloudMonitor aracısını yüklemek için aşağıdaki komutu çalıştırın:
ARGUS_VERSION=3.5.9.11 /bin/bash -c "$(curl -s https://cloudmonitor-agent.oss-cn-hangzhou.aliyuncs.com/Argus/agent_install_necs-1.8.sh)" -
CloudMonitor aracısının durumunu kontrol etmek için aşağıdaki komutu çalıştırın:
ps aux | grep argusagent | grep -v grepAşağıdaki çıktı, kurulumun başarılı olduğunu gösterir.
root 12590 0.0 0.1 33440 6924 ? Ss 15:55 0:00 /usr/local/cloudmonitor/bin/argusagent -d root 12592 0.0 0.4 850972 16096 ? Sl 15:44 0:00 /usr/local/cloudmonitor/bin/argusagentNotKurulumu CloudMonitor konsolunun Ana Bilgisayar İzleme sayfasından da doğrulayabilirsiniz. Bu sayfada yönetilen örnek için CPU kullanımı, bellek kullanımı ve disk kullanımı görüntülenir.
3. Adım: Yönetilen örnekleri bir ölçeklendirme grubuna ekleyin
Önemli
Başlamadan önce:
Ölçeklendirme grubunuz için uygun izleme ölçümlerini seçin ve olay tetiklemeli görevler oluşturun. Olay tetiklemeli görevlere genel bakış.
Bir ölçeklendirme grubu hem ECS hem de yönetilen örnekler içeriyorsa olay tetiklemeli görevler tüm örneklerden gelen toplam ölçümleri kullanır. Yönetilen örnekler yalnızca aracı tabanlı ölçümleri desteklediğinden olay tetiklemeli görevleriniz için aracı tabanlı ölçümler kullanın.
Yönetilen örnekler bir ölçeklendirme grubuna yalnızca manuel olarak eklenebilir veya gruptan çıkarılabilir. Çıkarıldıklarında serbest bırakılmazlar.
Yordam
-
Bir ölçeklendirme grubu oluşturun.
Yalnızca ECS türündeki ölçeklendirme grupları yönetilen örnekleri destekler. Bir ECS türü ölçeklendirme grubu oluşturun (örneğin,
Scalinggroup_ecs). Ölçeklendirme grubu oluşturma. -
Bir ölçeklendirme yapılandırması oluşturun ve etkinleştirin.
-
Ölçeklendirme grubunu etkinleştirin.
Ölçeklendirme grubunu etkinleştirme veya devre dışı bırakma.
-
Ölçeklendirme kuralları oluşturun.
İki basit ölçeklendirme kuralı oluşturun. Ölçeklendirme kuralı oluşturma.
Yatay genişletme kuralı (Add1): Bir ECS örneği ekleyen ölçeklendirme kuralı.
Yatay daraltma kuralı (Reduce1): Bir ECS örneği kaldıran ölçeklendirme kuralı.
-
Olay tetiklemeli görevler oluşturun.
Ortalama CPU kullanımını %40 ile %60 arasında tutmak için (Agent) CPU Utilization ölçümünü kullanan iki olay tetiklemeli görev oluşturun. Olay tetiklemeli görev yapılandırma.
Yatay genişletme görevi (ScaleOutAlarm): (Agent) CPU Utilization ölçümü için koşulu Average >= %60 olarak ayarlayın ve görevi yatay genişletme kuralıyla (Add1) ilişkilendirin. Grubun ortalama CPU kullanımı %60 veya daha yüksek olduğunda bir ECS örneği eklenir.
Yatay daraltma görevi (ScaleInAlarm): (Agent) CPU Utilization ölçümü için koşulu Average <= %40 olarak ayarlayın ve görevi yatay daraltma kuralıyla (Reduce1) ilişkilendirin. Grubun ortalama CPU kullanımı %40 veya daha düşük olduğunda bir ECS örneği kaldırılır.
-
Üç yönetilen örneği ölçeklendirme grubuna manuel olarak ekleyin.
ÖnemliBir ölçeklendirme grubundaki yönetilen örnekler yalnızca manuel olarak eklenebilir veya çıkarılabilir.
Ölçeklendirme grubunun ayrıntılar sayfasında Instance Management sekmesini tıklayın.
Managed Instance sekmesinde Add Instance seçeneğini tıklayın.
Görüntülenen Add Instance iletişim kutusunda eklemek istediğiniz örnekleri seçin ve ardından
simgesini tıklayın.-
Are you sure that you want to add seçeneğini tıklayın.
Eklenen örnekleri Managed Instance sekmesinde görüntüleyebilirsiniz. Durum In Service olarak görünüyorsa örnekler başarıyla yönetiliyor demektir.
Doğrulama
Senaryo 1: Üç boşta bekleyen yönetilen örnek içeren grup
Yönetilen örneklerde yük olmadığında ortalama CPU kullanımı %40'ın altına düşer ve ScaleInAlarm tetiklenir. Ancak Auto Scaling yönetilen örnekleri otomatik olarak kaldıramaz:
-
22:01–22:07 döneminde ortalama CPU kullanımı %40'ın altındadır. ScaleInAlarm tetiklenir ancak yürütülemez.
Olay tetiklemeli görevin ayrıntılar sayfasında
ScaleInAlarmgörevinin durumunda Alarm görünür. İlişkili yatay daraltma kuralı Reduce1'dir. İzleme grafiğinde 22:07'de CPU Kullanımı Ortalamasının yaklaşık %0,7 olduğu görülür. 22:01–22:07 döneminde sistem yatay daraltma etkinliğini reddeder ve örnek sayısı değişmez. Ayrıntılar için View Rejection Reason seçeneğini tıklayın.
Senaryo 2: Yüksek yüklü üç yönetilen örnek içeren grup
Yönetilen örneklerde CPU kullanımını yaklaşık %90 düzeyinde tutmak için bir stres testi aracı (örneğin lookbusy) kullanırsanız ortalama CPU kullanımı %60'ı aşar:
-
22:14–22:25 döneminde ortalama CPU kullanımı %60'ı aşar. ScaleOutAlarm tetiklenir ve başarıyla yürütülür.
ScaleOutAlarmolay tetiklemeli görevinin ayrıntılar sayfasında durum Normal olarak görünür. İzleme alanındaki CPU kullanımı çizgi grafiğinde stres testi başladıktan sonra ortalama CPU kullanımının yaklaşık %90'a yükseldiği, yatay genişletme etkinlikleri yürütüldükçe kademeli olarak azaldığı görülür. -
22:14–22:25 döneminde bir yatay genişletme etkinliği iki ECS örneği ekler (toplam: beş). Ortalama CPU kullanımı %40 ile %60 arasında sabitlendiğinde 22:25'ten sonra ölçeklendirme durur.
Scaling Activities sekmesinde her bir ölçeklendirme etkinliğinin yürütme durumunu ve sonuçlarını görüntüleyebilirsiniz. Başarılı yatay genişletme etkinlikleri Total Instances After Change değerini 3'ten 5'e çıkarmıştır. Geçersiz kurallar nedeniyle bazı etkinlikler Rejected (Reddedildi) olarak işaretlenmiştir (ayrıntılar için View Rejection Reason seçeneğini tıklayın).
Senaryo 3: Yönetilen örneklerde stres testini durdurma
Senaryo 2'den sonra ölçeklendirme grubunda iki ECS örneği ve ortalama CPU kullanımı %40 ile %60 arasında olan üç yönetilen örnek bulunur. Stres testinin durdurulması CPU kullanımının %40'ın altına düşmesine ve ScaleInAlarm'ın tetiklenmesine neden olur. Ancak yönetilen örnekler yalnızca manuel olarak kaldırılabilir:
22:48–22:54 döneminde bir yatay daraltma etkinliği her iki ECS örneğini de kaldırır (sayı: beşten üçe). 22:55'ten sonra CPU kullanımı %40'ın altında kalır ancak yalnızca yönetilen örnekler kaldığından sonraki yatay daraltma etkinlikleri başarısız olur.
-
22:55'ten sonra ortalama CPU kullanımı %40'ın altında kalır. Grup yalnızca manuel olarak kaldırılması gereken yönetilen örnekler içerdiğinden ScaleInAlarm tetiklenir ancak başarısız olur.
Olay tetiklemeli görevin ayrıntılar sayfasında
ScaleInAlarmgörevinin şu anda alarm durumunda olduğu görülür. Tetikleme koşulu (Agent) CPU Utilization Average ≤ %40 for 5 consecutive periods (5 ardışık dönem boyunca (Aracı) CPU Kullanımı Ortalaması ≤ %40) şeklindedir. İlişkili yatay daraltma kuralı Reduce1'dir. Alttaki izleme grafiğinde 22:51'den sonra CPU kullanımının neredeyse %0'a düştüğü ve tetikleme koşulunu sürekli olarak karşıladığı görülür.