kubernetes部署一个Java应用步骤

流程

制作镜像------->控制器管理pod------->暴露应用------->对外发布应用------->日志监控

手动部署

安装java,maven,mysql环境
在k8s节点测试mysql能否连上

安装mysql client
mysql -h主机名 -u用户 -p密码    //登录测试

拉去源码
将源码中的一个db目录下sql文件导入数据库
使用maven编译

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

构建镜像

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

构建完镜像之后最好把镜像推送到远程厂库中,为了集中管理镜像,node节点直接登录厂库就可以在构建项目是直接下载。

开始部署项目

生成项目yaml文件

[root@master yaml]# kubectl create deployment 名字 --image=镜像名 --dry-run(测试但不会执行) -o yaml > yaml文件名

生成svc yaml文件

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

注意
名字与生成项目中yaml名字一样
--port端口为集群内部访问端口
 --target-port=8080 容器里端口
--type=NodePort 随机生成端口 集群外部访问端口

查看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           80:30534/TCP   86m
service/kubernetes   ClusterIP   10.96.0.1              443/TCP        40d

登录web界面检查:nodeip:NodePort

注意

虽然为runing状态
但是还要查看pod日志再次确认

以上java应用部署完毕

你可能感兴趣的:(kubernetes部署一个Java应用步骤)