kubernetes - Kubernetes/GCE入口 Controller 失败

标签 kubernetes google-kubernetes-engine kubernetes-health-check

我是Kubernetes的新手,正在尝试使用TLS(使用随附的GCE Ingress Controller)在Google容器引擎上进行HTTP负载平衡。我遇到的错误即使在Google's official tutorial之后也可以重复。为了便于阅读,我在config.yaml中总结了该过程:

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 Erroraccording to the docs意味着它很可能会引导(但始终保持这种状态)。我在控制台上看到后端不正常。

在文档中,为了避免这一需求:
  • 防火墙规则(已在上面完成)
  • 服务必须以200响应(但我在本地测试了nginx图像,并且该服务通过常规的负载均衡器正常运行)

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

    最佳答案

    我离开集群过夜,现在可以正常工作了。似乎需要花很多时间进行引导,或者Google Cloud方面已修复了某些问题。

    关于kubernetes - Kubernetes/GCE入口 Controller 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38037750/

    相关文章:

    kubernetes - 我只想在Kubernetes中运行一个简单的应用程序

    kubernetes - 如何在 kubernetes 上获得 pod 的 mem 和 cpu 使用率的最大使用率

    docker - Kubernetes 中基于用户的部署

    google-kubernetes-engine - GKE 集群创建失败,因为网络 "default"在 10.0.0.0/8 中没有可用的私有(private) IP 空间来预留 a/14 block

    docker - 如何阻止 `kubectl exec` 选项和集群上某个容器的任何其他外部连接

    kubernetes - 无法连接到服务器 : x509: certificate is valid for

    apache - AWS EKS - 无法访问 LoadBalancer 后面的 apache httpd

    google-cloud-platform - 应用于具有 10 个以上节点的集群的 gke-resource-quotas

    kubernetes - 执行和初始化 kubeadm 时出错

    java - 获取所有部署的 Kubernetes Client-Java API 是什么