在EDAS控制台使用鏡像、JAR包或WAR包部署應用至K8s叢集時,如果您精通Docker和JVM,並且希望在啟動前進行特殊配置或不採用EDAS中預設的啟動參數,您可設定容器啟動和運行時需要的命令。
背景資訊
製作鏡像時,已通過Dockerfile檔案中的ENTRYPOINT或CMD配置了容器的啟動配置,啟動時所配置的內容會優先被執行。
如果您不瞭解原Dockerfile鏡像的CMD或ENTRYPOINT內容,不建議您自訂啟動命令和啟動參數,錯誤的自訂命令將導致應用建立失敗。
由於Docker運行時僅支援一條ENTRYPOINT命令,所以在EDAS控制台中設定的啟動命令將會覆蓋在製作容器Docker鏡像中設定的ENTRYPOINT和CMD命令。
例如在Dockerfile中配置ENTRYPOINT [nginx, '-g', 'daemon off;']
命令,該命令將會在容器啟動時被第一個執行。
FROM ubuntu
ENTRYPOINT [nginx, '-g', 'daemon off;']
啟動命令配置可以在建立、部署應用過程中設定,也可以在應用部署完成後設定。本文介紹在不同情境下設定啟動命令的步驟。
在建立應用時配置啟動命令的操作步驟,請參見在建立應用時配置啟動命令。
如果您在應用部署完成後配置啟動命令,那麼該應用將會被重啟,請在業務較少的時間段進行。具體操作,請參見在更新應用時配置啟動命令。
在建立應用時配置啟動命令
登入EDAS控制台,在左側導覽列,單擊 ,在頂部功能表列選擇地區並在頁面上方選擇所屬微服務空間,然後在應用列表頁面左上方,單擊建立應用。
在應用基本資料頁簽,選擇叢集類型和應用運行環境,然後在頁面最下方單擊下一步。
配置項
描述
叢集類型
選擇Kubernetes叢集。
應用運行環境
根據選擇的託管應用類型選擇應用運行環境。
Java:
Java:支援通用的JAR包部署,適用於Dubbo和Spring Boot應用。在選擇後可更改Java環境。
Tomcat:支援通用的WAR包部署,適用於Dubbo和Spring應用。在選擇後可更改Java環境和容器版本。
EDAS-Container(HSF):適用於使用WAR或者FatJar部署HSF應用。在選擇後可更改Java環境、Pandora版本和Ali-Tomcat版本。
自訂:適用於在K8s叢集中使用自訂的鏡像部署應用。
PHP:適用於運行在Apache HTTP Server中的PHP應用程式。
在應用配置頁簽,設定應用的環境資訊、基本資料、部署方式和資源參數,設定完成後單擊下一步。
在應用進階設定頁簽展開啟動命令,並根據您的業務需求設定啟動命令。
以
ENTRYPOINT: [nginx, '-g', 'daemon off;']
為例。參數
描述
啟動命令
輸入啟動命令,例如:
nginx
。啟動參數
每個參數佔據一行。例如:在文字框中輸入
-g
,然後單擊添加,在新的參數行中增加輸入參數daemon off
。完成設定後單擊建立應用。
在應用建立完成頁簽確認應用基本資料、應用配置和應用進階設定等資訊,確認完畢後單擊確定建立應用。
在應用總覽頁面頂部提示資訊中,單擊查看詳情,可在變更記錄頁面查看變更流程。應用部署需要幾分鐘,請您耐心等待。變更完成後在應用總覽頁面的基本資料地區查看執行個體的運行狀態,如果顯示為Pod運行中,說明應用部署成功。
在更新應用時配置啟動命令
您可在建立應用時配置啟動命令,也可以在部署應用時配置或更新啟動命令。
登入EDAS控制台。
在左側導覽列,單擊 ,在頂部功能表列選擇地區並在頁面上方選擇所屬微服務空間,在叢集類型下拉式清單,選擇K8s叢集,然後在頁面單擊具體的應用程式名稱。
在應用總覽或基本資料頁面的右上方,選擇 。
在選擇部署模式頁面,選擇具體的部署方式,然後在所選方式地區的右上方,單擊開始部署。
設定應用的環境和部署套件資訊後展開啟動命令,根據您的需求完成配置後單擊確定。
以
ENTRYPOINT: [nginx, '-g', 'daemon off;']
為例。參數
描述
啟動命令
輸入啟動命令,例如:
nginx
。啟動參數
每個參數佔據一行。例如:在文字框中輸入
-g
,然後單擊添加,在新的參數行中增加輸入參數daemon off
。重要單擊確定後,該應用將會被重啟,請在業務較少的時間段進行。
查看執行結果
方法一:
在應用的變更記錄頁面中查看應用變更詳情,如果顯示執行成功,則表示部署成功,即配置已生效。
方法二:
在應用總覽頁面單擊運行狀態右側的Pod運行狀態連結,在容器組(Pod)地區查看Pod的狀態,如果顯示為代表運行中的綠色圓圈,則說明部署成功,配置已生效。