日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用API在K8s集群中創建Java應用(JAR包或WAR包)

本文介紹如何使用EDAS提供的Java SDK調用API在K8s集群中創建Java應用(JAR包或WAR包)。

前提條件

調用API創建應用前,您必須提前完成以下準備工作:

  • 安裝EDAS的Java SDK。更多信息,請參見Java SDK接入指南

  • 確定應用部署地域。

  • 創建微服務空間。具體操作,請參見創建命名空間

    如果已經存在命名空間,您可以調用ListUserDefineRegion接口查詢用戶自定義命名空間列表,獲取目標命名空間的RegionId

  • 導入目標集群(假設集群ID為da60f685-558a-4e00-b549-15e9143d****)到命名空間。具體操作,請參見導入集群

    如果已經導入集群到目標命名空間,您可以調用ListCluster接口查詢集群列表,獲取目標集群的ClusterId

  • 已將應用部署包(JAR包或WAR包)上傳至目標地址。本示例以OSS存儲路徑為例,假設為https://doc***.oss-cn-hangzhou.aliyuncs.com/sc-****-D-0.0.1-SNAPSHOT.jar

創建Java應用(JAR包或WAR包)

以下代碼適用于在EDAS K8s環境中快速創建Java應用(JAR包或WAR包)。代碼中未設置調度規則、啟動命令、環境變量等高級參數,如需了解更多API參數信息,請參見InsertK8sApplication

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.edas.model.v20170801.InsertK8sApplicationRequest;
import com.aliyuncs.edas.model.v20170801.InsertK8sApplicationResponse;

public class InsertK8sApplication {

    public static void main(String[] args)  {
        // 阿里云賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建并使用RAM用戶進行API訪問或日常運維,請登錄RAM控制臺創建RAM用戶。
        // 此處以把AccessKey和AccessKeySecret保存在環境變量為例說明。您可以根據業務需要,保存到配置文件里。
        // 強烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風險。
        String aliyun_user_ak = System.getenv("ACCESS_KEY_ID");
        String aliyun_user_sk = System.getenv("ACCESS_KEY_SECRET");
        //需要創建應用的目標地域ID。
        String region_id = "cn-hangzhou";

        DefaultProfile defaultProfile = DefaultProfile.getProfile(region_id, aliyun_user_ak, aliyun_user_sk);
        DefaultAcsClient client = new DefaultAcsClient(defaultProfile);

        //創建API請求,并設置參數。
        InsertK8sApplicationRequest request = new InsertK8sApplicationRequest();
        //自定義設置應用名稱。必須以字母開頭,允許數字、字母、短劃線(-)組合。最多可輸入36個字符。
        request.setAppName("edas-SDK0414java");
        //集群ID。
        request.setClusterId("da60f685-558a-4e00-b549-15e9143d****");
        //應用實例數。
        request.setReplicas(2);
        //應用運行過程中,應用實例的CPU限額、內存限額等,0表示不限制。
        request.setLimitCpu(0);
        request.setLimitMem(0);
        request.setRequestsCpu(0);
        request.setRequestsMem(0);
        //EDAS微服務空間對應ID,非默認微服務空間須填寫。
        request.setLogicalRegionId("cn-hangzhou:doc");
        //部署包類型、地址和版本,支持設置為FatJar和WAR。
        request.setPackageType("FatJar");
        request.setPackageUrl("https:doc***.oss-cn-hangzhou.aliyuncs.com/sc-****-D-0.0.1-SNAPSHOT.jar");
        request.setPackageVersion("20210423:1442");
        //部署的包依賴的JDK版本。可選的參數值為Open JDK 7和Open JDK 8。
        request.setJDK( "Open JDK 8");

        try {
            InsertK8sApplicationResponse response = client.getAcsResponse(request);
            System.out.println("AppId=" + response.getApplicationInfo().getAppId() + "\nAppName=" + response.getApplicationInfo().getAppName() + "\nChangeOrderId=" + response.getApplicationInfo().getChangeOrderId());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

運行代碼,返回示例如下:

AppId=8ae9cfdb-c20c-4de0-9b21-2b31e7b6****
AppName=edas-SDK0414java
ChangeOrderId=44a1402a-9e59-4494-baa9-f18877e0****

結果驗證

您在創建應用后,可以調用GetChangeOrderInfo接口查看應用變更流程詳情,獲取創建應用的變更狀態。具體API參數詳情,請參見GetChangeOrderInfo

調用GetChangeOrderInfo接口查看應用變更流程詳情,返回的執行結果如下:

{
    "Message": "success",
    "RequestId": "C26DBA1C-9A38-442D-A4D5-587515C5E522",
    "Code": 200,
    "changeOrderInfo": {
        "Status": 3,
        "Desc": "Version: 20210423:1442 | Package Name: sc-provider-D-0.0.1-SNAPSHOT.jar",
        "PipelineInfoList": {
            "PipelineInfo": [
                {
                ......
                "TaskMessage": "Apply success. <br>application is ready at desired state, version: 1"
                ......
                                //此處未羅列全部執行結果,僅供參考。

請查看上述執行結果中的changeOrderInfo.Status參數值,通過該值判斷創建應用是否成功。changeOrderInfo.Status的取值如下:

  • 0:準備

  • 1:執行中

  • 2:執行成功

  • 3:執行失敗

  • 6:終止

  • 8:手動分批發布模式下,等待手工確認執行下一批。

  • 9:自動分批發布模式下,等待下一批執行中。

  • 10:系統異常執行失敗

說明

如果返回結果中的changeOrderInfo.Status值為3,即表示創建應用失敗。您可以根據返回結果中的TaskMessage參數的值分析錯誤原因,解決問題后重新創建應用。