gpt4 book ai didi

kubernetes - 为什么Nginx Ingress Minikube插件hostPort可以工作,而hostPort不能用于其他任何插件?

转载 作者:行者123 更新时间:2023-12-02 12:14:54 26 4
gpt4 key购买 nike

在minikube中,有一个使用80和443主机端口的nginx入口插件。显然,来自外部的流量可以到达这些端口。但是,如果您使用带有hostPort: 9999的容器创建了一个容器,例如telnet $(minikube ip) 9999将得到以下结果:

Trying 192.168.99.165...
telnet: connect to address 192.168.99.165: Connection refused
telnet: Unable to connect to remote host

Nginx入口 Controller 在做一些特殊的魔术吗?如果是这样,我还能使用什么魔术?

请没有有关使用NodePort的答案。

最佳答案

没有特别的魔法。我怀疑您正在收到该telnet响应,因为在设置hostPort: 9999的容器中没有监听端口9999。

运行minikube ssh并查看netstat -nlt,您将在其中看到端口9999。尝试在开放的hostPort上运行真实的服务侦听,它应该可以正常工作,例如

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
run: redis
name: redis
spec:
replicas: 1
selector:
matchLabels:
run: redis
template:
metadata:
labels:
run: redis
spec:
containers:
- image: redis
imagePullPolicy: Always
name: redis
ports:
- containerPort: 6379
hostPort: 6379
protocol: TCP

从我的终端:
> telnet $(minikube ip) 6379
Trying 192.168.99.189...
Connected to 192.168.99.189.
Escape character is '^]'.

如果在端口9999上监听了某些内容,则Kubernetes在主机和容器之间设置代理的方式可能存在问题。您可以寻找 docker-proxy进程来检查以下内容:
$ ps aux | grep docker-proxy
root 3579 0.0 0.0 3668 1768 ? Sl 14:43 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 10000 -container-ip 172.17.0.2 -container-port 10000
root 19862 0.0 0.0 9240 476 pts/1 S+ 16:21 0:00 grep docker-proxy
root 23466 0.0 0.0 3668 1768 ? Sl 15:20 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 18080 -container-ip 172.17.0.9 -container-port 18080
root 23480 0.0 0.0 3668 1768 ? Sl 15:20 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 443 -container-ip 172.17.0.9 -container-port 443
root 23494 0.0 0.0 3668 1676 ? Sl 15:20 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.17.0.9 -container-port 80
root 25840 0.0 0.0 3668 1768 ? Sl 15:24 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9999 -container-ip 172.17.0.10 -container-port 9999
$

关于kubernetes - 为什么Nginx Ingress Minikube插件hostPort可以工作,而hostPort不能用于其他任何插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58063107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com