您好,登錄后才能下訂單哦!
上一篇文章寫了關于如何build一個可以復用的tomcat的image,這一篇文章講一下,如何使用此鏡像進行重復構建不同的項目。
直奔主題:
步驟一 創建相應的mavn項目job
??? 其它配置均不變,主要更改的是build項目后的動作。
? ? 注:因為我的k8s集群只有一個節點,所以默認所有的pod會啟動在node節點上,所以我這里直接把build好的war直接傳到node節點上。
再創建一個一個ssh的動作
需要注意的地方是,不管是server.xml配置文件還是yml配置文件的路徑一定要搞對,不要亂。
master上的意思大概是:
? ? 首先檢查有沒有關于這個項目的configmap,如果沒有則創建,如果有則沒有動作。
? ? 然后是檢查是否啟動了關于這個項目的deployment,如果沒有澤直接創建,如果有則先刪除這個deployment,然后再次創建。實現重啟效果。
這里又有一個需要注意的地方,如果修改了deployment.yml文件,那么需要手動先去刪除當前deployment,不然會報錯。
下面展示deployment.yml
#?api的版本號 apiVersion:?apps/v1 #?創建類型 kind:?Deployment #?描述 metadata: ??name:?jlj-learning-controller ??labels: ????app:?jlj-learning-controller spec: #?啟動幾個副本 ??replicas:?1 ??selector: ????matchLabels: ??????app:?jlj-learning-controller ??template: ????metadata: ??????labels: ????????app:?jlj-learning-controller ????spec: ????#?創建3個volumes ??????volumes: ??????#?用于存放項目的war包 ??????-?name:?"jlj-learning-controller-war" ????????hostPath:? ?????????path:?"/Disk/data/tomcat/jlj-learning-controller/code/" ??????#?用于存放tomcat的日志 ??????-?name:?"jlj-learning-controller-log" ????????hostPath: ?????????path:?"/Disk/data/tomcat/jlj-learning-controller/log/" ??????#?獲取前面創建的configmap中的server.xml文件內容 ??????-?name:?"jlj-learning-controller-server-xml" ????????configMap: ?????????name:?jlj-learning-controller.xml? ?????????items: ?????????-?key:?server.xml ???????????path:?server.xml ??????containers: ??????-?name:?jlj-learning-controller ????????image:?fushuitong/tomcat:jdk7u21-tomcat7.0.77-cronolog1.6.2 ????????ports: ????????-?containerPort:?8080 ????????#?掛載3個volume ????????volumeMounts: ????????#?把項目的war包掛載到容器中tomcat的webapps目錄下,這樣tomcat啟動時候直接加載項目,之前已經解壓過了。 ????????-?name:?jlj-learning-controller-war ??????????mountPath:?/usr/local/tomcat/webapps ????????#?把本地的log目錄掛載到容器中tomcat的logs目錄下,這樣tomcat的所有日志都被存放到宿主機的硬盤上,容器刪掉日志不會丟失。 ????????-?name:?jlj-learning-controller-log ??????????mountPath:?/usr/local/tomcat/logs ????????#?這里著重說一下,為什么要吧server.xml文件掛載的容器的configfile目錄下,因為通過這種方式會把容器本來目錄下的內容刪除, ????????#?所以我們把這個server.xml文件掛載到/configfile目錄下,因為在上一篇build?鏡像的時候,就已經做過ln的動作了,所以這個會 ????????#?當做tomcat的配置文件加載了。 ????????-?name:?jlj-learning-controller-server-xml ??????????mountPath:?/configfile
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。