我正在运行minikube。 Minikube状态结果为:
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100
我定义了一个服务,具有以下端口配置:
type: NodePort
ports:
- protocol: TCP
port: 8082
targetPort: 8082
nodePort: 30082
但是当我尝试通过以下URL访问该服务时,无法访问它:
http://192.168.99.100:30082
http://192.168.99.100:8082
是否必须另外定义一个Ingress?我可以没有Ingress吗?哪个端口?
谢谢-基督教徒
该服务的完整文字以下:
apiVersion: v1
kind: Service
metadata:
annotations:
description: LAC 51 Service
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"description":"LAC 51 Service"},"labels":{"name":"lac51","service":"lac51-svc"},"name":"lac51-svc","namespace":"default"},"spec":{"ports":[{"name":"lac51-http-port","nodePort":30082,"port":8082,"protocol":"TCP","targetPort":8082}],"selector":{"app":"lac51"},"type":"NodePort"}}
creationTimestamp: null
labels:
name: lac51
service: lac51-svc
name: lac51-svc
selfLink: /api/v1/namespaces/default/services/lac51-svc
spec:
externalTrafficPolicy: Cluster
ports:
- name: lac51-http-port
port: 8082
protocol: TCP
targetPort: 8082
selector:
app: lac51
sessionAffinity: None
type: NodePort
status:
loadBalancer: {}
答案 0 :(得分:1)
似乎与启动docker
时使用的默认minikube
驱动程序有关。
为避免这些问题,您可以强制使用特定的驱动程序(例如“ virtualbox”)。为此,请按照以下步骤操作:
minikube delete
minikube start --memory=4096 --driver=virtualbox
minikube ip
。您会看到类似192.168.99.100
的输出。我已在以下问题中找到此信息:https://github.com/kubernetes/minikube/issues/7344#issuecomment-703225254
答案 1 :(得分:0)
在这种情况下,不需要进入,Minikube应该自己公开服务。但是,如果您想尝试一下,请尝试以下tutorial。
您可以运行minikube service list
来获取所有可用服务及其相应URL的列表。另外,请使用正确的selector
确保服务指向正确的Pod。
答案 2 :(得分:0)
Mac OS 有网络限制,--vm=true
下载 VM 映像:https://github.com/kubernetes/minikube/issues/7332
minikube stop
minikube delete
minikube start --vm=true