Bir Container Service for Kubernetes (ACK) kümesinde veya sunucusuz Kubernetes kümesinde uygulama dağıtır.
Hata Ayıklama
İstek üst bilgileri
Bu işlem yalnızca ortak istek üst bilgilerini kullanır. Daha fazla bilgi için ortak istek parametreleri konusuna bakın.
İstek sözdizimi
POST /pop/v5/k8s/acs/k8s_apps HTTP/1.1
İstek parametreleri
| Parametre | Tür | Konum | Zorunlu | Örnek | Açıklama |
| AppId | String | Query | Evet | e83acea6-****-47e1-96ae-c0e953772cdc | Uygulamanın kimliği. Uygulama kimliğini sorgulamak için ListApplication işlemini çağırabilirsiniz. |
| PreStop | String | Query | Hayır | {\"exec\":{\"command\":[\"ls\",\"/\"]}}" | Ön durdurma betiği. Örnek: Bu yapılandırmayı iptal etmek istiyorsanız bu parametreyi |
| Envs | String | Query | Hayır | [{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}] | Uygulamayı dağıtmak için kullanılan ortam değişkenleri. Değer bir JSON dizisi olmalıdır. Bu parametreyi normal ortam değişkenlerini, Kubernetes ConfigMap ortam değişkenlerini veya Kubernetes Secret ortam değişkenlerini belirtmek üzere ayarlayabilirsiniz. Normal ortam değişkenlerini aşağıdaki biçimde belirtin: {"name":"x", "value": "y"}
ConfigMap'lerden değerlere başvurmak için Kubernetes ConfigMap ortam değişkenlerini aşağıdaki biçimde belirtin: {
"name": "x2",
"valueFrom": {
"configMapKeyRef": {
"name": "my-config",
"key": "y2"
}
}
}
Secret'lardan değerlere başvurmak için Kubernetes Secret ortam değişkenlerini aşağıdaki biçimde belirtin: {
"name": "x3",
"valueFrom": {
"secretKeyRef": {
"name": "my-secret",
"key": "y3"
}
}
}
Not Bu yapılandırmayı iptal etmek istiyorsanız bu parametreyi "" biçimindeki boş bir JSON dizisine ayarlayın. |
| ImageTag | String | Query | Hayır | latest | Görüntünün etiketi. |
| BatchWaitTime | Integer | Query | Hayır | 0 | Pod'ların aşamalı olarak yayınlanması için gereken minimum zaman aralığı. Daha fazla bilgi için bkz. minReadySeconds. |
| Command | String | Query | Hayır | ls | Konteyneri başlatmak için kullanılan komut. Not Bu yapılandırmayı iptal etmek istiyorsanız bu parametreyi "" biçimindeki boş bir dizeye ayarlayın. |
| PostStart | String | Query | Hayır | {\"exec\":{\"command\":[\"ls\",\"/\"]}}" | Son başlatma betiği. Örnek: |
| Readiness | String | Query | Hayır | null | Konteyner üzerindeki hazırlık denetimi yapılandırması. Denetim başarısız olursa Kubernetes hizmeti üzerinden geçen trafik konteynere iletilmez. Örnek: |
| Liveness | String | Query | Hayır | null | Konteyner üzerindeki canlılık denetimi yapılandırması. Örnek: |
| Args | String | Query | Hayır | ["args1","args2"] | Konteyner başlatma komutundaki bağımsız değişken dizisi. Bu parametreyi |
| Replicas | Integer | Query | Hayır | 1 | Uygulama örneklerinin sayısı. Minimum değer: 0. |
| Image | String | Query | Hayır | registry-vpc.cn-beijing.aliyuncs.com/t****/app:v1 | Görüntünün mutlak URL'si. Bu parametre ayarı, ImageTag parametresinin ayarını geçersiz kılar. |
| CpuLimit | Integer | Query | Hayır | 1 | Uygulama çalışırken her bir uygulama örneği için izin verilen maksimum CPU çekirdeği sayısı. Birim: çekirdek. 0 değeri sınır olmadığını gösterir. |
| MemoryLimit | Integer | Query | Hayır | 0 | Uygulama çalışırken her bir uygulama örneği için izin verilen maksimum bellek miktarı. Birim: MB. 0 değeri sınır olmadığını gösterir. |
| CpuRequest | Integer | Query | Hayır | 0 | Uygulama çalışırken her bir uygulama örneği için talep edilen CPU çekirdeği sayısı. Bu parametreyi ayarlamanızı öneririz. Birim: çekirdek. 0 değeri sınır olmadığını gösterir. Not Bu parametreyi CpuLimit parametresiyle birlikte ayarlamalısınız. Bu parametrenin değerinin CpuLimit parametresinin değerini aşmadığından emin olun. |
| MemoryRequest | Integer | Query | Hayır | 0 | Uygulama çalışırken her bir uygulama örneği için talep edilen bellek miktarı. Bu parametreyi ayarlamanızı öneririz. Birim: MB. Bellek kotası talep etmek istemiyorsanız bu parametreyi 0 olarak ayarlayın. Not Bu parametreyi MemoryLimit parametresiyle birlikte ayarlamalısınız. Bu parametrenin değerinin MemoryLimit parametresinin değerini aşmadığından emin olun. |
| NasId | String | Query | Hayır | dfs23**** | Uygulamanın çalıştığı konteynere monte edilen Apsara File Storage NAS dosya sisteminin kimliği. NAS dosya sistemi kümeyle aynı bölgede olmalıdır. NAS dosya sisteminin kullanılabilir bir montaj hedefi olması veya uygulamanın bulunduğu sanal özel cloud (VPC) içindeki vSwitch üzerinde bir montaj hedefi bulunmalıdır. Bu parametreyi belirtmez ancak MountDescs parametresini belirtirseniz bir NAS dosya sistemi otomatik olarak satın alınır ve VPC'deki vSwitch'e monte edilir. |
| MountDescs | String | Query | Hayır | [{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}] | NAS montaj yapılandırmasının açıklaması. Bu parametreyi serileştirilmiş bir JSON dizesine ayarlayın. Örnek: |
| StorageType | String | Query | Hayır | Performance | Depolama türü. Yalnızca SSD desteklenir. |
| LocalVolume | String | Query | Hayır | [{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}] | Ana bilgisayar dosyalarının uygulamanın çalıştığı konteynere monte edilmesi yapılandırması. Örnek: |
| PackageUrl | String | Query | Hayır | https://e***.oss-cn-beijing.aliyuncs.com/s***-1,0-SNAPSHOT-spring-boot.jar | Dağıtım paketinin URL'si. Uygulamayı dağıtmak için FatJar veya WAR paketi kullanıyorsanız bu parametre gereklidir. Not Java veya Python için Enterprise Distributed Application Service (EDAS) SDK sürümü V2.44.0 veya sonraki bir sürüm olmalıdır. |
| PackageVersion | String | Query | Hayır | 20200720 | Dağıtım paketinin sürümü. Uygulamayı dağıtmak için FatJar veya WAR paketi kullanıyorsanız bu parametre gereklidir. Bir sürüm belirtmelisiniz. Not Java veya Python için EDAS SDK sürümü V2.44.0 veya sonraki bir sürüm olmalıdır. |
| JDK | String | Query | Hayır | Open JDK 8 | Uygulamanın dağıtım paketinin bağlı olduğu Java Development Kit (JDK) sürümü. Open JDK 7 ve Open JDK 8 desteklenir. Uygulamaları görüntüler kullanarak dağıtıyorsanız bu parametre kullanılamaz. |
| WebContainer | String | Query | Hayır | apache-tomcat-7.0.91 | Uygulamanın dağıtım paketinin bağlı olduğu Tomcat konteyner sürümü. Bu parametre, WAR paketleri kullanarak dağıttığınız Spring Cloud ve Dubbo uygulamaları için geçerlidir. Uygulamaları görüntüler kullanarak dağıtıyorsanız bu parametre kullanılamaz. |
| EdasContainerVersion | String | Query | Hayır | 3.5.9 | Uygulamanın dağıtım paketinin bağlı olduğu EDAS Container sürümü. Bu parametre, WAR paketleri kullanarak dağıttığınız High-Speed Service Framework (HSF) uygulamaları için geçerlidir. Uygulamaları görüntüler kullanarak dağıtıyorsanız bu parametre kullanılamaz. |
| UriEncoding | String | Query | Hayır | GBK | Uniform resource identifier (URI) kodlama şeması. Geçerli değerler: ISO-8859-1, GBK, GB2312 ve UTF-8. Not Bu parametreyi uygulama yapılandırmalarında belirtmezseniz Tomcat konteynerindeki varsayılan URI kodlama şeması uygulanır. |
| UseBodyEncoding | Boolean | Query | Hayır | false | URI sorgu parametreleri için istek gövdesinde belirtilen kodlama şemasının kullanılıp kullanılmayacağını belirtir. Not Bu parametreyi uygulama yapılandırmalarında belirtmezseniz varsayılan değer false uygulanır. |
| UpdateStrategy | String | Query | Hayır | null | Aşamalı yayınlama ilkesi.
|
| McpuRequest | Integer | Query | Hayır | 4 | Gerekli minimum CPU çekirdeği sayısı. Birim: çekirdek. 0 değeri sınır olmadığını gösterir. Not Bu parametreyi CpuLimit parametresiyle birlikte ayarlamalısınız. Bu parametrenin değerinin CpuLimit parametresinin değerini aşmadığından emin olun. |
| McpuLimit | Integer | Query | Hayır | 0 | İzin verilen maksimum CPU çekirdeği sayısı. Birim: çekirdek. 0 değeri sınır olmadığını gösterir. |
| VolumesStr | String | Query | Hayır | test | Veri birimi. |
| PackageVersionId | String | Query | Hayır | 2bcc******** | Dağıtım paketinin sürüm kimliği. |
| ChangeOrderDesc | String | Query | Hayır | Upgrade | Değişiklik sürecinin açıklaması. |
| RuntimeClassName | String | Query | Hayır | runc | Konteyner çalışma zamanı türü. Bu parametre yalnızca yalıtılmış konteynerler kullanan kümeler için geçerlidir. |
| DeployAcrossZones | String | Query | Hayır | true | Uygulama örneklerinin birden çok alana dağıtılıp dağıtılmayacağını belirtir. true değeri evet anlamına gelirken diğer değerler hayır anlamına gelir. |
| BatchTimeout | Integer | Query | Hayır | 60 | Tek seferde yayınlama için zaman aşımı süresi. Birim: saniye. |
| EnableAhas | Boolean | Query | Hayır | true | Application High Availability Service (AHAS) erişiminin etkinleştirilip etkinleştirilmeyeceğini belirtir. |
| WebContainerConfig | String | Query | Hayır | null | Tomcat konteyner yapılandırması. Bu yapılandırmayı iptal etmek istiyorsanız bu parametreyi
|
| JavaStartUpConfig | String | Query | Hayır | null | Bir Java uygulaması için Java başlatma parametrelerinin yapılandırması. Bu başlatma parametreleri bellek, uygulama, çöp toplama (GC) ilkesi, araçlar, hizmet kaydı ve keşfi ile özel yapılandırmaları içerir. Doğru parametre ayarları GC ek yükünü azaltmaya, sunucu yanıt süresini kısaltmaya ve aktarım hızını artırmaya yardımcı olur. Bu parametreyi bir JSON dizesine ayarlayın. Örnekte original yapılandırma değerini, startup ise bir başlatma parametresini gösterir. Sistem tüm başlatma değerlerini uygulamanın Java başlatma parametrelerinin ayarları olarak otomatik şekilde birleştirir. Bu yapılandırmayı iptal etmek istiyorsanız bu parametreyi |
| SlsConfigs | String | Query | Hayır | [{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}] | Logstore yapılandırması. Bu yapılandırmayı iptal etmek istiyorsanız bu parametreyi
|
| DeployAcrossNodes | String | Query | Hayır | true | Uygulama örneklerinin birden çok düğüme dağıtılıp dağıtılmayacağını belirtir. true değeri evet anlamına gelirken diğer değerler hayır anlamına gelir. |
| TrafficControlStrategy | String | Query | Hayır | null | Canary yayınlama için trafik ayarlama ilkesi. |
| PvcMountDescs | String | Query | Hayır | [{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}] | Bir Kubernetes PersistentVolumeClaim (PVC) biriminin esnek bir konteyner örneğinde belirtilen bir dizine monte edilmesi yapılandırması. Yapılandırma aşağıdaki parametreleri içerir:
|
| ConfigMountDescs | String | Query | Hayır | [{"name":"nginx-config","type":"ConfigMap","mountPath":"/etc/nginx"},{"name":"tls-secret","type":"secret","mountPath":"/etc/ssh"}] | Bir Kubernetes ConfigMap veya Secret'ın esnek bir konteyner örneğinde belirtilen bir dizine monte edilmesi yapılandırması. Yapılandırma aşağıdaki parametreleri içerir:
|
| EnvFroms | String | Query | Hayır | [{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}] | EnvFrom modunda yapılandırılan Kubernetes ortam değişkenleri. Belirtilen bir ConfigMap veya Secret belirtilen bir dizine monte edilir. Her anahtar dizindeki bir dosyaya karşılık gelir ve dosyanın içeriği anahtara karşılık gelen değerdir. Bu parametre aşağıdaki parametreleri içerir:
|
| EmptyDirs | String | Query | Hayır | [{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}] | Bir Kubernetes emptyDir biriminin esnek bir konteyner örneğinde belirtilen bir dizine monte edilmesi yapılandırması. Yapılandırma aşağıdaki parametreleri içerir:
|
Yanıt parametreleri
|
Parametre |
Tür |
Örnek |
Açıklama |
|
ChangeOrderId |
String |
cd65b247-****-475b-ad4b-7039040d625c |
Değişiklik sürecinin kimliği. Değişiklik süreci kimliğini sorgulamak için GetChangeOrderInfo işlemini çağırabilirsiniz. |
|
Code |
Integer |
200 |
HTTP durum kodu. |
|
Message |
String |
success |
Çağrının başarılı olup olmadığını belirten döndürülen mesaj. |
|
RequestId |
String |
a5281053-08e4-47a5-b2ab-5c0323de* |
İsteğin kimliği. |
Örnekler
Örnek istekler
POST /pop/v5/k8s/acs/k8s_apps HTTP/1.1
Common request headers
{
"AppId": "e83acea6-****-47e1-96ae-c0e953772cdc"
}
Örnek başarılı yanıt
XML biçimi
<DeployK8sApplicationResponse>
<Message>success</Message>
<RequestId>a5281053-08e4-47a5-b2ab-5c0323de*****</RequestId>
<ChangeOrderId>cd65b247-****-475b-ad4b-7039040d625c</ChangeOrderId>
<Code>200</Code>
</DeployK8sApplicationResponse>
JSON biçimi
{
"DeployK8sApplicationResponse": {
"Message": "success",
"RequestId": "a5281053-08e4-47a5-b2ab-5c0323de*****",
"ChangeOrderId": "cd65b247-****-475b-ad4b-7039040d625c",
"Code": 200
}
}
Hata kodları
Hata kodlarının listesi için API Hata Merkezi adresini ziyaret edin.