我试图在kubernetes上部署nginx, kubernetes版本是v1.5.2, 我已经部署了nginx的3个副本,YAML文件如下,

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: deployment-example
spec:
  replicas: 3
  revisionHistoryLimit: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.10
        ports:
        - containerPort: 80

现在我想在节点的30062端口上公开它的80端口,为此我在下面创建了一个服务,

kind: Service
apiVersion: v1
metadata:
  name: nginx-ils-service
spec:
  ports:
    - name: http
      port: 80
      nodePort: 30062
  selector:
    app: nginx
  type: LoadBalancer

这项服务工作得很好,但它不仅在kubernetes仪表板上也在终端上显示为待定。


当前回答

我在docker桌面上得到这个错误。我只是退出并再次打开它(Docker-desktop)。只花了几秒钟,然后就没问题了。

其他回答

删除现有服务,并创建一个相同的新服务解决了我的问题。我的问题是我定义的负载平衡IP被使用,因此外部端点正在等待。当我改变一个新的负载平衡IP时,它仍然不能工作。

最后,删除现有的服务并创建一个新的服务解决了我的问题。

如果你正在使用minikube,那么从终端运行下面的命令,

$ minikube ip
$ 172.17.0.2 // then 
$ curl http://172.17.0.2:31245
or simply
$ curl http://$(minikube ip):31245

同样的问题:

os>kubectl get svc right-sabertooth-wordpress NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) right-sabertooth-wordpress LoadBalancer 10.97.130.7 "pending" 80:30454/TCP,443:30427/TCP os>minikube service list |-------------|----------------------------|--------------------------------| | NAMESPACE | NAME | URL | |-------------|----------------------------|--------------------------------| | default | kubernetes | No node port | | default | right-sabertooth-mariadb | No node port | | default | right-sabertooth-wordpress | http://192.168.99.100:30454 | | | | http://192.168.99.100:30427 | | kube-system | kube-dns | No node port | | kube-system | tiller-deploy | No node port | |-------------|----------------------------|--------------------------------|

但是,可以通过http://192.168.99.100:30454访问。

有三种类型的服务公开 Nodeport ClusterIP loadbalance

当我们使用负载均衡器时,我们基本上要求我们的云提供商给我们一个可以在线访问的dns 注意不是域名,而是dns。

所以负载均衡器类型不工作在我们的本地minikube环境。

如果你正在使用Minikube,有一个神奇的命令!

$ minikube tunnel

希望有人能节省几分钟的时间。

参考链接 https://minikube.sigs.k8s.io/docs/handbook/accessing/#using-minikube-tunnel