Kubernetes服务节点端口未连接
我正在windows 10上使用minikube。我生成kubernetes节点端口服务,以便从客户端web浏览器进行访问。首先,以下代码是资源配置文件Kubernetes服务节点端口未连接,kubernetes,minikube,kubernetes-service,Kubernetes,Minikube,Kubernetes Service,我正在windows 10上使用minikube。我生成kubernetes节点端口服务,以便从客户端web浏览器进行访问。首先,以下代码是资源配置文件 apiVersion: v1 kind: Pod metadata: name: blog-system labels: app: blog-pod spec: containers: - name: blog-app image: app:latest imagePullPolicy: Never
apiVersion: v1
kind: Pod
metadata:
name: blog-system
labels:
app: blog-pod
spec:
containers:
- name: blog-app
image: app:latest
imagePullPolicy: Never
ports:
- containerPort: 8080
args: ["-t", "-i"]
- name: blog-mysql
image: mysql:latest
env:
- name: MYSQL_ROOT_PASSWORD
value: password
- name: MYSQL_PASSWORD
value: password
- name: MYSQL_DATABASE
value: test
ports:
- containerPort: 3306
---
apiVersion: v1
kind: Service
metadata:
name: blog-app-svc
spec:
type: NodePort
selector:
app: blog-pod
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 80
nodePort: 31000
Kubernetes吊舱和服务已成功生成
> kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
blog-app-svc NodePort 10.100.32.119 <none> 8080:31000/TCP 79s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5m54s
> minikube service blog-app-svc --url
http://192.168.5.25:31000
我不知道资源配置文件、服务部件或pod部件上的错误在哪里。任何想法,请。看来您的节点端口的配置是正确的。故障排除的一些建议是,这可能是由Kubernetes Worker节点上运行的防火墙引起的 因此,请确保31000已打开,并且您应该能够从Kubernetes API服务器解析该IP
其次,您应该考虑向集群中添加一个节点,这样就不必使用节点报告。除了调试之外,它们实际上不用于任何其他用途。看来,节点端口的配置是正确的。故障排除的一些建议是,这可能是由Kubernetes Worker节点上运行的防火墙引起的 因此,请确保31000已打开,并且您应该能够从Kubernetes API服务器解析该IP 其次,您应该考虑向集群中添加一个节点,这样就不必使用节点报告。除了调试之外,它们实际上不用于任何其他用途。您服务的targetPort与Pod的containerPort不匹配 您的服务声明表示,群集中任何节点上的nodePort 31000,或群集中特殊主机名blog-app-svc.default.svc.cluster.local上的端口8080,将转发到某个pod中带有app:blog pod标签的targetPort 80。你有那个吊舱,但它在监听端口8080和3306,而不是端口80 如果您交换端口和目标端口,则服务上的默认HTTP端口80将转发到您的pod中的端口8080,这可能是您的目标端口。服务的目标端口与您的pod的containerPort不匹配 您的服务声明表示,群集中任何节点上的nodePort 31000,或群集中特殊主机名blog-app-svc.default.svc.cluster.local上的端口8080,将转发到某个pod中带有app:blog pod标签的targetPort 80。你有那个吊舱,但它在监听端口8080和3306,而不是端口80
如果您交换端口和目标端口,则服务上的默认HTTP端口80将转发到pod中的端口8080,这可能就是您所要的。好的方面,我的错误。我在家里有一台专用服务器,所以我很少使用Minikube。说得好,我错了。我在家里有一台专用服务器,所以我很少使用Minikube。
http://10.100.32.119:31000
http://10.100.32.119:8080
http://192.168.5.25:31000