kubernetes 无法使用NodePort连接到KB外部服务

mitkmikd  于 2023-05-16  发布在  Kubernetes
关注(0)|答案(2)|浏览(194)

我似乎找不到为什么无法连接到我通过NodePort公开的端点。当运行kubectl logs <pod>时,容器按预期运行,我无法访问:
http://<node ip>:30100/<valid endpoint form container>
其中<node ip>是在INTERNAL IP下运行kubectl get nodes -o wide的ip。
我不确定问题是否存在于部署yaml中。下面是我应用到集群的单个部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: auth-app-deployment
  labels:
    app: auth-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: auth-app
  template:
    metadata:
      labels:
        app: auth-app
    spec:
      containers:
        - name: auth-app
          image: <working image>
          ports:
            - containerPort: 80

---
apiVersion: v1
kind: Service
metadata:
  name: auth-app-service
spec:
  type: NodePort
  selector:
    app: auth-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 30100

下面是运行kubectl get all的结果:

NAME                                       READY   STATUS    RESTARTS   AGE
pod/auth-app-deployment-58cd68d8cf-mjpph   1/1     Running   0          29m

NAME                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
service/auth-app-service   NodePort    10.104.172.176   <none>        80:30100/TCP   138m
service/kubernetes         ClusterIP   10.96.0.1        <none>        443/TCP        150m

NAME                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/auth-app-deployment   1/1     1            1           138m

NAME                                             DESIRED   CURRENT   READY   AGE
replicaset.apps/auth-app-deployment-58cd68d8cf   1         1         1       29m

PS:我用的是minikube

9nvpjoqh

9nvpjoqh1#

由于您使用的是NodePort服务,因此无法使用群集IP,因为群集IP与节点IP不同。假设你只有一个有1个节点(因为你使用的是minikube),你需要使用从地址部分下的kubectl describe nodes获得的IP,使用InternalIP值。
您的URL将是http://<node_ip>:30100/<valid endpoint form container>

ffscu2ro

ffscu2ro2#

如果有人在minikube上遇到同样的问题,你可以使用I fixed the by using minikube service <service>命令将服务暴露给localhost,就像kubectl中的port forward命令一样。
在我的例子中,命令看起来像这样:

minikube service auth-app-service

相关问题