栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

k8s部署并映射tomcat8

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

k8s部署并映射tomcat8

文章目录

2种创建部署的方式一、查找镜像二、部署tomcat(2种)

1.1、命令行方式创建部署

1.1.1、遇到这种请检查网络和docker1.1.2、模拟宕机tomcat效果,关闭node21.2.3 、暴漏tomcat访问 1.2、yaml方式创建部署

1.2.1、删除命令行创建的1.2.2、查看部署tomcat的yaml内容1.2.3、生成yaml文件1.2.4、部署,应用文件1.2.5、暴露(映射)端口出来

1.2.5.1、查看yaml内容1.2.5.2、信息合并到tomcat8.deployment.yaml文件1.2.5.4、删除刚才创建的部署,然后再次应用,创建映射以前生效 1.2.6、访问 三、命令扩容和缩容四、命令小结


2种创建部署的方式

有2种创建方式

    一种是采用命令行的模式一种是采用yaml文件的方式

kubectl文档 ==>官网文档

命令里面的资源类型==>官方文档

格式化输出==>官方文档

示例-常用操作==>官方文档

如图:


一、查找镜像

docker hub地址

如图:


二、部署tomcat(2种) 1.1、命令行方式创建部署
    主节点会去调度其他节点,来下载镜像,启动容器k8s里面最小的单位是pod,容器在pod里面k8s是基础docker,所以要配置镜像加速,不然很慢,很容易拉取失败要保证网络的稳定性和网速,不要使用手机热点

1、检查网络

ping www.baidu.com

2、拉取tomcat8

kubectl create deployment tomcat8 --image=tomcat:8.5.38-jre8

3、查看k8s里面的所有资源(里面有4部分)

kubectl get all

3、查看详细信息,查看toncat部署在哪个节点

kubectl get pods -o wide

4、查看pod的详细信息

kubectl describe pod

删除

# kubectl delete deploy/tomcat8

如图:

拉取中

1分钟后拉取成功-如图

1.1.1、遇到这种请检查网络和docker
    ImagePullBackOff 检查网络(docker、镜像加速、外网、部署的网络配置)ErrImagePull 镜像地址不对

官网说明

1.1.2、模拟宕机tomcat效果,关闭node2


1、查看节点状态

kubectl get nodes

node2状态为notReady

2、查看tomcat状态

    注明:需要一小会时间才会监控到(预计2-3分钟)master会在选一个节点,再次拉取tomcat
kubectl get pods -o wide

3、重启node2节点,他启动完会移除他下面的tomcat

1.2.3 、暴漏tomcat访问
    -port=80 指定pod端口–target-port=8080 pod容器暴漏的端口–type=NodePort 以什么形式暴漏

映射命令

kubectl expose deployment tomcat8 --port=80--target-port=8080--type=NodePort

删除服务

kubectl delete service/tomcat8

查看

kubectl get svc

#详细
kubectl get svc -o wide

如图:

访问ip:端口

    http://192.168.56.100:32742/http://192.168.56.101:32742/http://192.168.56.102:32742/都可以
1.2、yaml方式创建部署 1.2.1、删除命令行创建的
#查看
kubectl get all

#删除服务
kubectl delete service/tomcat8

#删除部署
kubectl delete deploy/tomcat8

如图:

1.2.2、查看部署tomcat的yaml内容

查看帮助

kubectl create deployment tomcat8 --image=tomcat:8.5.38-jre8 --help

表示尝试运行,加上 -o yaml 会打印成yaml格式

查看yaml内容

kubectl create deployment tomcat8 --image=tomcat:8.5.38-jre8 --dry-run -o yaml

1.2.3、生成yaml文件

输出到 tomcat8.deployment.yaml

kubectl create deployment tomcat8 --image=tomcat:8.5.38-jre8 --dry-run -o yaml >tomcat8.deployment.yaml

编码文件删除没用的信息,并设置创建3个

vi tomcat8.deployment.yaml

如图:

1.2.4、部署,应用文件
kubectl apply -f tomcat8.deployment.yaml 

如图:

1.2.5、暴露(映射)端口出来 1.2.5.1、查看yaml内容
kubectl expose deployment tomcat8 --port=80 --target-port=8080 --type=NodePort --dry-run -o yaml

1.2.5.2、信息合并到tomcat8.deployment.yaml文件

将映射的yaml内容复制到tomcat8.deployment.yaml

vi tomcat8.deployment.yaml 

1.2.5.4、删除刚才创建的部署,然后再次应用,创建映射以前生效

删除

kubectl apply -f tomcat8.deployment.yaml


再次应用文件

kubectl apply -f tomcat8.deployment.yaml 

如图:

1.2.6、访问

拓展:这边还可以结合ingress,采用域名的方式,并能负载聚合

三、命令扩容和缩容

扩容

#查看
kubectl get deployment

#扩容成3个
kubectl scale --replicas=3 deployment tomcat8

#pod信息
kubectl get pods -o wide

扩容如图:

缩容

# 缩容成1个
kubectl scale --replicas=1 deployment tomcat8

#pod信息
kubectl get pods -o wide

缩容如图:

四、命令小结
#查看节点
kubectl get nodes

#创建部署
kubectl create deployment tomcat8 --image=tomcat:8.5.38-jre8

#查看所有
kubectl get all

#查看pod详情
kubectl get pods

#查看pod详情
kubectl get pods -o wide

#查看pod的详情内容
kubectl describe pod

#服务详情
kubectl get svc -o wide

#删除部署
kubectl delete deploy/tomcat8

#删除service
kubectl delete service/tomcat8

#扩容tomcat8 为3
kubectl scale --replicas=3 deployment tomcat8

#缩容tomcat8 为1
kubectl scale --replicas=1 deployment tomcat8
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781125.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号