k8s集群版本
k8s集群版本是1.22

提前部署好nginx服务和创建好svc
deployment方式部署的nginx服务,1个副本

创建的服务

通过服务可以代理到nginx服务
curl 10.105.183.50:801

安装helm管理工具
https://helm.sh/docs/intro/install/
tar -zxvf helm-v3.6.3-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
helm version

添加ingress的helm仓库
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo list

搜索ingress-nginx
helm search repo ingress-nginx

下载
helm pull ingress-nginx/ingress-nginx --version 4.0.6
解压、配置
tar xf ingress-nginx-4.0.1.tgz
cd ingress-nginx
vim values.yaml
配置文件已经放到网盘
部署ingress-nginx-controller
创建命名空间:kubectl create ns ingress-nginx
安装到node1,给node1打标签:kubectl label node k8s-node01 ingress=true
安装helm install ingress-nginx -n ingress-nginx .
查看:kubectl get po -n ingress-nginx

服务


创建ingress
使用v1版本
vim ingress-v1.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: www.baidu2.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nginx-svc
port:
number: 801
kubectl create -f ingress-v1.yaml
kubectl get ingress

通过ingress暴露的域名访问
由于没有域名,这里只是简单模拟,
修改host文件:C:WindowsSystem32driversetchosts
最后一行添加:192.168.117.145 www.baidu2.com
请求域名,先从本地hosts文件找
访问首页

查看容器

进入到容器,添加一个页面

不加路径,默认就是访问的index.html

访问添加的页面

至此,可以通过ingress把请求代理到svc,svc代理到pod。