无法访问Kubernetes服务

无法访问Kubernetes服务,kubernetes,kubectl,minikube,Kubernetes,Kubectl,Minikube,Kubernetes问题:当我运行命令时,我似乎无法从本地机器访问我的服务(POD在minikube上运行) kubectl描述吊舱id我看到了这两行,但我不知道它们是否与无法访问部署有关: Port: 8888/TCP Host Port: 0/TCP 但是当我跑的时候 kubectl get services 我看不到外部IP NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)

Kubernetes问题:当我运行命令时,我似乎无法从本地机器访问我的服务(POD在minikube上运行) kubectl
描述吊舱id
我看到了这两行,但我不知道它们是否与无法访问部署有关:

Port:           8888/TCP
Host Port:      0/TCP
但是当我跑的时候

kubectl get services
我看不到外部IP

NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
ci-master    NodePort    10.103.13.96   <none>        8888:31388/TCP   1m
我认为应该与我的
部署相关的部分。yaml

spec:
  template:
    spec:
      containers:
      - name: ci
        image: rand/image-one:latest
        ports:
        - containerPort: 8888
当我尝试使用
minikube service ci master
访问服务时,我会无限期地收到以下消息:
正在等待,服务的端点尚未就绪…

服务正在服务,当我尝试
kubectl description pod id
时,我在底部看到这一行:

  Type    Reason                 Age   From               Message
  Normal  Started                24m   kubelet, minikube  Started container

我缺少什么?

使用此配置,您的服务在端口8888上运行,并且映射到节点的端口31388。因此,您可以从集群内的端口8888上点击它,从外部世界的端口31388上点击它

关于服务,
targetport
是请求发送到的端口,因此它是部署的
containerPort
。这两个总是需要匹配的


…而
端口
是服务端口。因此,您的服务将在10.103.13.96:8888提供。

我缺少的是服务类型,如果我想要从外部世界访问某些内容,我必须选择
负载平衡器

因此,这个简单的更改修复了它:

spec:
  type: LoadBalancer
  ports:
  - port: 8888
    targetPort: 8888
现在我终于有了:

NAME         TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)        AGE
ci-master    LoadBalancer   10.15.243.32   35.211.12.22   80:32463/TCP   1m
NAME         TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)        AGE
ci-master    LoadBalancer   10.15.243.32   35.211.12.22   80:32463/TCP   1m