kubernetes部署一個(gè)Java應(yīng)用步驟

流程

制作鏡像------->控制器管理pod------->暴露應(yīng)用------->對(duì)外發(fā)布應(yīng)用------->日志監(jiān)控

手動(dòng)部署

安裝java,maven,mysql環(huán)境
在k8s節(jié)點(diǎn)測(cè)試mysql能否連上

安裝mysql client
mysql -h主機(jī)名 -u用戶 -p密碼    //登錄測(cè)試

拉去源碼
將源碼中的一個(gè)db目錄下sql文件導(dǎo)入數(shù)據(jù)庫(kù)
使用maven編譯

[root@master tomcat-java-demo-master]#  mvn clean package -Dmaven.test.skip=true

構(gòu)建鏡像

[root@master tomcat-java-demo-master]# docker build -t 鏡像名 Dockerfile

構(gòu)建完鏡像之后最好把鏡像推送到遠(yuǎn)程廠庫(kù)中,為了集中管理鏡像,node節(jié)點(diǎn)直接登錄廠庫(kù)就可以在構(gòu)建項(xiàng)目是直接下載。

開(kāi)始部署項(xiàng)目

生成項(xiàng)目yaml文件

[root@master yaml]# kubectl create deployment 名字 --image=鏡像名 --dry-run(測(cè)試但不會(huì)執(zhí)行) -o yaml > yaml文件名

生成svc yaml文件

[root@master yaml]# kubectl expose deployment  名字 --port=80 --target-port=8080 --type=NodePort -o  yaml --dry-run > svc.yaml

注意
名字與生成項(xiàng)目中yaml名字一樣
--port端口為集群內(nèi)部訪問(wèn)端口
 --target-port=8080 容器里端口
--type=NodePort 隨機(jī)生成端口 集群外部訪問(wèn)端口

查看pod和svc

[root@master yaml]# kubectl get po,svc
NAME                             READY   STATUS    RESTARTS   AGE
pod/java-demo-74b7db8f98-54zq8   1/1     Running   0          115m
pod/java-demo-74b7db8f98-bklnq   1/1     Running   0          115m
pod/java-demo-74b7db8f98-ffkbj   1/1     Running   0          115m

NAME                 TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
service/java-demo    NodePort    10.106.9.105   <none>        80:30534/TCP   86m
service/kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP        40d

登錄web界面檢查:nodeip:NodePort

注意

雖然為runing狀態(tài)
但是還要查看pod日志再次確認(rèn)

以上java應(yīng)用部署完畢

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容