总体介绍
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/
(亲做可用)