您好,登錄后才能下訂單哦!
上一篇文章寫了關(guān)于如何build一個可以復(fù)用的tomcat的image,這一篇文章講一下,如何使用此鏡像進(jìn)行重復(fù)構(gòu)建不同的項目。
直奔主題:
步驟一 創(chuàng)建相應(yīng)的mavn項目job
??? 其它配置均不變,主要更改的是build項目后的動作。
? ? 注:因為我的k8s集群只有一個節(jié)點,所以默認(rèn)所有的pod會啟動在node節(jié)點上,所以我這里直接把build好的war直接傳到node節(jié)點上。
再創(chuàng)建一個一個ssh的動作
需要注意的地方是,不管是server.xml配置文件還是yml配置文件的路徑一定要搞對,不要亂。
master上的意思大概是:
? ? 首先檢查有沒有關(guān)于這個項目的configmap,如果沒有則創(chuàng)建,如果有則沒有動作。
? ? 然后是檢查是否啟動了關(guān)于這個項目的deployment,如果沒有澤直接創(chuàng)建,如果有則先刪除這個deployment,然后再次創(chuàng)建。實現(xiàn)重啟效果。
這里又有一個需要注意的地方,如果修改了deployment.yml文件,那么需要手動先去刪除當(dāng)前deployment,不然會報錯。
下面展示deployment.yml
#?api的版本號 apiVersion:?apps/v1 #?創(chuàng)建類型 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: ????#?創(chuàng)建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/" ??????#?獲取前面創(chuàng)建的configmap中的server.xml文件內(nèi)容 ??????-?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啟動時候直接加載項目,之前已經(jīng)解壓過了。 ????????-?name:?jlj-learning-controller-war ??????????mountPath:?/usr/local/tomcat/webapps ????????#?把本地的log目錄掛載到容器中tomcat的logs目錄下,這樣tomcat的所有日志都被存放到宿主機(jī)的硬盤上,容器刪掉日志不會丟失。 ????????-?name:?jlj-learning-controller-log ??????????mountPath:?/usr/local/tomcat/logs ????????#?這里著重說一下,為什么要吧server.xml文件掛載的容器的configfile目錄下,因為通過這種方式會把容器本來目錄下的內(nèi)容刪除, ????????#?所以我們把這個server.xml文件掛載到/configfile目錄下,因為在上一篇build?鏡像的時候,就已經(jīng)做過ln的動作了,所以這個會 ????????#?當(dāng)做tomcat的配置文件加載了。 ????????-?name:?jlj-learning-controller-server-xml ??????????mountPath:?/configfile
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。