首页 » 网站推广 » php若何做k8s平台技巧_K8S实战之支配java应用

php若何做k8s平台技巧_K8S实战之支配java应用

访客 2024-11-17 0

扫一扫用手机浏览

文章目录 [+]

1.最小的支配单元,2.一组容器的凑集3.一个pod中的容器共享网络命名空间4.生命周期是短暂的

Controllers:

1.Deployment:支配无状态运用2.Statefulset:支配有状态运用3.Replicaset:确保预期的Pod副本数量4.Daemonset:确保node运行同一个pod5.Job:一次性任务6.Cronjob:定时任务更高等层次工具,支配和管理pod

Service:

php若何做k8s平台技巧_K8S实战之支配java应用

防止Pod失落联,找到你须要Pod定义一组Pod的负载均衡访问策略

Label:标签,附加到某个资源上,用于关联工具,查询和筛选

php若何做k8s平台技巧_K8S实战之支配java应用
(图片来自网络侵删)

Namespaces:命名空间,将工具进行逻辑上隔离或者资源隔离

项目迁移到k8s平台是怎么样的流程?

根本镜像(一个空缺的镜像)---------------运行环境镜像(py/php/go/java)---------------项目镜像(项目打包)

实战项目开始

1.0将java源码程序项目包导入到master做事器上,如图所示

1将db目录下数据文件导入mysql中(node01)

#192.168.106.103数据库实行source/root/tables_ly_tomcat.sqlgrantallontest.to'test'@'%'identifiedby"Zhangfan@123";#增加一个授权用户,在master登录能正常登录

修正连接数据库的配置文件,改成刚才数据授权的用户和ip

vimsrc/main/resources/application.yml

2开始制作镜像java镜像(master)

我在之前的博文中讲了如何构建java镜像 https://blog.csdn.net/weixin_43546282/article/details/112210164

catDockerfileFROMcentos:7MAINTAINERzhangfanENVVERSION=8.5.61RUNyuminstalljava-1.8.0-openjdkwgetcurlunzipiproutenet-tools-y&&\yumcleanall&&\rm-rf/var/cache/yum/RUNwgethttps://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz&&\tarzxfapache-tomcat-${VERSION}.tar.gz&&\mvapache-tomcat-${VERSION}/usr/local/tomcat&&\rm-rfapache-tomcat-${VERSION}.tar.gz/usr/local/tomcat/webapps/&&\mkdir/usr/local/tomcat/webapps/test&&\echo"ok">/usr/local/tomcat/webapps/test/status.html&&\sed-i'1aJAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"'/usr/local/tomcat/bin/catalina.sh&&\ln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtimeENVPATH$PATH:/usr/local/tomcat/binWORKDIR/usr/local/tomcatEXPOSE8080CMD["catalina.sh","run"]

安装编译环境

yum-yinstalljava-1.8.0-openjdkmavencd/root/tomcat-java-demo-mastervimsrc/main/resources/application.yml#修正配置文件指定刚才创建用户的数据库mvncleanpackage-Dmaven.test.skip=true

编译完成如图所示,天生一个war包

制作新Dockerfile

catDockerfileFROMtomcat:v1LABELtestwww.zhangsan.comRUNrm-rf/usr/local/tomcat/webapps/ADDtarget/.war/usr/local/tomcat/webapps/ROOT.war#把稳这里命名`zhangfan5391621/java-demo`zhangfan5391621表示dockerhub仓库登录名/java-demo为项目名dockerbuild-tzhangfan5391621/java-demo.

构建完成如图所示,新项目镜像构建完成

3将镜像推入docker hub仓库中

https://hub.docker.com/repository/docker/zhangfan5391621/zf_test

docker push zhangfan5391621/java-demo #上传到docker hub仓库中去

4天生k8s-Pod

kubectlcreatedeploymentjava-demo--image=zhangfan5391621/java-demo--dry-run-oyaml>deploy.yaml

在本地天生一个yaml标准文件

catdeploy.yamlapiVersion:apps/v1kind:Deploymentmetadata:labels:app:java-demoname:java-demospec:replicas:3#三个副本selector:matchLabels:app:java-demotemplate:metadata:labels:app:java-demospec:containers:-image:zhangfan5391621/java-demoname:java-demo

kubectlapply-fdeploy.yaml#构建podkubectlgetpods#全部状态running解释构建成功

检讨pod日志,无缺点解释成功,如果报错状态不对用下面命令检讨

`kubectldescribenodesk8s-node01#检讨node``kubectllogsjava-demo-876cf6688-57jzf`5 暴露运用svc

kubectlexposedeploymentjava-demo--port=80--target-port=8080--type=NodePort-oyaml--dry-run>svc.yaml

java-demo :刚才创建deployment时的名称, --port=80:容器内部访问端口 --target-port=8080 :指定pod内部端口 --type=NodePort: 指定外部访问的端口为随机天生端口

kubectlapply-fsvc.yaml#创建svckubectlgetpods,svc

http://192.168.106.102:30187/ #任意节点ip:30187都能正常访问

至此项目支配完成

全体完成顺序是

构建环境镜像----------构建项目镜像----------推送到hub仓库----------构建Pod----------暴露运用svc

后面会分享更多运维方面内容,感兴趣的朋友可以关注下!

特殊声明:本文为【奋斗的小白】投稿,仅代表作者不雅观点。
马哥教诲仅供应信息发布平台。

点击理解更多,阅读《生产级harbor可用的搭建》

标签:

相关文章

php图片小偷源码技巧_PHP采集 抓取

一、 什么是php采集程序?二、 为什么要采集?三、 采集些什么?四、 如何采集?五、 采集思路六、 采集范例程序七、 采集心得什...

网站推广 2024-12-11 阅读0 评论0