1

我是Kubernetes的新手,我尝试使用TLS(使用包含的GCE Ingress控制器)在Google Container Engine上执行HTTP负载平衡。即使在Google's official tutorial之后,我所拥有的错误也是可重复的。为了提高可读性我总结的过程中config.yamlKubernetes/GCE Ingress控制器出现故障

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: nginx 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     name: nginx 
    spec: 
     containers: 
     - name: nginx 
     image: nginx 
     ports: 
     - containerPort: 80 

--- 

apiVersion: v1 
kind: Service 
metadata: 
    name: nginx 
    labels: 
    name: nginx 
spec: 
    type: NodePort 
    ports: 
    - port: 80 
    targetPort: 80 
    selector: 
    name: nginx 

--- 

apiVersion: extensions/v1beta1 
kind: Ingress 
metadata: 
    name: basic-ingress 
spec: 
    backend: 
    serviceName: nginx 
    servicePort: 80 

然后:

kubectl create -f config.yaml 
export NODE_PORT=$(kubectl get -o jsonpath="{.spec.ports[0].nodePort}" services nginx) 
gcloud compute firewall-rules create allow-130-211-0-0-22 --source-ranges 130.211.0.0/22 --allow tcp:$NODE_PORT 
curl <ip_of_load_balancer> 

(我取消了对防火墙规则的标签,以便将适用于所有)。

但是我得到一个502 Server Error,其中​​意味着它可能是bootstrapping(但它总是像这样)。我可以在控制台上看到后端不健康。

在文档,为了避免这种人们需要:

  • 防火墙规则(其上面完成)
  • 服务必须与200响应(但我经由测试本地nginx图像和所述服务一般负载平衡器,工作正常)

那么,这个错误的原因是什么,我该如何进一步调试呢?

+0

你可以开始为你的配置创建一个yaml文件吗?那么它更清楚所有内容。 –

+0

@NorbertvanNobelen编辑 – user7384

回答

1

我离开了集群过夜,现在正在工作。这看起来似乎需要一些自举或谷歌云端方面的东西。

+0

L7负载均衡器启动需要几分钟的时间。 –