Bu konu, Alibaba Cloud DevOps ile kurulum ve ana bilgisayar dağıtımında karşılaşılan yaygın sorunları ve çözümlerini açıklar.
Ana bilgisayar aracı sorunları — Flow Runner
Flow Runner sorunlarında sorun giderme
Özel derleme makineleri için ana bilgisayar dağıtımları veya ortam sağlama ile ilgili sorunlarda sorun gidermeden önce makinedeki Flow Runner durumunu kontrol edin.
Tanılama aracını kullanma
Bu araç yalnızca Linux sistemlerini destekler.
-
Aracı indirin:
wget "https://rdc-public-software.oss-cn-hangzhou.aliyuncs.com/runner/runnerStatusCheck" -O runnerStatusCheck -
Çalıştırma izinlerini verin:
chmod u+x runnerStatusCheck -
Aracı çalıştırın:
./runnerStatusCheck -
Aşağıdaki örnekte gösterildiği gibi aracın çıktısındaki talimatları izleyin.
[INFO] prepare to check disk check disk output Filesystem Size Used Avail Use% Mounted on /dev/root 99G 59G 36G 62% / devtmpfs 3.7G 0 3.7G 0% /dev tmpfs 3.7G 0 3.7G 0% /dev/shm tmpfs 3.7G 600K 3.7G 1% /run tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup tmpfs 748M 0 748M 0% /run/user/0 [INFO] prepare to check runner status RunnerService: runner-v0.0.7-be-1fy1ifhg1ylcvqv7rwinqpgh.service status is active running RunnerService: runner-v0.0.7-be-3n5goas4jkp3clmcaopzeebj.service status is active running RunnerService: runner-v0.0.7-be-6fcm3z72s2fsnrkcjl7pbpsa.service status is not running , please exeute 'systemctl restart runner-v0.0.7-be-6fcm3z72s2fsnrkcjl7pbpsa.service ' to restart runner service RunnerService: runner-v0.0.7-be-7srpetjhkcy40btoontpsy8a.service status is not running , please exeute 'systemctl restart runner-v0.0.7-be-7srpetjhkcy40btoontpsy8a.service ' to restart runner service RunnerService: runner-v0.0.7-be-7ypo76lza21lljapgp5xtopi.service status is active running RunnerService: runner-v0.0.7-be-9zouh99ta6ycx2dq3iggekk9.service status is not running , please exeute 'systemctl restart runner-v0.0.7-be-9zouh99ta6ycx2dq3iggekk9.service ' to restart runner service RunnerService: runner-v0.0.7-be-ao81clhgw56bo0jopj5jgwn3.service status is active running RunnerService: runner-v0.0.7-be-bn9wuh8n4kiba0aa0a8dcirb.service status is active running RunnerService: runner-v0.0.7-be-fsr2gvdefe5yxl3nyijp36d3.service status is active running RunnerService: runner-v0.0.7-be-haphfbrhuudbxkzwpcuhn0hk.service status is not running , please exeute 'systemctl restart runner-v0.0.7-be-haphfbrhuudbxkzwpcuhn0hk.service ' to restart runner service RunnerService: runner-v0.0.7-be-mwkcqcv2hbwozrwmmczopzgm.service status is active running RunnerService: runner-v0.0.7-be-qdiyjifmn0bbkafobtfpkrst.service status is not running , please exeute 'systemctl restart runner-v0.0.7-be-qdiyjifmn0bbkafobtfpkrst.service ' to restart runner service RunnerService: runner-v0.0.7-be-qx6gaxojjjpzeblor692hrwk.service status is active running RunnerService: runner-v0.0.7-be-s5f7tixziynazefazqhls9ob.service status is active running RunnerService: runner-v0.0.7-be-uwdlmn516wd8emqebhgqwq6x.service status is active running RunnerService: runner-v0.0.7-be-xjmxrlbzrtksuafv4oyg8qtf.service status is active running Check runner service status finished.
Manuel sorun giderme
-
Linux sürümünüzün desteklendiğini kontrol edin.
Linux dağıtımınızı kontrol etmek için
lsb_release -akomutunu çalıştırın. Birleşik Flow Runner aşağıdaki Linux dağıtımlarını destekler:CentOS 6+
Ubuntu 16.04+
Alibaba Cloud Linux 2/3
-
Flow Runner hizmet durumunu ve günlüklerini kontrol edin.
Hizmet adını bulmak için
ls -al /etc/systemd/system | grep runnerkomutunu çalıştırın. Hizmet adı genellikle runner-{version}-{tenant-name}.service biçimindedir.[root@ecs-for-batch-deploy-1 ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 8.2.2004 (Core) Release: 8.2.2004 Codename: Core [root@ecs-for-batch-deploy-1 ~]# ls -al /etc/systemd/system | grep runner -rw-r--r-- 1 root root 550 Oct 11 10:50 runner-v0.xxx.service [root@ecs-for-batch-deploy-1 ~]#Hizmet durumunu kontrol etmek için
systemctl status runner-{version}-{tenant-name}.servicekomutunu çalıştırın. Durum active (running) ise hizmet doğru şekilde çalışıyor demektir.Release: 8.2.2004 Codename: Core [root@ecs-for-batch-deploy-1 ~]# ls -al /etc/systemd/system | gr -rw-r--r-- 1 root root 550 Oct 11 10:50 runner-v0.0.5-be-bnyxxx...yt.service [root@ecs-for-batch-deploy-1 ~]# systemctl status runner-v0.0.5-be-bnyxxx...yt.service ● runner-v0.0.5-be-bnxxx...yt.service - Aliyun yunxiao runner polling jo Loaded: loaded (/etc/systemd/system/runner-v0.xxx...yt.service) Active: active (running) since Tue 2022-10-11 10:50:56 CST; 2h ago Main PID: 1405243 (runner) Tasks: 10 (limit: 48875) Memory: 13.6M CGroup: /system.slice/runner-v0.0.5-be-brxxx...yt.service └─1405243 /usr/local/share/yunxiao-runner/v0.0.5/runner run --configPath=/r... Oct 11 11:01:03 ecs-for-batch-deploy-1 runner[1405243]: INFO[2022-10-11T11:01:03+08:00] Oct 11 11:01:03 ecs-for-batch-deploy-1 runner[1405243]: INFO[2022-10-11T11:01:03+08:00] Oct 11 11:01:18 ecs-for-batch-deploy-1 runner[1405243]: WARN[2022-10-11T11:01:18+08:00]Gerçek zamanlı yürütme günlüklerini görüntülemek için
journalctl -u runner-{version}-{tenant-name}.service -a --no-pager --since '5 minutes ago' -fkomutunu çalıştırın.
Bölge genelinde dağıtım hataları
İnternet üzerinden coğrafi bölgeler arasında (örneğin Çin'in Hong Kong bölgesinden Malezya'ya) dağıtım yaparken ağ gecikmesi veya kararsızlığı nedeniyle dağıtım hataları oluşabilir.
Flow Runner durumunu ve disk alanını kontrol etmenin yanı sıra aşağıdakileri de doğrulayın:
Hedef ana bilgisayardan Alibaba Cloud DevOps hizmet uç noktasına ağ gecikmesini ve paket kaybını test etmek için
pingveyatraceroutekullanın.Ağ kararsızsa güvenilirliği artırmak için ağ bağlantısını optimize etmeyi veya özel bölge genelinde bağlantı kullanmayı düşünün.
Derleme veya dağıtım sırasında günlük oluşturulmuyor veya ana bilgisayar çevrimdışı
Ana bilgisayarın diskinin dolu olup olmadığını kontrol etmek için
df -hlçalıştırın. Doluysa alan boşaltın ve tekrar deneyin.-
Flow Runner hizmet durumunu kontrol edin. Durum
active(running)değilse aşağıdaki adımları izleyerek hizmeti yeniden başlatın:-
Hizmet adını alın. Biçim şöyledir:
runner-{version}-{tenant-name}.service.systemctl | grep "runner-v" | awk '{print $1}' -
Aşağıdaki komutta
$SERVICE_NAMEifadesini hizmet adıyla değiştirin ve Flow Runner hizmetini yeniden başlatmak için çalıştırın.systemctl restart $SERVICE_NAME
-
-
Ağ bağlantısı sorunlarını kontrol edin.
-
Flow Runner hizmet durumunu sorgulamak ve aşağıda gösterildiği gibi
--configPathparametresini bulmak içinsystemctl status runner-{version}-{tenant-name}.serviceçalıştırın:[root@ecs-for-batch-deploy-1 ~]# systemctl status runner-v0.0.5-be-bnyxxx1llzpci0q606yt.service ● runner-v0.0.5-be-xxx...yt.service - Aliyun yunxiao runner polling jobs to execute Loaded: loaded (/etc/systemd/system/runner-v0.0.5-be-bxxx...yt.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2022-10-11 10:50:56 CST; 41min ago Main PID: 1405243 (runner) Tasks: 10 (limit: 48875) Memory: 13.7M CGroup: /system.slice/runner-v0.0.5-be-bnyxxx...yt.service └─1405243 /usr/local/share/yunxiao-runner/v0.0.5/runner run --configPath=/root/yunxiao/be-bnykv60t831llzpci0q606yt/runner/config Oct 11 11:31:46 ecs-for-batch-deploy-1 runner[1405243]: INFO[2022-10-11T11:31:46+08:00] [runner] no new job, skip. runner=9e7073c92b2fa8b35bc0efd3eec051f8 Oct 11 11:31:46 ecs-for-batch-deploy-1 runner[1405243]: INFO[2022-10-11T11:31:46+08:00] counter current: 0, limit: 50 Oct 11 11:32:01 ecs-for-batch-deploy-1 runner[1405243]: WARN[2022-10-11T11:32:01+08:00] Response status code: 204 body data: Oct 11 11:32:01 ecs-for-batch-deploy-1 runner[1405243]: INFO[2022-10-11T11:32:01+08:00] POST /api/v2/builds/request, time spent 15.07 s Oct 11 11:32:01 ecs-for-batch-deploy-1 runner[1405243]: INFO[2022-10-11T11:32:01+08:00] [runner] no new job, skip. runner=9e7073c92b2fa8b35bc0efd3eec051f8 Oct 11 11:32:01 ecs-for-batch-deploy-1 runner[1405243]: INFO[2022-10-11T11:32:01+08:00] counter current: 0, limit: 50 Oct 11 11:32:16 ecs-for-batch-deploy-1 runner[1405243]: WARN[2022-10-11T11:32:16+08:00] ... -
ConfigPath içindeki URL'yi görüntülemek için
cat {PATH_TO_CONFIG}/config.yml | grep urlçalıştırın.[root@ecs-for-batch-deploy-1 config]# cat /root/yunxiao/be-bnykv60t83lllzpci0q606yt/runner/config/config.yml | grep url url: https://xxx.com [root@ecs-for-batch-deploy-1 config]# -
URL erişilebilirliğini kontrol etmek için aşağıdaki komutu çalıştırın.
# Note: Replace {url} in the command below with your actual URL. curl '{url}/api/v2/runner/storage/latest?os=linux&arch=amd64'
-
Ana bilgisayar dağıtımı MachineGroupNotHaveMachine hatasıyla başarısız oluyor
Bu hata dağıtım grubunda kullanılabilir makine olmadığını gösterir bu nedenle dağıtım görevi hedef ana bilgisayara gönderilemez.
Bu sorunu gidermek için:
Alibaba Cloud DevOps konsolunda işlem hattı için dağıtım görevi yapılandırmasına gidin ve ilişkili dağıtım grubunda makine olup olmadığını kontrol edin. Dağıtım grubu boşsa önce hedef ana bilgisayarları ekleyin.
Dağıtım grubunda zaten makine varsa bunların çevrimiçi olduğunu doğrulayın. Bir makine çevrimdışıysa sunucuda oturum açın Runner hizmet durumunu kontrol edin ve hizmeti yeniden başlatın.
Dağıtım grubunda kullanılabilir çevrimiçi makinelerin bulunduğunu onayladıktan sonra dağıtım görevini yeniden tetikleyin.
Çok düğümlü bir dağıtımda başlatma sırasında hizmetlere gelen isteklerden kaynaklanan hataları nasıl önlerim?
Alibaba Cloud DevOps dağıtımlar sırasında yerleşik trafik kontrolü sağlamaz. Trafiği yönetmek ve isteklerin henüz başlatılmakta olan hizmetlere ulaşmasını önlemek için aşağıdaki yaklaşımı kullanın:
Ana bilgisayarlarınızı iki ana bilgisayar grubuna ayırın ve işlem hattında sıralı dağıtımlar yapılandırın. Bu dağıtım sırasını kontrol eder ve biri güncellenmeden önce diğer grubun tamamen kullanılabilir olmasını sağlar.
Ağ geçidi düzeyinde istek engellemeyi kullanın veya Application Load Balancer (ALB) ile yönlendirme kurallarını yapılandırarak trafiği hala başlatılmakta olan düğümlerden uzaklaştırın.