91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker k8s 集群部署tomcat,使用一個鏡像,增加鏡像的復用性。

發布時間:2020-08-28 03:09:50 來源:網絡 閱讀:4376 作者:xinsir999 欄目:大數據

寫在前面,k8s集群均已經搭建好,具體步驟可以查看前面文章。


編寫Dockerfile文件,目的創建一個可以公用的image,每次部署tomcat直接使用該鏡像不用每次都進行build鏡像。

#?開始本來想使用tomcat的官方鏡像,但是無奈官方鏡像的系統用的都是diban?8的系統,因為我要做日志切割,需要安裝cronolog軟件,
#?翻篇google、百度并沒有找到如何使用apt-get?安裝,無奈只能使用源碼安裝,但是安裝過程需要gcc和make的支持
#?使用diban?8的如果不對apt-get?update?操作,安裝不上,但是由于系統落后原因,導致官方或163或清華的源都不支持了。最后無奈使用了ubuntu?14的鏡像。
FROM?ubuntu:14.04.5

#?tomcat安裝目錄
ENV?TOMCAT_HOME?/usr/local/tomcat
#?這里是放server.xml的文件的目錄,這個目錄需要跟tomcat/conf文件夾下的server.xml做一個超鏈接,為什么呢??
#?因為我要使用configmap的方式對配置文件掛載,如果直接掛載到conf目錄下,那么目錄下的其它文件就都沒了。所以我們關在的時候掛載新創建的目錄,然后做一個超鏈接映射。
ENV?SERVER_XML?/configfile
#?配置jdk環境
ENV?JAVA_HOME?/opt/jdk1.7.0_21
ENV?JRE_HOME?$JAVA_HOME/jre
ENV?JAVA_BIN?$JAVA_HOME/bin
ENV?CLASSPATH?$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
ENV?PATH?$TOMCAT_HOME/bin:$JAVA_BIN:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

#?增加jdk壓縮包到/opt目錄下
ADD?jdk-7u21-linux-x64.tar.gz?/opt
ADD?apache-tomcat-7.0.77.tar.gz??/usr/local

RUN?
ADD?./catalina.sh?$TOMCAT_HOME/bin/
ADD?./cronolog-1.6.2.tar.gz?/opt/
#?這個是自己手動編寫的tomcat啟動腳本,
#?內容很簡單,就兩行,第一行是啟動tomcat使用?sh?/usr/local/tomcat/bin/startup.sh;
#?容器要求必須要有前臺執行的進程的容器才不會退出,所以第二行隨便tail?-f?了一個日志即可。
ADD?./start.sh?$TOMCAT_HOME/bin/

