k8s部署tomcat

总体介绍

1.编辑deployment文件

2.创建service文件

3.应用 deployment文件,应用service文件

4.进入docker 设置webapps

5.访问即可

主机列表:

master:192.168.91.129

node2:192.168.91.128

1.建议先创建好namespace,这个是用来做资源隔离用的,如果不提前创建的话会用默认的,不利于管理。

kubectl create namespace tomcat

2.vim tomcat-deployment.yaml

指定Kubernetes API版本,Deployment资源属于apps/v1版本

apiVersion: apps/v1

定义资源类型为Deployment,用于管理Pod的部署和更新

kind: Deployment

元数据部分,定义Deployment的名称和命名空间

metadata:

Deployment的名称,在命名空间内唯一标识此部署

name: tomcat-deployment

指定部署所在的命名空间,命名空间用于资源隔离

namespace: tomcat

Deployment的规格定义

spec:

指定需要运行的Pod副本数量,这里设置为2个实例

replicas: 2

标签选择器,用于识别和管理由该Deployment创建的Pod

selector:

matchLabels:

匹配具有app=tomcat标签的Pod

app: tomcat

Pod模板定义,用于创建新的Pod

template:

Pod的元数据

metadata:

为Pod设置标签,这些标签会被selector.matchLabels使用

labels:

app: tomcat

Pod的规格定义

spec:

容器列表,定义在Pod中运行的容器

containers:

第一个容器定义

  • name: tomcat

使用的容器镜像,这里是华为云SWR仓库中的Tomcat 8.5版本镜像

image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/tomcat:8.5-jdk8

容器端口配置

ports:

端口定义

  • name: http # 端口名称,可用于服务发现和监控

containerPort: 8080 # 容器内部暴露的端口号,Tomcat默认使用8080端口

添加资源请求和限制

resources:

requests:

memory: "512Mi" # 容器启动时请求的内存资源

cpu: "250m" # 容器启动时请求的CPU资源(250 milliCPU)

limits:

memory: "1024Mi" # 容器最大可使用的内存

cpu: "500m" # 容器最大可使用的CPU(500 milliCPU)

3.编写好后执行以下命令创建tomcat 的Pod

kubectl apply -f tomcat-deployment.yaml

如看到deployment.apps/tomcat-deployment created说明成功创建pod

4.执行以下命令显示你创建的pod

kubectl get pods -n tomcat # -n 指定命名空间,单独-A会得到全部的pod

5.vim tomcat-service.yaml

apiVersion: v1

kind: Service

metadata:

name: tomcat-service

namespace: tomcat

spec:

selector:

app: tomcat

ports:

  • name: http

targetPort: 8080

port: 8080

nodePort: 30080

type: NodePort

6.启动service

kubectl apply -f tomcat-service.yaml

7.查看启动的service

kubectl get service -n tomcat

8.进入容器

kubectl exec -it tomcat-deployment-7f56bbf454-hfqqn -c tomcat -n tomcat -- /bin/bash

9.复制目录进webapps

cp -R webapps.dist/* webapps/

10.访问验证

http://192.168.91.128:30080/

(亲做可用)

参考:K8s部署tomcat教程-CSDN博客