kubernetes 创建服务. curl在执行curl时超时http://$(minikube ip):32000

cbjzeqam  于 2023-04-05  发布在  Kubernetes
关注(0)|答案(1)|浏览(154)

(WSL2,minikube,Windows 11,Calico插件,Docker-Desktop)
我只是不明白为什么curl在做curl http://$(minikube ip):32000的时候会超时。我看到了SO questions,但它们不适用。

$ k create deploy nginxsvc --image=nginx --replicas=3
$ k expose deploy nginxsvc --port=80

然后我编辑了服务,将服务类型更改为NodePort。

$ k get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 18d
nginxsvc NodePort 10.103.11.225 <none> 80:32000/TCP 19m
regular-encourager NodePort 10.102.236.129 <none> 8080:32058/TCP 15d

$ curl http://$(minikube ip):32000
curl: (28) Failed to connect to 192.168.49.2 port 32000: Connection timed out

$ k describe svc nginxsvc

Name: nginxsvc

Namespace: default

Labels: app=nginxsvc

Annotations: <none>

Selector: app=nginxsvc

Type: NodePort

IP Family Policy: SingleStack

IP Families: IPv4

IP: 10.103.11.225

IPs: 10.103.11.225

Port: <unset> 80/TCP

TargetPort: 80/TCP

NodePort: <unset> 32000/TCP

Endpoints: 10.244.1.233:80,10.244.1.234:80,10.244.1.235:80

Session Affinity: None

External Traffic Policy: Cluster

Events: <none>

$ k get svc nginxsvc -o yaml
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: "2023-03-28T23:18:04Z"
  labels:
    app: nginxsvc
  name: nginxsvc
  namespace: default
  resourceVersion: "531373"
  uid: fcd7960e-8610-4099-a014-9b4ce94cdec2
spec:
  clusterIP: 10.103.11.225
  clusterIPs:
  - 10.103.11.225
  externalTrafficPolicy: Cluster
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - nodePort: 32000
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginxsvc
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}
xv8emn3q

xv8emn3q1#

正如@glv指出的那样
如果在达尔文、Windows或WSL上使用Docker驱动程序,则网络受到限制,并且节点IP无法直接访问。
解决办法是
1.从WSL中删除minikube
minikube delete --purge
1.然后在Windows上安装VirtualBox
1.安装Ubuntu
1.在Ubuntu上安装docker,然后安装minikube,kubectl
1.启动小型机
minikube start --memory=6g --cpu =4 --driver=docker --cni=calico
现在所有的网络,以前失败了,现在工作!

相关问题