CloudOps Orchestration Service (OOS) hakkında sıkça sorulan soruların yanıtları.
RAM kullanıcı izin hatası: Kullanıcının eylemi gerçekleştirme yetkisi yok: (ListTemplates)
Gerekli kaynaklar mevcut olmasına rağmen yürütme eylemi bulunamadı
Git deposundan uygulama derleme veya dağıtma başarısız olursa ne yapmalıyım?
DescribeInstances API işlemi hatası: SDK.UnknownServerError veya InvalidParameter
RAM kullanıcı işlem hatası: User has no permission to do the action: (ListTemplates)
Olası neden: RAM kullanıcısında gerekli izinler eksik.
-
Çözüm: Yönetici olarak veya Alibaba Cloud hesabınızla RAM konsolu üzerinde oturum açın. Hata veren RAM kullanıcısına gerekli izinleri verin. Belirli API işlemleri veya tüm API işlemleri için izin verebilirsiniz. Örneğin,
"Action": "oos:*"ifadesi tüm OOS API işlemleri için izin verir. Daha fazla bilgi için bkz. Hesap erişim kontrolü.{ "Statement": [ { "Effect": "Allow", "Action": "oos:*", "Resource": "*" } ], "Version": "1" }
RAM kullanıcı işlem hatası: User has no permission to do the action: (PassRole)
Olası neden: RAM kullanıcısında CloudOps Orchestration Service için PassRole izni eksik.
-
Çözüm: Bir Alibaba Cloud hesabı veya yönetici hesabıyla RAM konsolu üzerinde oturum açın. RAM kullanıcısına PassRole izni verin. Daha fazla bilgi için bkz. Hesap erişim kontrolü.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "*" } ] }
Şablon yürütme hatası: Assumes role failed. Code: EntityNotExist.Role, msg: The role not exists: acs:ram::111111:role/OOSServiceRole
Olası neden: OOS için varsayılan RAM rolü oluşturulmamış.
Çözüm: Bir Alibaba Cloud hesabı veya yönetici hesabıyla RAM konsolu üzerinde oturum açın. OOS hizmetiniz için OOSServiceRole adlı varsayılan RAM rolünü oluşturun. Daha fazla bilgi için bkz. OOS'e RAM izinleri verme.
Şablon yürütme hatası: Assumes role failed. Code: NoPermission, msg: You are not authorized to do this action. You should be authorized by RAM
Olası neden: OOSServiceRole RAM rolünde gerekli güven ilkesi eksik.
-
Çözüm: Bir Alibaba Cloud hesabı veya yönetici hesabıyla RAM konsolu üzerinde oturum açın ve OOSServiceRole RAM rolünü ekleyin. OOS için RAM izinlerini ayarlama.
-
RAM konsolu üzerinde oturum açın ve roller için arama kutusuna
OOSServiceNameyazın.
-
Trust Policy seçeneğine tıklayın.

-
İlkeyi değiştirin.

İlke için aşağıdaki içeriği kullanın:
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "oos.aliyuncs.com" ] } } ], "Version": "1" }
-
Şablon yürütme hatası: Code: Forbidden.RAM, Message: User not authorized to operate on the specified resource, or this API doesn't support RAM
Olası neden: Belirtilen kaynaklar için RAM kullanıcısında veya RAM rolünde izin eksik.
Çözüm: Gerekli izinleri RAM kullanıcısına veya RAM rolüne verin. Daha fazla bilgi için bkz. Şablon yürütme için gereken RAM ilkesini sorgulama, RAM kullanıcı izinlerini yönetme ve RAM rolü için izinleri yönetme.
Geçici bant genişliği yükseltme hatası: code: InvalidAccountStatus.NotEnoughBalance message: Your account does not have enough balance
Olası neden: Hesap bakiyesi yetersiz.
Çözüm: Hesabınıza bakiye yükleyin ve tekrar deneyin.
Geçici bant genişliği yükseltme hatası: code: InvalidBandwidth.ValueNotSupported message: Instance upgrade bandwidth of temporary not allow less then existed
Olası neden: Belirtilen bant genişliği mevcut bant genişliğinden düşük.
-
Çözüm:
OOS konsolunun Genel Bakış sayfasında, Elastic Compute Service (ECS) örnek kimliğine göre geçici bant genişliği yükseltme görevlerini arayın. Yinelenen bir yükseltme görevi olup olmadığını kontrol edin.

Yinelenen bir görev varsa silin.
Yinelenen bir görev yoksa ECS konsoluna gidin. Örnekler'e tıklayın, hedef örneği seçin ve Operation Records sekmesindeki yükseltme günlüklerini kontrol edin.

Geçici bant genişliği yükseltme hatası: code: OperationDenied.UnpaidOrder message: The specified instance has unpaid order
Olası neden: ECS örneğinin ödenmemiş siparişleri var.
Çözüm: Bekleyen siparişleri ödeyin.
Yaygın komut yürütme hatası: runCommand loop task fail because failures exceeded MaxErrors -> runCommand execution failed, checkInvocationResult Invocation.InvocationResults.InvocationResult[].ExitCode expect in [0] but is 1
Olası neden: Cloud Assistant komutu sıfırdan farklı bir çıkış kodu döndürdü.
Çözüm: Alt yürütme çıktısını ve günlüklerini kontrol edin. Daha fazla bilgi için bkz. Yürütme ayrıntıları.