WORKDIR?/opt/cronolog-1.6.2
RUN?mv?/usr/local/apache-tomcat-7.0.77?/usr/local/tomcat?&&?chmod?a+x?/usr/local/tomcat/bin/*.sh?&&?\
????apt-get?update?-y?&&?apt-get?install?gcc?make?-y?&&?\
???./configure?&&?make?&&?make?install?&&?chmod?a+x?$TOMCAT_HOME/bin/start.sh??$TOMCAT_HOME/bin/catalina.sh?&&?\
???rm?-rf?$TOMCAT_HOME/webapps/*?&&?rm?-rf?$TOMCAT_HOME/conf/server.xml?&&?mkdir?$SERVER_XML?&&?\
???touch?$SERVER_XML/server.xml??&&?ln?-s?$SERVER_XML/server.xml?$TOMCAT_HOME/conf/server.xml
EXPOSE?8080
ENTRYPOINT?["/bin/sh",?"/usr/local/tomcat/bin/start.sh"]


需要用到配置文件內容如下:

?start.sh?

#!/bin/sh
sh?/usr/local/tomcat/bin/startup.sh
tail?-f?/usr/local/tomcat/bin/catalina.sh

catalina.sh

################以上與原有tomcat默認配置文件一致################
421???#touch?"$CATALINA_OUT"
422???if?[?"$1"?=?"-security"?]?;?then
423?????if?[?$have_tty?-eq?1?];?then
424???????echo?"Using?Security?Manager"
425?????fi
426?????shift
427?????eval?$_NOHUP?"\"$_RUNJAVA\""?"\"$LOGGING_CONFIG\""?$LOGGING_MANAGER?$JAVA_OPTS?$CATALINA_OPTS?\
428???????-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\""?\
429???????-classpath?"\"$CLASSPATH\""?\
430???????-Djava.security.manager?\
431???????-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\""?\
432???????-Dcatalina.base="\"$CATALINA_BASE\""?\
433???????-Dcatalina.home="\"$CATALINA_HOME\""?\
434???????-Djava.io.tmpdir="\"$CATALINA_TMPDIR\""?\
435???????org.apache.catalina.startup.Bootstrap?"$@"?start?\
436???????>>?"$CATALINA_OUT"?2>&1?"&"
437?
438???else
439?????eval?$_NOHUP?"\"$_RUNJAVA\""?"\"$LOGGING_CONFIG\""?$LOGGING_MANAGER?$JAVA_OPTS?$CATALINA_OPTS?\
440???????-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\""?\
441???????-classpath?"\"$CLASSPATH\""?\
442???????-Dcatalina.base="\"$CATALINA_BASE\""?\
443???????-Dcatalina.home="\"$CATALINA_HOME\""?\
444???????-Djava.io.tmpdir="\"$CATALINA_TMPDIR\""?\
445???????org.apache.catalina.startup.Bootstrap?"$@"?start?2>&1?|?/usr/local/sbin/cronolog?"$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out?>>?/dev/null?&
446?
447???fi
################以下與原有tomcat默認配置文件一致################

下面直接build鏡像就可以了。


創建一個configmap用于存放tomcat的server.xml文件。

kubectl?create?configmap?cm-server.xml?--from-file=‘server.xml的絕對路徑’

編寫k8s的yaml文件

apiVersion:?apps/v1
kind:?Deployment
metadata:
??name:?dubbo-admin
??labels:
????app:?dubbo-admin
spec:
??replicas:?1
??selector:
????matchLabels:
??????app:?dubbo-admin
??template:
????metadata:
??????labels:
????????app:?dubbo-admin
????spec:
??????#?需要仔細說明的地方,這里我們創建了3個volume,分別存放tomcat的log、java項目代碼和一個使用configmap形式存放的tomcat配置文件(server.xml)
??????volumes:
??????-?name:?"code-war"
????????hostPath:?
?????????path:?"/Disk/data/tomcat/dubbo-admin/code/"
??????-?name:?"tomcat-log"
????????hostPath:
?????????path:?"/Disk/data/tomcat/dubbo-admin/log/"
??????-?name:?"serverxml"
????????configMap:
?????????name:?tomcat-dubbo-admin-server.xml
?????????items:
?????????-?key:?server.xml
???????????path:?server.xml
??????containers:
??????-?name:?dubbo-admin
????????#?容器使用剛剛build過的鏡像
????????image:?fushuitong/tomcat:jdk7u21-tomcat7.0.77-cronolog1.6.2
????????ports:
????????-?containerPort:?8080
????????#掛載3個volume,掛載目錄如下
????????volumeMounts:
????????-?name:?code-war
??????????mountPath:?/usr/local/tomcat/webapps
????????-?name:?tomcat-log
??????????mountPath:?/usr/local/tomcat/logs
????????-?name:?serverxml
??????????mountPath:?/configfile

直接創建這個Deployment即可。


創建一個service,把tomcat的端口應道node上,以供外面訪問,如果tomcat前面還有nginx,可以直接映射到clusterIP.使用nginx進行轉發即可。

變了service的yaml文件

apiVersion:?v1
kind:?Service
metadata:
??name:?dubbo-admin
spec:
??ports:
??-?port:?8080
????nodePort:?32333
????targetPort:?dubbo-admin
????protocol:?TCP
??selector:
????app:?dubbo-admin
??type:?NodePort

最后通過訪問任意node的ip的32333端口就能訪問到對應的tomca項目了。


docker k8s 集群部署tomcat,使用一個鏡像,增加鏡像的復用性。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沅江市| 德江县| 渝北区| 庐江县| 东兴市| 阿图什市| 乌审旗| 台安县| 太仆寺旗| 中超| 汝城县| 慈溪市| 博罗县| 南木林县| 麟游县| 宜阳县| 泉州市| 闻喜县| 崇左市| 衢州市| 江口县| 绥化市| 库车县| 饶阳县| 商河县| 喜德县| 军事| 阿拉善左旗| 都江堰市| 海淀区| 斗六市| 吴堡县| 宝兴县| 浏阳市| 政和县| 信丰县| 汾西县| 上思县| 北票市| 云梦县| 五寨县|