无法从浏览器访问Kubernetes服务

qrjkbowd  于 2023-05-28  发布在  Kubernetes
关注(0)|答案(1)|浏览(232)

下面是用于POD和服务的YAML文件

apiVersion: v1
kind: Pod
metadata:
  name: webapp
  labels:
    app: "webapp"

spec:
  containers:
  - name: webapp
    image: richardchesterwood/k8s-fleetman-webapp-angular:release0
    ports:
      - containerPort: 80

---

apiVersion: v1
kind: Service
metadata:
  name: fleetman-webapp

spec:
  selector:
    app: webapp

  ports:
    - name: http
      protocol: TCP
      port: 80
      nodePort: 30080
  
  type: NodePort

我想从浏览器访问Web应用程序并使用localhost:30080或minikube-ip:30080,但无法访问。
我通过进入pod的shell并执行以下命令来解决webapp镜像的问题

wget http://localhost:80
-- index.html got downloaded.


kubectl get all
NAME         READY   STATUS    RESTARTS   AGE
pod/webapp   1/1     Running   0          23m

NAME                      TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
service/fleetman-webapp   NodePort    10.96.240.170   <none>        80:30080/TCP   173m
service/kubernetes        ClusterIP   10.96.0.1       <none>        443/TCP        26h

我在哪里出错了,或者下一步是什么?

u7up0aaq

u7up0aaq1#

如果你在本地运行,你可以这样做:
kubectl port-forward -n default service/fleetman-webapp 30080:80
使用NodePort,它不会侦听环回地址(localhost)。相反,它将侦听Kubernetes节点的IP。因此,您必须执行端口转发,使其在localhost上工作

相关问题