gpt4 book ai didi

docker - Kubernetes NodePort无法正常工作

转载 作者:行者123 更新时间:2023-12-02 20:33:30 24 4
gpt4 key购买 nike

我在本地计算机和一个树莓派上有一个集群Kubernetes集群。为了测试集群,我创建了一个nginx部署和一个我想作为NodePort访问的服务。但是因为上帝知道原因,所以我无法使用上述服务。下面是我的部署和服务文件。
kubectl get nodes

NAME      STATUS                        ROLES    AGE    VERSION
anima Ready master 7d5h v1.16.1
bahamut Ready <none> 7d4h v1.16.1


我的服务和部署文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
resources:
limits:
memory: "128Mi"
cpu: "500m"
ports:
- containerPort: 80
nodeSelector:
kubernetes.io/hostname: bahamut


apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
selector:
app: nginx
ports:
- port: 3030
targetPort: 80
type: NodePort


kubectl get pods -o wide之后:
NAME                     READY   STATUS    RESTARTS   AGE     IP            NODE      NOMINATED NODE   READINESS GATES
nginx-67c8c4b564-6x7g5 1/1 Running 0 6m21s 10.244.1.13 bahamut <none> <none>


我的部署, kubectl get deployments -o wide:
NAME    READY   UP-TO-DATE   AVAILABLE   AGE     CONTAINERS   IMAGES         SELECTOR
nginx 1/1 1 1 7m55s nginx nginx:latest app=nginx

我的服务, kubectl get svc -o wide:
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE     SELECTOR
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 7d5h <none>
nginx NodePort 10.102.203.77 <none> 3030:30508/TCP 8m54s app=nginx


最后, kubectl get endpoints -o wide:
NAME         ENDPOINTS           AGE
kubernetes 192.168.25.4:6443 7d5h
nginx 10.244.1.13:80 9m41s



我的Kubernetes主本地IP是 192.168.25.4,我的树莓派IP是 192.168.25.6。部署服务后,我尝试:
curl 192.168.25.6:3030
curl: (7) Failed to connect to 192.168.25.6 port 3030: Connection refused

curl 192.168.25.6:80
curl: (7) Failed to connect to 192.168.25.6 port 80: Connection refused

curl 192.168.25.6:30508 (hangs)


还尝试使用主节点IP,服务IP和列出的群集IP,但没有任何效果。

编辑

如果我在部署上使用 hostNetwork=true并使用容器端口上的节点本地IP对其进行访问,则它会起作用,但是显然这不是我想要的。我想了解为什么Kubernetes不允许我通过该服务访问容器。

最佳答案

如果您使用的是30508,则NodePort会在静态端口(NodePort)的每个节点IP上公开服务。请查看更多详细信息here

this将共享有关裸机集群的更多详细信息。

关于docker - Kubernetes NodePort无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58368366/

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