gpt4 book ai didi

docker - 通过kubernetes nodeport我无法访问该应用程序

转载 作者:行者123 更新时间:2023-12-02 21:04:04 25 4
gpt4 key购买 nike

我进行配置,使我的服务建立在8080端口上。

我的Docker镜像也在8080上。

我将 ReplicaSet 设置为这样的配置

apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: my-app-backend-rs
spec:
containers:
- name: my-app-backend
image: go-my-app-backend
ports:
- containerPort: 8080
imagePullPolicy: Never

最后,我还在端口8080上使用以下配置创建类型 NodePort 的服务:
apiVersion: v1
kind: Service
metadata:
labels:
app: my-app-backend-rs
name: my-app-backend-svc-nodeport
spec:
type: NodePort
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
app: my-app-backend

在我对NodePort进行描述之后,我看到我应该在地址 http://127.0.0.1:31859上打(例如curl http://127.0.0.1:31859/)到我的应用程序,但是我没有任何回应。
Type:                     NodePort
IP: 10.110.250.176
Port: <unset> 8080/TCP
TargetPort: 8080/TCP
NodePort: <unset> 31859/TCP
Endpoints: 172.17.0.6:8080
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>

我不了解什么,我在做什么错?谁能解释给我听?

最佳答案

从您的输出中,我看到以下端点已创建。因此似乎已经准备好为该节点端口服务提供服务了。所以标签现在不再是问题。

Endpoints:                172.17.0.6:8080

首先,使用kubectl exec -it podname sh(如果curl安装在该pod容器中运行的镜像上)登录到pod之后,首先确保您能够通过运行curl http://podhostname:8080命令访问该应用程序。 Pod作为Sidecar,并从该Pod中尝试访问http:// <>:8080并确保其正常工作。

请记住,如果从主节点运行此命令,则不能以本地主机的身份访问nodeport服务,因为它将指向您的主节点。
您必须通过以下方法访问此服务。
<CLUSTERIP:PORT>---In you case:10.110.250.176:80
<1st node's IP>:31859
<2nd node's IP>:31859

关于docker - 通过kubernetes nodeport我无法访问该应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59130334/

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