实施的流量:
client ---> Ingress (SSL,LoadBalancer) --> my_web(service) -> PODs
入口:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: foo
spec:
ingressClassName: nginx
rules:
- host: "test.foo.com"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: my_web
port:
number: 8080
无法连接入口端口 80:
curl http://test.foo.com:80 <--- could not connect
test.foo.com 在主机文件中映射到 127.0.0.1。
可以直接连接到my_web服务(loadBalancer)
curl http://localhost:8080 <---- success
ingress 是否对外暴露任何端口?
my_web_service.yaml
apiVersion: v1
kind: Service
metadata:
name: my_web
labels:
app: my_web
spec:
ports:
- name: http
port: 8080
targetPort: 8080
selector:
app: my_web
type: LoadBalancer
my_web_deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my_web
labels:
app: my_web
spec:
selector:
matchLabels:
app: my_web
template:
metadata:
labels:
app: my_web
spec:
containers:
- image: my_web:latest
name: my_web
ports:
- containerPort: 8080
我用 helm 安装 ingressController 编辑主机网络:true
⋊> ubuntu@server71 ⋊> ~/h/i/helm-ingress kubectl 获取全部 -n ingress-nginx-2024 -owide 10:05:11 名称就绪状态重新启动年龄 IP 节点指定节点就绪门 pod/nginx-ingress-controller-59d5b69746-trf5b 1/1 运行 0 4s 103.143.207.51 server51
名称 类型 集群 IP 外部 IP 端口 年龄选择器 服务/nginx-ingress-controller LoadBalancer 10.233.3.164 80:32320/TCP,443:30437/TCP 15h app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=nginx-ingress
名称已准备好最新可用年龄容器图像选择器 部署.apps/nginx-ingress-controller 1/1 1 1 15h nginx-ingress nginx/nginx-ingress:3.4.3 app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=nginx-ingress
命名所需的当前就绪容器图像选择器 plicaset.apps/nginx-ingress-controller-59d5b69746 1 1 1 15h nginx-ingress nginx/nginx-ingress:3.4.3 app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=nginx-ingress ,pod-template-hash=59d5b69746 plicaset.apps/nginx-ingress-controller-5d6fd69877 0 0 0 7h58m nginx-ingress nginx/nginx-ingress:3.4.3 app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=nginx-ingress ,pod-template-hash=5d6fd69877 plicaset.apps/nginx-ingress-controller-649cd64c4f 0 0 0 15h nginx-ingress nginx/nginx-ingress:3.4.3 app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=nginx-ingress ,pod-template-hash=649cd64c4f
但是如果你已经使用了 helm 还是有问题,你可以尝试编辑 HostNetwork 并升级 helm,然后删除要部署的 pod 并重新创建 pod,现在 使用
就你而言