在端口 80 上访问 nginx ingress controller
Accessing nginx ingress controller on port 80
我可以在 NodePort
上访问 nginx ingress controller
。我的目标是访问 port 80
.
上的控制器
Output of kubectl -n ingress-nginx describe service/ingress-nginx
Name: ingress-nginx
Namespace: ingress-nginx
Labels: app.kubernetes.io/name=ingress-nginx
app.kubernetes.io/part-of=ingress-nginx
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app.kubernetes.io/name":"ingress-nginx","app.kubernetes.io/par...
Selector: app.kubernetes.io/name=ingress-nginx,app.kubernetes.io/part-of=ingress-nginx
Type: NodePort
IP: 10.100.48.223
Port: http 80/TCP
TargetPort: 80/TCP
NodePort: http 30734/TCP
Endpoints: 192.168.0.8:80
Port: https 443/TCP
TargetPort: 443/TCP
NodePort: https 32609/TCP
Endpoints: 192.168.0.8:443
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
我对解决这个问题没有什么想法:
- 通过
iptables
将端口 30734 上的传入流量重定向到端口 80
- 调整节点端口的范围,使端口 80 也可以成为节点端口
我不确定这些是否是执行此操作的常用方法,所以我很想听听您通常如何处理此问题。可能还需要另一个组件?
处理此问题的正常方法是使用 LoadBalancer 模式服务,它将云负载平衡器放在现有 NodePort 前面,以便您可以将正常端口重新映射回它。
您应该将 nginx 服务的类型从 NodePort
更改为 LoadBalancer
。
示例清单如下所示:
spec:
ports:
- name: nginx
port: 80
protocol: TCP
targetPort: 8000 // Your nginx port
type: LoadBalancer
我可以在 NodePort
上访问 nginx ingress controller
。我的目标是访问 port 80
.
Output of
kubectl -n ingress-nginx describe service/ingress-nginx
Name: ingress-nginx
Namespace: ingress-nginx
Labels: app.kubernetes.io/name=ingress-nginx
app.kubernetes.io/part-of=ingress-nginx
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app.kubernetes.io/name":"ingress-nginx","app.kubernetes.io/par...
Selector: app.kubernetes.io/name=ingress-nginx,app.kubernetes.io/part-of=ingress-nginx
Type: NodePort
IP: 10.100.48.223
Port: http 80/TCP
TargetPort: 80/TCP
NodePort: http 30734/TCP
Endpoints: 192.168.0.8:80
Port: https 443/TCP
TargetPort: 443/TCP
NodePort: https 32609/TCP
Endpoints: 192.168.0.8:443
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
我对解决这个问题没有什么想法:
- 通过
iptables
将端口 30734 上的传入流量重定向到端口 80
- 调整节点端口的范围,使端口 80 也可以成为节点端口
我不确定这些是否是执行此操作的常用方法,所以我很想听听您通常如何处理此问题。可能还需要另一个组件?
处理此问题的正常方法是使用 LoadBalancer 模式服务,它将云负载平衡器放在现有 NodePort 前面,以便您可以将正常端口重新映射回它。
您应该将 nginx 服务的类型从 NodePort
更改为 LoadBalancer
。
示例清单如下所示:
spec:
ports:
- name: nginx
port: 80
protocol: TCP
targetPort: 8000 // Your nginx port
type: LoadBalancer