Rancher仪表盘部署tomcat服务

487 阅读1分钟

一、创建命名空间

点击集群名称进入集群详情

image.png

image.png

image.png

image.png

二、创建Deployment

image.png

image.png

选择命名空间:tomcat-test,输入deployment的名称:tomcat-test,副本数:2,容器名称:tomcat-test,镜像:tomcat:9.0.70-jdk8-corretto-al2,拉取策略:IfNotPresent

image.png

添加标签:app=tomcat,给pod也打app=tomcat标签

image.png

设置完成后,点击创建:镜像会在所有worker节点下载。

image.png

三、创建Service

image.png

image.png

输入service的名称:tomcat-svc,服务端口号名称:tomcat-port,监听端口:8080,目标端口:8080,节点端口:30080

image.png

添加选择器app=tomcat,点击创建

image.png

image.png

k8s任何一个节点+端口 30080,可以访问内部的tomcat

image.png

问题

访问tomcat报404

解决

1.tomcat容器内部

kubectl exec -it pod名称 -n 命名空间 bash

image.png

2.修改webapps.dist为webapps

webapps目录为空

image.png

webapps.dist有内容

image.png

3.退出容器,再访问即可

exec

四、创建Ingress资源

1、安装Ingress-controller七层代理

下载资源清单:github.com/kubernetes/…

2、替换镜像

由于国内访问不了谷歌,需要更改deploy.yaml文件中的镜像

registry.k8s.io/ingress-nginx/controller:v1.5.1@sha256:4ba73c697770664c1e00e9f968de14e08f606ff961c76e5d7033a4a9c593c629
#替换成
registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.1.0

registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20220916-gd32f8c343@sha256:39c5b2e3310dc4264d638ad28d9d1d96c4cbb2b2dcfb52368fe4e3c63f61e10f
#替换成
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-webhook-certgen:v1.1.1

3、创建nginx ingress

kubectl apply -f deploy.yaml

4、查看资源

kubectl get svc,po -n ingress-nginx

image.png

5、访问资源

在集群外通过集群内任意一台节点的IP+Port就可以访问,由于还没有配置被代理的服务,所以返回404

image.png

6、创建ingress规则

image.png

输入ingress资源的名称:tomcat-test,请求主机域名:tomcat-test.example.com,路径:/,目标服务:tomcat-svc,端口:8080

image.png

添加注解:kubernetes.io/ingress.class=nginx,点击创建

image.png

image.png

7、配置hosts文件

添加本地hosts解析,在C:\Windows\System32\drivers\etc\hosts文件中添加一行

#从三台节点中任选一台的IP进行映射
ip  tomcat-test.example.com 

8、访问

image.png

image.png