k8s部署 JAVAWEB 理论+实战全过程(图文)

本文详细介绍了如何将JavaWeb项目从Docker迁移到Kubernetes,涵盖制作镜像、使用Deployment管理Pod、数据持久化、通过Service暴露应用以及使用Ingress对外发布应用的全过程。
摘要由CSDN通过智能技术生成

简述

之前通过docker部署了Javaweb项目,现在将项目移植到k8s平台
**主要分为五个部分
1.要以镜像作为交付对象,不再以jar包、war包形式
2.在docker可以直接上传镜像运行容器,在k8s需要编写yaml文件,通过控制器去管理镜像
3.进行一些数据的挂载
4.部署完成后要将容器或pod暴露出去
5.对应用pod进行一下日志的采集和监控,方便做数据分析、历史资源利用率检查和告警等
**

一、制作镜像(Master节点)

1.概念

主要是基础镜像制作,服务镜像制作,以及项目镜像制作,将制作好的镜像打包发布到仓库中或者留在本地

2.操作

主要使用Dockerfile
之前需准备好打包好的war包,数据库等,放在同一目录下,进行dockerfile
1.vi Dockerfile
FROM tomcat  //这里可以使用本地进行镜像或者进行远程仓库拉取
MAINTAINER  作者名
COPY *.war /usr/local/tomcat/webapps //将war包放到tomcat webapps下
2.docker build .   //生成镜像
3.docker tag       //打标签
4.docker login --username=阿里用户名 registry.cn-beijing.aliyuncs.com
  docker tag [ImageId] registry.cn-beijing.aliyuncs.com/空间名/仓库名:[镜像版本号]
  docker push registry.cn-beijing.aliyuncs.com/空间名/仓库名:[镜像版本号] 
  // 发布到远程仓库 这里使用的阿里云进行镜像仓库 也可以使用dockerhub

注意这里可以之间在node节点上拉取所需镜像


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、创建控制器管理pod

用k8s控制器去部署,一般选择有
Deployment:无状态部署
StatefulSet:有状态部署
DaemonSet:守护进程部署
Job & CronJob:批处理

这里选择Deployment 无状态部署

1.pod

1.1概念

最小的部署单元
一组容器的集合
一个Pod中的容器共享网络命名空间和存储
Pod是短暂的

1.2作用

两个应用直接发送文件交互
两个应用需要通过127.0.0.1或者socket通信
两个应用需要发生频发的调用

1.3实现机制

共享网络
多个容器在一个网络命名空间里<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值