无法通过浏览器访问kubernetes服务
我是kubernetes的新手,正在尝试部署一个简单的hello world应用程序。我正在使用Ubuntu 20.04并在VMware工作站上运行它。我已安装minikube并正在尝试部署。但是,POD已部署,但无法通过浏览器访问服务 下面是我的无法通过浏览器访问kubernetes服务,kubernetes,yaml,minikube,Kubernetes,Yaml,Minikube,我是kubernetes的新手,正在尝试部署一个简单的hello world应用程序。我正在使用Ubuntu 20.04并在VMware工作站上运行它。我已安装minikube并正在尝试部署。但是,POD已部署,但无法通过浏览器访问服务 下面是我的部署.yaml文件: --- kind: Service apiVersion: v1 metadata: name: exampleservice spec: selector: name: myapp ports: -
部署.yaml
文件:
---
kind: Service
apiVersion: v1
metadata:
name: exampleservice
spec:
selector:
name: myapp
ports:
- protocol: "TCP"
# Port accessible inside cluster
port: 8081
# Port to forward to inside the pod
targetPort: 8080
# Port accessible outside cluster
nodePort: 30000
type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: myappdeployment
spec:
replicas: 5
selector:
matchLabels:
name: myapp
template:
metadata:
labels:
name: myapp
spec:
containers:
- name: myapp
image: pritishkapli/example:v1.0.0
ports:
- containerPort: 8080
resources:
limits:
memory: 512Mi
cpu: "1"
requests:
memory: 256Mi
cpu: "0.2"
以下是kubernetes服务:
pritish@ubuntu:~$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
exampleservice LoadBalancer 10.101.149.155 <pending> 8081:30000/TCP 12m
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 9h
请帮忙
PS:我已经更新了
部署.yaml
文件,它正在按预期工作。您不能使用loadbalance类型部署您的服务,因为您的群集点未设置loadbalancer。尝试使用类型NodePort或clusterIP部署服务无法使用类型loadbalance部署服务,因为您的群集点未设置loadbalancer。尝试使用NodePort或clusterIP类型部署您的服务TL;DR
这不是负载平衡器类型的服务
的问题,而是服务规范选择器
值与部署规范选择器匹配标签
值之间的不匹配问题
如何修复设置?
要修复设置,您可以使用服务
或部署
中的相同值
请仅选择以下选项之一:
deployment.yaml
更改:
apiVersion:apps/v1
种类:部署
元数据:
名称:myappdeployment
规格:
副本:5份
选择器:
火柴标签:
app:myapp#TL;DR
这不是负载平衡器类型的服务
的问题,而是服务规范选择器
值与部署规范选择器匹配标签
值之间的不匹配问题
如何修复设置?
要修复设置,您可以使用服务
或部署
中的相同值
请仅选择以下选项之一:
deployment.yaml
更改:
apiVersion:apps/v1
种类:部署
元数据:
名称:myappdeployment
规格:
副本:5份
选择器:
火柴标签:
app:myapp#这能回答你的问题吗?这回答了你的问题吗?谢谢但是,我仍然无法在浏览器中访问。Minicube IP:192.168.49.2
。我正在我的浏览器中尝试此url:192.168.49.2:30000
。我做得对吗?更多的信息对不起。看了链接后不太明白。在我的yaml文件中有什么要做的吗?获得以下输出:pritish@ubuntu:~/kubernetes/exampleapp$curlhttp://192.168.49.2:30000
curl:(7)无法连接到192.168.49.2端口30000:连接被拒绝
谢谢。但是,我仍然无法在浏览器中访问。Minicube IP:192.168.49.2
。我正在我的浏览器中尝试此url:192.168.49.2:30000
。我做得对吗?更多的信息对不起。看了链接后不太明白。在我的yaml文件中有什么要做的吗?获得以下输出:pritish@ubuntu:~/kubernetes/exampleapp$curlhttp://192.168.49.2:30000
curl:(7)无法连接到192.168.49.2端口30000:连接被拒绝
Hi,感谢您的详细解释。我正在使用类型:NodePort
。我已经在我的问题部分更新了yaml文件。请确认我做得是否正确。@请注意,我可以看到您包含的YAML
清单是正确的。您应该能够通过以下方式与应用程序通信:minikube\u ip:nodeport
。谢谢Dawid。我现在可以与应用程序通信了。您好,谢谢您的详细解释。我正在使用类型:NodePort
。我已经在我的问题部分更新了yaml文件。请确认我做得是否正确。@请注意,我可以看到您包含的YAML
清单是正确的。您应该能够通过以下方式与应用程序通信:minikube\u ip:nodeport
。谢谢Dawid。我现在可以与应用程序进行通信。
pritish@ubuntu:~$ kubectl get pods
NAME READY STATUS RESTARTS AGE
myappdeployment-b85b56d64-knhhc 1/1 Running 0 17m
myappdeployment-b85b56d64-m4vbg 1/1 Running 0 17m
myappdeployment-b85b56d64-qss4l 1/1 Running 0 17m
myappdeployment-b85b56d64-r2jq4 1/1 Running 0 17m
myappdeployment-b85b56d64-tflnz 1/1 Running 0 17m
NAME ENDPOINTS AGE
exampleservice <none> 2m3s