kubernetes部署并映射tomcat8(k8s)


2种创建部署的方式

有2种创建方式

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

kubectl文档 ==>官网文档

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

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

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

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


一、查找镜像

docker hub地址

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


二、部署tomcat(2种)

1.1、命令行方式创建部署

  1. 主节点会去调度其他节点,来下载镜像,启动容器
  2. k8s里面最小的单位是pod,容器在pod里面
  3. k8s是基础docker,所以要配置镜像加速,不然很慢,很容易拉取失败
  4. 要保证网络的稳定性和网速,不要使用手机热点

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

  1. ImagePullBackOff 检查网络(docker、镜像加速、外网、部署的网络配置)
  2. ErrImagePull 镜像地址不对

官网说明
在这里插入图片描述

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

在这里插入图片描述
1、查看节点状态

kubectl get nodes

node2状态为notReady

在这里插入图片描述

2、查看tomcat状态

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

在这里插入图片描述

3、重启node2节点,他启动完会移除他下面的tomcat
在这里插入图片描述

1.2.3 、暴漏tomcat访问

  1. -port=80 指定pod端口
  2. –target-port=8080 pod容器暴漏的端口
  3. –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:端口

  1. http://192.168.56.100:32742/
  2. http://192.168.56.101:32742/
  3. http://192.168.56.102:32742/
  4. 都可以
    在这里插入图片描述

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
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

suqinyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值