ingress-nginx没有IP地址

时间:2018-06-17 18:33:02

标签: kubernetes kubernetes-ingress

我使用kubespray创建了一个测试k8s群集(3个节点,virtualbox  以centos vm为基础)并且一直试图按照guide设置nginx入口,但我似乎从来没有为我的服务分配外部地址:

我可以看到明显安装了入口控制器:

[root@k8s-01 ~]# kubectl get pods --all-namespaces -l app=ingress-nginx
NAMESPACE       NAME                                        READY     STATUS    RESTARTS   AGE
ingress-nginx   nginx-ingress-controller-58c9df5856-v6hml   1/1       Running   0          28m

按照prerequisites文档,我已经设置了http-svc示例服务:

[root@k8s-01 ~]# kubectl get po
NAME                       READY     STATUS    RESTARTS   AGE
http-svc-794dc89f5-f2vlx   1/1       Running   0          27m

[root@k8s-01 ~]# kubectl get svc http-svc
NAME         TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
http-svc     LoadBalancer   10.233.25.131   <pending>     80:30055/TCP   27m

[root@k8s-01 ~]# kubectl describe svc http-svc
Name:                     http-svc
Namespace:                default
Labels:                   app=http-svc
Annotations:              <none>
Selector:                 app=http-svc
Type:                     LoadBalancer
IP:                       10.233.25.131
Port:                     http  80/TCP
TargetPort:               8080/TCP
NodePort:                 http  30055/TCP
Endpoints:                10.233.65.5:8080
Session Affinity:         None
External Traffic Policy:  Cluster
Events:
  Type    Reason  Age   From                Message
  ----    ------  ----  ----                -------
  Normal  Type    27m   service-controller  ClusterIP -> LoadBalancer

据我所知,我应该看到一个LoadBalancer Ingress条目,但该服务的外部IP似乎仍未决定,所以有些东西不起作用,但我在失去哪里诊断出错了

1 个答案:

答案 0 :(得分:0)

由于您在本地创建群集,因此将服务公开为类型LoadBalancer将不会为您配置负载均衡器。如果要在AWS或GKE等云环境中创建群集,请使用类型Loadbalancer。在AWS中,它将自动为您提供负载均衡器(ELB)并为该服务分配外部IP。

要使您的服务与当前设置和环境一起使用,请将您的服务类型从NodePort更改为key = hashlib.pbkdf2_hmac('sha256', b'governor washout beak', b'e65814e4382759f85550029e723dc7e7', 100000, dklen=32) print(binascii.hexlify(key))