在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應用程序。
多語言Node.js、C++、Go...:適用于在K8s集群中使用自定義的鏡像部署應用。
在應用配置頁簽,設置應用的環境信息、基本信息、部署方式和資源參數,設置完成后單擊下一步。
在應用高級設置頁簽展開啟動命令,并根據您的業務需求設置啟動命令。
以
ENTRYPOINT: [nginx, '-g', 'daemon off;']
為例。參數
描述
啟動命令
輸入啟動命令,例如:
nginx
。啟動參數
每個參數占據一行。例如:在文本框中輸入
-g
,然后單擊添加,在新的參數行中增加輸入參數daemon off
。完成設置后單擊創建應用。
在應用創建完成頁簽確認應用基本信息、應用配置和應用高級設置等信息,確認完畢后單擊確定創建應用。
在應用總覽頁面頂部提示信息中,單擊查看詳情,可在變更記錄頁面查看變更流程。應用部署需要幾分鐘,請您耐心等待。變更完成后在應用總覽頁面的基本信息區域查看實例的運行狀態,如果顯示為Pod運行中,說明應用部署成功。
在更新應用時配置啟動命令
您可在創建應用時配置啟動命令,也可以在部署應用時配置或更新啟動命令。
登錄EDAS控制臺。
在左側導航欄,單擊 ,在頂部菜單欄選擇地域并在頁面上方選擇所屬微服務空間,在集群類型下拉列表,選擇K8s集群,然后在頁面單擊具體的應用名稱。
在應用總覽或基本信息頁面的右上角,選擇 。
在選擇部署模式頁面,選擇具體的部署方式,然后在所選方式區域的右上角,單擊開始部署。
設置應用的環境和部署包信息后展開啟動命令,根據您的需求完成配置后單擊確定。
以
ENTRYPOINT: [nginx, '-g', 'daemon off;']
為例。參數
描述
啟動命令
輸入啟動命令,例如:
nginx
。啟動參數
每個參數占據一行。例如:在文本框中輸入
-g
,然后單擊添加,在新的參數行中增加輸入參數daemon off
。重要單擊確定后,該應用將會被重啟,請在業務較少的時間段進行。
查看執行結果
方法一:
在應用的變更記錄頁面中查看應用變更詳情,如果顯示執行成功,則表示部署成功,即配置已生效。
方法二:
在應用總覽頁面單擊運行狀態右側的Pod運行狀態鏈接,在容器組(Pod)區域查看Pod的狀態,如果顯示為代表運行中的綠色圓圈,則說明部署成功,配置已生效。
EDAS容器服務K8s和Serverless K8s交流群
如果您在EDAS中使用容器服務K8s集群和Serverless K8s集群過程中有任何疑問或建議,請使用釘釘搜索釘釘群號23197114加入釘釘群進行反饋。