流程
制作镜像
控制管理器pod
暴漏应用
对外发布应用
日志、监控
k8s部署java应用
打包的三个基础层
基础层
系统
运行层
jdk之类的基础环境
项目层
结合Java之类的项目
master安装mariadb数据库
yum -y install mariadb-server
systemctl start mariadb && systemctl enable mariadb
#初始话配置
mysql_secure_installation
Enter current password for root (enter for none):
让我们输入root用户密码,初次运行直接回车。
Set root password? [Y/n]
是否设置root用户密码,输入y并回车或直接回车。
New password:
Re-enter new password:
输入新密码,并确认密码。
其他配置
Remove anonymous users? [Y/n] 是否删除匿名用户,输入y或者回车。
Disallow root login remotely? [Y/n] 是否禁止root远程登录,输入y或者回车。
Remove test database and access to it? [Y/n] 是否删除test数据库,输入y或者回车。
Reload privilege tables now? [Y/n] 是否重新加载权限表,输入y或者回车。
#登录并创建对应的库
mysql -uroot -proot
create database test;
配置数据库相关内容
#上传 tomcat-java-demo-master.zip 测试包并解压
yum -y install unzip && unzip tomcat-java-demo-master.zip
#创建对应的test库并导入表
mysql -uroot -proot
create database test;
source /usr/local/java/tomcat-java-demo-master/db/tables_ly_tomcat.sql
#创建可以远程访问的权限用户
grant all on test.* to 'test'@'%' identified by 'test';
flush privileges;
配置jdk环境并打包项目
#配置好jdk环境后安装maven
yum -y install maven
Ps:记得修改为阿里云源
#修改jar包下的src/main/resources/application.yml的数据库连接地址
url: jdbc:mysql://192.168.31.65:3306/test?characterEncoding=utf-8
username: test
password: test
#打包java项目
mvn clean package -Dmaven.test.skip=true
#打包构建镜像
docker build -t 13271473920/java-demo -f Dockerfile .
#推送docker镜像,默认推送到github上
docker search 13271473920 #默认搜索github镜像
docker login #默认第一次需要输入github账号密码
docker push 13271473920/java-demo #上传镜像到GitHub
部署项目用控制器调度
#创建资源模板 dry-run调试模式 o生成的文件类型
kubectl create deployment java-demo --image=13271473920/java-demo --dry-run -o yaml > deploy.yaml
#通过yaml文件执行pod
kubectl apply -f deploy.yaml
#查看pod任务
kubectl get pod
#查看pod日志
kubectl logs java-demo-5cc64657b9-759j8 #跟上get pod查询出来的name名
暴漏service对外发布
#创建资源模板 port容器间访问端口 target-port容器里运行的端口 type随机生成对外访问端口
kubectl expose deployment java-demo --port=80 --target-port=8080 --type=NodePort -o yaml --dry-run > svc.yaml
#查看部署情况 根据查询到的对外端口进行访问
kubectl get pod,svc
Ps:http://192.168.31.66:30805/