Container Service for Kubernetes (ACK) クラスターまたは Serverless Kubernetes (ASK) クラスターにアプリケーションをデプロイします。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
edas:ManageApplication |
update |
*Application
|
なし | なし |
リクエスト構文
POST /pop/v5/k8s/acs/k8s_apps HTTP/1.1
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| PreStop |
string |
任意 |
コンテナーを停止する前に実行するスクリプトです。例: |
{ "exec":{ "command":[ "ls", "/" ] } } |
| Envs |
string |
任意 |
デプロイメントの環境変数です。値はオブジェクトの JSON 配列である必要があります。通常、Kubernetes ConfigMap、Kubernetes Secret の 3 種類の環境変数がサポートされています。通常の環境変数の形式は次のとおりです。
ConfigMap 環境変数は、ConfigMap から指定されたキーの値をコンテナーの環境変数に挿入します。形式は次のとおりです。
Secret 環境変数は、Secret から指定されたキーの値をコンテナーの環境変数に挿入します。形式は次のとおりです。
説明
この構成をクリアするには、パラメーターを空の JSON 配列 `[]` に設定します。 |
[{"name":"x1","value":"y1"},{"name":"x2","valueFrom":{"configMapKeyRef":{"name":"my-config","key":"y2"}}},{"name":"x3","valueFrom":{"secretKeyRef":{"name":"my-secret","key":"y3"}}}] |
| ImageTag |
string |
任意 |
イメージタグです。 |
latest |
| BatchWaitTime |
integer |
任意 |
Pod の段階的リリースの最小間隔です。詳細については、「minReadySeconds」をご参照ください。 |
0 |
| Command |
string |
任意 |
コンテナーの起動コマンドです。 説明
この構成をクリアするには、パラメーターを空の文字列 |
ls |
| AppId |
string |
必須 |
アプリケーション ID です。ListApplication 操作を呼び出して ID を取得します。詳細については、「ListApplication」をご参照ください。 |
e83acea6-****-47e1-96ae-c0e953772cdc |
| PostStart |
string |
任意 |
コンテナーの起動後に実行するスクリプトです。例: |
{ "exec":{ "command":[ "ls", "/" ] } } |
| Readiness |
string |
任意 |
コンテナーの readiness プローブです。プローブが失敗した場合、Kubernetes サービスからのトラフィックはコンテナーにルーティングされません。例: |
{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}} |
| Liveness |
string |
任意 |
コンテナーの liveness プローブです。例: |
{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}} |
| Args |
string |
任意 |
コンテナー起動コマンドの引数です。値は、 |
["args1","args2"] |
| Replicas |
integer |
任意 |
アプリケーションインスタンスの数です。最小値は 0 です。 |
1 |
| Image |
string |
任意 |
イメージの完全な URL です。このパラメーターは ImageTag パラメーターを上書きします。 |
registry-vpc.cn-beijing.aliyuncs.com/t****/app:v1 |
| CpuLimit |
integer |
任意 |
実行時のアプリケーションインスタンスの CPU 上限です。単位: コア。値 0 は制限なしを意味します。 |
1 |
| MemoryLimit |
integer |
任意 |
実行時のアプリケーションインスタンスのメモリ上限です。単位: MB。値 0 は制限なしを意味します。 |
0 |
| CpuRequest |
integer |
任意 |
実行時にアプリケーションインスタンスに要求する CPU クォータです。このパラメーターを設定することをお勧めします。 単位: コア。値 0 は制限なしを意味します。 説明
このパラメーターを設定する場合は、CpuLimit パラメーターも設定してください。CpuRequest の値は CpuLimit の値以下である必要があります。 |
0 |
| MemoryRequest |
integer |
任意 |
実行時にアプリケーションインスタンスに要求するメモリクォータです。このパラメーターを設定することをお勧めします。単位: MB。値 0 はリクエストなしを意味します。 説明
このパラメーターを設定する場合は、MemoryLimit パラメーターも設定してください。MemoryRequest の値は MemoryLimit の値以下である必要があります。 |
0 |
| NasId |
string |
任意 |
マウントする Apsara File Storage NAS (NAS) ファイルシステムの ID です。NAS ファイルシステムはクラスターと同じリージョンにある必要があります。利用可能なマウントポイントクォータがあるか、そのマウントポイントが VPC 内の vSwitch 上にある必要があります。このパラメーターを設定せず、`mountDescs` フィールドが存在する場合、NAS ファイルシステムは自動的に購入され、デフォルトで VPC 内の vSwitch にマウントされます。 |
dfs23**** |
| MountDescs |
string |
任意 |
マウント構成。シリアル化された JSON 文字列です。例: |
[{"nasPath": "/k8s","mountPath": "/mnt"},{"nasPath": "/files","mountPath": "/app/files"}] |
| StorageType |
string |
任意 |
NAS ファイルシステムのストレージタイプです。有効な値:
現在、`Performance` タイプのみがサポートされています。 |
Performance |
| LocalVolume |
string |
任意 |
ホストファイルをコンテナーにマウントするための構成です。例: |
[{"type":"","nodePath":"/localfiles","mountPath":"/app/files"},{"type":"Directory","nodePath":"/mnt","mountPath":"/app/storage"}] |
| PackageUrl |
string |
任意 |
デプロイメントパッケージの URL です。FatJar または WAR パッケージを使用してデプロイされたアプリケーションに対してこのパラメーターを構成します。 説明
EDAS POP API 用の Java または Python SDK はバージョン 2.44.0 以降である必要があります。 |
https://e***.oss-cn-beijing.aliyuncs.com/s***-1.0-SNAPSHOT-spring-boot.jar |
| PackageVersion |
string |
任意 |
デプロイパッケージのバージョン番号です。このパラメーターは WAR および FatJar パッケージに必要です。バージョン番号の意味を定義できます。 説明
EDAS POP API 用の Java または Python SDK はバージョン 2.44.0 以降である必要があります。 |
20200720 |
| JDK |
string |
任意 |
デプロイメントパッケージが依存する JDK バージョンです。有効な値: Open JDK 7、Open JDK 8、または Custom OpenJDK。このパラメーターはイメージベースのデプロイメントではサポートされていません。Custom OpenJDK を使用する場合は、`UserBaseImageUrl` フィールドも構成する必要があります。 |
Open JDK 8 |
| WebContainer |
string |
任意 |
デプロイメントパッケージが依存する Tomcat のバージョンです。このパラメーターは、WAR パッケージを使用してデプロイされた Spring Cloud および Dubbo アプリケーションに適用されます。イメージベースのデプロイメントではサポートされていません。 |
apache-tomcat-7.0.91 |
| EdasContainerVersion |
string |
任意 |
デプロイメントパッケージが依存する EDAS Container のバージョンです。このパラメーターは、WAR パッケージを使用してデプロイされた HSF アプリケーションに適用されます。イメージベースのデプロイメントではサポートされていません。 |
3.5.9 |
| UriEncoding |
string |
任意 |
URI エンコード形式です。サポートされている形式: ISO-8859-1、GBK、GB2312、および UTF-8。 説明
アプリケーション構成でこのパラメーターを設定しない場合、デフォルトの Tomcat 値が使用されます。 |
GBK |
| UseBodyEncoding |
boolean |
任意 |
`useBodyEncodingForURI` を有効にするかどうかを指定します。 説明
アプリケーション構成でこのパラメーターを設定しない場合、デフォルト値 `false` が使用されます。 |
false |
| UpdateStrategy |
string |
任意 |
段階的リリースポリシーです。
|
{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}} |
| McpuRequest |
integer |
任意 |
最小 CPU リソース要件です。単位: コア。値 0 は制限なしを意味します。 説明
このパラメーターを設定する場合は、`CpuLimit` パラメーターも設定する必要があります。値は `CpuLimit` の値以下である必要があります。 |
4 |
| McpuLimit |
integer |
任意 |
使用できる最大 CPU です。単位: コア。値 0 は制限なしを意味します。 |
0 |
| VolumesStr |
string |
任意 |
データボリュームです。 |
test |
| PackageVersionId |
string |
任意 |
デプロイパッケージバージョンの ID です。 |
2bcc******** |
| ChangeOrderDesc |
string |
任意 |
変更レコードの説明です。 |
Upgrade |
| RuntimeClassName |
string |
任意 |
コンテナーランタイムタイプ:
このパラメーターは、サンドボックス化されたコンテナーを使用するクラスターにのみ適用されます。 |
runc |
| DeployAcrossZones |
string |
任意 |
アプリケーションインスタンスを複数のゾーンに分散するかどうかを指定します。`true` は「はい」を示し、その他の値は「いいえ」を示します。 |
true |
| BatchTimeout |
integer |
任意 |
単一のバッチリリースのタイムアウト期間です。単位: 秒。 |
60 |
| EnableAhas |
boolean |
任意 |
Application High Availability Service (AHAS) に接続するかどうかを指定します。 |
true |
| WebContainerConfig |
string |
任意 |
Tomcat コンテナーの構成です。
|
{"useDefaultConfig":false,"contextInputType":"custom","contextPath":"hello","httpPort":8088,"maxThreads":400,"uriEncoding":"UTF-8","useBodyEncoding":true,"useAdvancedServerXml":false} |
| JavaStartUpConfig |
string |
任意 |
Java 起動パラメーターです。メモリ、アプリケーション、ガベージコレクション (GC) ポリシー、ツール、サービス登録と検出、およびカスタム設定を構成できます。これらのパラメーターを正しく構成すると、GC オーバーヘッドを削減し、サーバーの応答時間を短縮し、スループットを向上させることができます。パラメーターは JSON 文字列です。`original` は構成値、`startup` は起動パラメーターです。システムは、すべての `startup` 値を自動的に連結して、アプリケーションの Java 起動パラメーターとして使用します。 |
{"InitialHeapSize":{"original":512,"startup":"-Xms512m"},"MaxHeapSize":{"original":1024,"startup":"-Xmx1024m"}} |
| SlsConfigs |
string |
任意 |
Logstore の構成です。
|
[{"logstore":"thisisanotherfilelog","type":"file","logDir":"/var/log/*"},{"logstore":"","type":"stdout","logDir":"stdout.log"},{"logstore":"thisisafilelog","type":"file","logDir":"/tmp/log/*"}] |
| DeployAcrossNodes |
string |
任意 |
アプリケーションインスタンスを複数のノードに分散するかどうかを指定します。`true` は「はい」を示し、その他の値は「いいえ」を示します。 |
true |
| TrafficControlStrategy |
string |
任意 |
段階的リリースのトラフィックコントロールポリシーです。 |
{"http":{"rules":[{"conditionType":"percent","percent":10}]}} |
| PvcMountDescs |
string |
任意 |
Kubernetes PersistentVolumeClaim (PVC) マウントを構成します。これにより、Kubernetes PVC ボリュームを指定されたコンテナーディレクトリにマウントできます。`PvcMountDescs` のパラメーターは次のとおりです。
|
[{"pvcName":"nas-pvc-1","mountPaths":[{"mountPath":"/usr/share/nginx/data"},{"mountPath":"/usr/share/nginx/html","readOnly":true}]}] |
| ConfigMountDescs |
string |
任意 |
Kubernetes ConfigMap および Secret マウントを構成します。これにより、ConfigMap または Secret を指定されたコンテナーディレクトリにマウントできます。`ConfigMountDescs` のパラメーターは次のとおりです。
|
[ { "name": "nginx-config", "type": "ConfigMap", "mountPath": "/etc/nginx" }, { "name": "tls-secret", "type": "Secret", "mountPath": "/etc/ssh" } ] |
| EnvFroms |
string |
任意 |
Kubernetes `EnvFrom` タイプの環境変数を構成します。これにより、指定された ConfigMap または Secret がディレクトリにマウントされます。各キーはディレクトリ内のファイルに対応し、ファイルの内容はキーの値です。 `EnvFroms` のパラメーターは次のとおりです。
|
[{"name":"appname","valueFrom":{"configMapKeyRef":{"name":"appconf","key":"name"}}}] |
| EmptyDirs |
string |
任意 |
Kubernetes `emptyDir` マウントを構成します。これにより、`emptyDir` ボリュームを指定されたコンテナーディレクトリにマウントできます。`EmptyDirs` のパラメーターは次のとおりです。
|
[{"mountPath":"/app-log","subPathExpr":"$(POD_IP)"},{"readOnly":true,"mountPath":"/etc/nginx"}] |
| CustomAffinity |
string |
任意 |
Pod アフィニティ構成です。これは `DeployAcrossNodes` と `DeployAcrossZones` の両方が `false` の場合にのみ有効になります。 |
{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"beta.kubernetes.io/arch","operator":"NotIn","values":["arm64","arm32"]}]}]},"preferredDuringSchedulingIgnoredDuringExecution":[{"weight":5,"preference":{"matchExpressions":[{"key":"kubernetes.io/os","operator":"In","values":["linux"]}]}}]},"podAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":[{"namespaces":["default"],"topologyKey":"kubernetes.io/hostname","labelSelector":{"matchExpressions":[{"key":"edas.oam.acname","operator":"NotIn","values":["edas-test-app"]}]}}]},"podAntiAffinity":{"preferredDuringSchedulingIgnoredDuringExecution":[{"podAffinityTerm":{"namespaces":["default"],"topologyKey":"failure-domain.beta.kubernetes.io/zone","labelSelector":{"matchExpressions":[{"key":"edas.oam.acname","operator":"In","values":["edas-test-app-2"]}]}},"weight":15}]}} |
| CustomTolerations |
string |
任意 |
Pod スケジューリングの Toleration 構成です。これは `DeployAcrossNodes` と `DeployAcrossZones` の両方が `false` の場合にのみ有効になります。 |
[{"key":"edas-taint-key2","operator":"Exists","effect":"NoExecute","tolerationSeconds":50},{"key":"edas-taint-key","operator":"Equal","value":"edas-taint-value","effect":"PreferNoSchedule"}] |
| BuildPackId |
string |
任意 |
EDAS Container のビルdパッケージ番号:
この番号は 2 つの方法で取得できます:
|
59 |
| Annotations |
string |
任意 |
アプリケーション Pod のアノテーションです。 |
{"annotation-name-1":"annotation-value-1","annotation-name-2":"annotation-value-2"} |
| Labels |
string |
任意 |
アプリケーション Pod のラベルです。 |
{"label-name-1":"label-value-1","label-name-2":"label-value-2"} |
| EnableEmptyPushReject |
boolean |
任意 |
空のプッシュ保護を有効にするかどうかを指定します:
|
false |
| EnableLosslessRule |
boolean |
任意 |
グレースフル起動ルールを有効にするかどうかを指定します:
|
true |
| LosslessRuleWarmupTime |
integer |
任意 |
サービスプリフェッチ期間です。単位: 秒。値の範囲は 0 から 86400 です。 |
120 |
| LosslessRuleDelayTime |
integer |
任意 |
サービス登録の待機時間です。単位: 秒。値の範囲は 0 から 86400 です。 |
0 |
| LosslessRuleFuncType |
integer |
任意 |
サービスプリフェッチ曲線です。値の範囲は 0 から 20 です。デフォルトは 2 で、一般的なプリフェッチシナリオに適しています。これは、プリフェッチ期間中のサービスプロバイダーのトラフィック受信曲線が二次曲線に従うことを示します。 |
2 |
| LosslessRuleAligned |
boolean |
任意 |
readiness プローブが成功する前にサービス登録を完了するために、グレースフルローリングデプロイモードを有効にするかどうかを指定します:
説明
`LosslessRuleRelated` も `true` に設定されている場合、このインターフェイスはサービスプリフェッチが完了したかどうかをチェックします。
|
false |
| LosslessRuleRelated |
boolean |
任意 |
readiness プローブが成功する前にサービスプリフェッチを完了するために、グレースフルローリングデプロイモードを有効にするかどうかを指定します:
|
false |
| LimitEphemeralStorage |
integer |
任意 |
一時ストレージリソース要件の上限です。単位: GB。値 0 は制限なしを意味します。 |
4 |
| RequestsEphemeralStorage |
integer |
任意 |
最小一時ストレージリソース要件です。単位: GB。値 0 は制限なしを意味します。 |
2 |
| Sidecars |
string |
任意 |
アプリケーション Pod のサイドカーコンテナーを設定します。コンテナー構成は YAML 形式です。値は、サイドカーコンテナーの base64 エンコードされた YAML 構成です。 |
[ { "yamlEncoded": "Y29tbWFuZDoKICAtIHRhaWwKICAtICctZicKICAtIC9kZXYvbnVsbAppbWFnZTogJ2J1c3lib3g6bGF0ZXN0JwpuYW1lOiBidXN5Ym94Cg==" } ] |
| InitContainers |
string |
任意 |
アプリケーション Pod の init コンテナーを設定します。コンテナー構成は YAML 形式です。値は、init コンテナーの base64 エンコードされた YAML 構成です。 |
[ { "yamlEncoded": "Y29tbWFuZDoKICAtIHNsZWVwCiAgLSAnNjAnCmltYWdlOiAnYnVzeWJveDpsYXRlc3QnCm5hbWU6IGluaXQtYnVzeWJveAo=" } ] |
| UserBaseImageUrl |
string |
任意 |
カスタム JDK ランタイムを使用する場合、ベースイメージアドレスを構成する必要があります。このアドレスはパブリックにアクセス可能である必要があります。EDAS サーバーはこのイメージをプルしてアプリケーションイメージをビルドします。 |
openjdk:8u302 |
| CanaryRuleId |
string |
任意 |
カナリアリリースルールポリシーの ID です。 |
a8daf22e-****-968c7ff2ea34 |
| TerminateGracePeriod |
integer |
任意 |
アプリケーションのグレースフルストップのタイムアウト期間です。単位: 秒。 |
120 |
| ImagePlatforms |
string |
任意 |
イメージのターゲットプラットフォームアーキテクチャです。これは WAR または JAR ファイルでデプロイする場合に有効です。例:
|
linux/arm64,linux/amd64 |
| Startup |
string |
任意 |
起動プローブは、起動が遅いコンテナーの liveness チェックを実行して、起動前に強制終了されるのを防ぐために使用できます。例: {"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"httpGet": {"path": "/consumer","port": 8080,"scheme": "HTTP","httpHeaders": [{"name": "test","value": "testvalue"}]}}。 この構成を削除するには、パラメーターを "" または {} に設定します。このパラメーターを設定しない場合、構成は無視されます。 |
{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}} |
| CustomAgentVersion |
string |
任意 |
アプリケーションにマウントするカスタム Application Real-Time Monitoring Service (ARMS) エージェントのバージョンを設定します。 説明
この機能はホワイトリストに登録されたユーザーのみが利用できます。この機能を使用するには、チケットを送信してホワイトリストに追加してもらう必要があります。 |
3.1.4 |
| SecurityContext |
string |
任意 |
アプリケーション Pod コンテナーの `SecurityContext` プロパティを設定します。値は、`SecurityContext` の base64 エンコードされた YAML 構成です。 |
{"yamlEncoded":"cnVuQXNVc2VyOiAwCnJ1bkFzR3JvdXA6IDA="} |
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
応答オブジェクトです。 |
||
| ChangeOrderId |
string |
変更プロセスの ID です。GetChangeOrderInfo 操作を呼び出して取得できます。詳細については、「GetChangeOrderInfo」をご参照ください。 |
cd65b247-****-475b-ad4b-7039040d625c |
| Code |
integer |
インターフェイスのステータスまたは POP エラーコードです。 |
200 |
| Message |
string |
追加情報です。 |
success |
| RequestId |
string |
リクエスト ID です。 |
a5281053-08e4-47a5-b2ab-5c0323de***** |
例
成功レスポンス
JSONJSON
{
"ChangeOrderId": "cd65b247-****-475b-ad4b-7039040d625c",
"Code": 200,
"Message": "success",
"RequestId": "a5281053-08e4-47a5-b2ab-5c0323de*****"
}
エラーコード
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。