流程
制作镜像
控制管理器pod
暴漏应用
对外发布应用
日志、监控
k8s部署java应用
打包的三个基础层
基础层
系统
运行层
jdk之类的基础环境
项目层
结合Java之类的项目
master安装mariadb数据库
yum -y install mariadb-serversystemctl start mariadb && systemctl enable mariadb#初始话配置mysql_secure_installationEnter 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 -prootcreate database test;
配置数据库相关内容
#上传 tomcat-java-demo-master.zip 测试包并解压yum -y install unzip && unzip tomcat-java-demo-master.zip#创建对应的test库并导入表mysql -uroot -prootcreate 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环境后安装mavenyum -y install mavenPs:记得修改为阿里云源#修改jar包下的src/main/resources/application.yml的数据库连接地址url: jdbc:mysql://192.168.31.65:3306/test?characterEncoding=utf-8username: testpassword: 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文件执行podkubectl 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,svcPs:http://192.168.31.66:30805/