Oluşturulan bir yürütmeyi bulamıyorsam ne yapmalıyım?
Olası neden: Yürütme başka bir bölgede.
Çözüm: Genel Bakış sayfasındaki tüm bölgelerdeki yürütmeleri görüntüleyin.

Komut hatalarını nasıl giderebilirim?
Çözüm: Yürütme sonuçlarını kontrol etme ve yaygın sorunları giderme.
Git deposundan uygulama derleme veya dağıtma başarısız olursa ne yapmalıyım?
Olası neden: Kod hataları ve bağımlılık yükleme hataları. Ayrıntılar için günlükleri kontrol edin.
-
Çözüm:
-
Derleme hataları
NotBaşarısız derlemeler ECS örnekleri oluşturmaz ve ücretlendirilmez.
-
Derleme hata günlüklerini görüntüleyin.

-
Kodu değiştirin veya bir yapılandırma dosyası ekleyin.
Programlama diliniz için kodu değiştirin veya bir yapılandırma dosyası ekleyin, ardından depoya gönderin. Belirli programlama dillerine göre uygulamaları yapılandırma.
Başarısız olan uygulama grubunu silin ve yeni bir tane oluşturun.
-
-
Dağıtım hataları
Dağıtım hata günlüklerini görüntüleyin.
-
Sorunu düzeltin ve yeniden dağıtın.

-
Uygulama dağıtımı başarılı olduktan sonra hizmete erişilemiyor
-
Uygulama başlatma gecikmesini göz ardı edin.
Uygulamanın başlatılmasını tamamlaymasını bekleyin. Hizmet yine de erişilemez durumdaysa sonraki adıma geçin.
-
ECS örneğinde oturum açın ve hizmetin çalışıp çalışmadığını kontrol edin:
sudo systemctl status aliyun-applicationmanagerÇalışıyorsa sonraki adıma geçin.
Çalışmıyorsa
docker runhataları için sistem hizmeti günlüklerini kontrol edin.
-
Konteyner günlüklerini görüntüleyin
# Find the Docker container. sudo docker ps -a | grep applicationmanager # View container logs sudo docker logs applicationmanagerDocker konteyneri çalışmıyorsa programlama diliniz için kodu veya yapılandırma dosyalarını güncelleyin ve değişiklikleri gönderin. Belirli programlama dillerine göre uygulamaları yapılandırma.
Overview sekmesinde, Quick Actions bölümünde Update Application seçeneğine tıklayarak yeniden dağıtın.
-
-
Yaygın senaryolar
Derleme hatalarından kaçınmak için önce yerel makinede Buildpacks'i hata ayıklama işlemini gerçekleştirin.
Bu yöntemler sorunu çözmezse destek talebi gönderin veya geri bildirim sağlamak için uygulama yönetimi destek DingTalk grubuna katılın (ID:
10880003624).
-
DescribeInstances API hatası: SDK.UnknownServerError veya InvalidParameter
Neden: DescribeInstances API'sine 100'den fazla örnek kimliği iletilirse InvalidParameter veya SDK.UnknownServerError (414 Request-URI Too Large) hatası döndürülür.
-
Çözüm:
-
- Name: getInstanceDescribe Action: ACS::ExecuteAPI Description: en: Query instance type Properties: Service: ECS API: DescribeInstances Parameters: InstanceIds: Fn::Jq: - All - .[].InstanceId - '{{ getInstance.instanceIds }}' Outputs: instanceIds: Type: List ValueSelector: Instances.Instance[].InstanceId -
- Name: getInstanceDescribe Description: en: Views the ECS instances. Action: ACS::SelectTargets Properties: ResourceType: ALIYUN::ECS::Instance Filters: - Type: ResourceIds ResourceIds: Fn::Jq: - All - .[].InstanceId - '{{ getInstance.instanceIds }}' Outputs: instanceIds: Type: List ValueSelector: Instances.Instance[].InstanceId
selectTargets kullanma: Kod Bloğu 1'i Kod Bloğu 2 ile değiştirin
-
OOS şablonlarında "table {{.Name}}\t{{.MemUsage}}" değişmez değerini nasıl çıktı olarak alırım
-
Neden: Aşağıdaki komutu olduğu gibi çalıştırmak istiyorsunuz:
docker stats --no-stream --format "table {{.Name}}\t{{.MemUsage}}" | sort -k2 -hr | head -n 6
OOS şablon motoru {{}} ifadelerini değişken olarak değerlendirir ve bu durum bir ayrıştırma hatasına neden olur.
-
Çözüm: Komutu aşağıdaki şekilde değiştirin:
left="{{" right="}}" docker stats --no-stream --format "table ${left}.Name${right} ${left}.MemUsage${right}" | sort -k2 -hr | head -n 6
Cloud Assistant komut hatası: 414 Request-URI Too Large
-
Neden: Komut 24 KB sınırını (Base64 kodlamasından sonra) aşıyor.
Sınırlar RunCommand - Cloud Assistant komutu oluşturma ve çalıştırma belgesinde açıklanmıştır.
Çözüm: Komutu bir OSS nesnesinde saklayın, ardından indirmek ve çalıştırmak için ossutil kullanın.