k8s部署服务流程

流程

在这里插入图片描述
上图是交给了jekins由流水线创建完成,但是基本的文件还是需要手工完成的:代码,dockerFile,k8s-yaml

整个流程如下:

代码完成----->打包------>制作docker镜像------->k8s创建并部署yaml服务------>k8s控制器管理pod------->暴露应用------->对外发布应用------->日志监控

手动部署

  • 运行环境镜像:安装java,maven,mysql环境
    检测是否安装成功并能够使用:
    在k8s节点测试mysql能否连上
    安装mysql client
    mysql -h主机名 -u用户 -p密码 //登录测试

  • db数据库表结构生成
    生成数据库:将源码中的一个db目录下sql文件导入数据库
    使用maven编译jar包
    [root@master tomcat-java-demo-master]# mvn clean package -Dmaven.test.skip=true

  • 构建镜像
    [root@master tomcat-java-demo-master]# docker build -t 镜像名 Dockerfile
    构建完镜像之后最好把镜像推送到harbor远程厂库中,为了集中管理镜像,node节点直接登录厂库就可以在构建项目是直接下载。

  • 开始部署k8s服务
    生成项目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界面检查服务是否起来了:
http://nodeip:NodePor

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值