流程
制作镜像------->控制器管理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 <none> 80:30534/TCP 86m
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 40d
登录web界面检查:nodeip:NodePort
注意
虽然为runing状态
但是还要查看pod日志再次确认