一、创建命名空间
点击集群名称进入集群详情
二、创建Deployment
选择命名空间:tomcat-test,输入deployment的名称:tomcat-test,副本数:2,容器名称:tomcat-test,镜像:tomcat:9.0.70-jdk8-corretto-al2,拉取策略:IfNotPresent
添加标签:app=tomcat,给pod也打app=tomcat标签
设置完成后,点击创建:镜像会在所有worker节点下载。
三、创建Service
输入service的名称:tomcat-svc,服务端口号名称:tomcat-port,监听端口:8080,目标端口:8080,节点端口:30080
添加选择器app=tomcat,点击创建
k8s任何一个节点+端口 30080,可以访问内部的tomcat
问题
访问tomcat报404
解决
1.tomcat容器内部
kubectl exec -it pod名称 -n 命名空间 bash
2.修改webapps.dist为webapps
webapps目录为空
webapps.dist有内容
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
5、访问资源
在集群外通过集群内任意一台节点的IP+Port就可以访问,由于还没有配置被代理的服务,所以返回404
6、创建ingress规则
输入ingress资源的名称:tomcat-test,请求主机域名:tomcat-test.example.com,路径:/,目标服务:tomcat-svc,端口:8080
添加注解:kubernetes.io/ingress.class=nginx,点击创建
7、配置hosts文件
添加本地hosts解析,在C:\Windows\System32\drivers\etc\hosts文件中添加一行
#从三台节点中任选一台的IP进行映射
ip tomcat-test.example.com
8、访问