下面是用于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
我在哪里出错了,或者下一步是什么?
1条答案
按热度按时间u7up0aaq1#
如果你在本地运行,你可以这样做:
kubectl port-forward -n default service/fleetman-webapp 30080:80
使用NodePort,它不会侦听环回地址(
localhost
)。相反,它将侦听Kubernetes节点的IP。因此,您必须执行端口转发,使其在localhost
上工作