使用Service里面的NodePort可以将端口号对外暴露,通过IP+端口号进行访问。
NodePort缺陷:
pod和ingress通过service关联。
ingress作为统一入口,由service关联一组pod


kubectl create deployment web --image=nginx
kubectl expose deployment web --port=80 --target-port=80 --type=NodePort
网上下载ingress-controller.yaml
apiVersion: v1
kind: Namespace
metadata:
name: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
---
...
...
将hostNetwork改为true
kubectl apply -f ingress-controller.yaml
查看ingress controller状态:
kubectl get pods -n ingress-nginx
创建ingress规则:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: example.ingressdemo.com
http:
paths:
- path: /
backend:
serviceName: web
servicePort: 80
kubectl apply -f
在Windows系统hosts文件中添加域名访问规则
192.168.44.145 example.ingressdemo.com
kubectl get ing