【问题标题】:Kubernetes Ingress not accessible (localhost)Kubernetes Ingress 不可访问(本地主机)
【发布时间】:2017-12-26 04:41:19
【问题描述】:

我正在 Linux 机器上的 localhost 上设置一个最小的 Kubernetes 集群(从签出的 repo 中的 hack/local-up-cluster 开始)。在我的部署文件中,我定义了一个入口,它应该使部署在集群中的服务可以从外部访问。部署.yml:

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: foo-service-deployment
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: foo-service
    spec:
      containers:
        - name: foo-service
          image: images/fooservice
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 7778
---
apiVersion: v1
kind: Service
metadata:
  name: foo-service-service
spec:
  ports:
    - port: 7778
  selector:
    app: foo-service
  type: NodePort
---    
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: api-gateway-ingress
spec:
  rules:
  - host:
    http:
      paths:
      - path: /foo
        backend:
          serviceName: foo-service-service
          servicePort: 7779
      - path: /bar
        backend:
          serviceName: bar-service-service
          servicePort: 7776

我无法访问服务。 kubectl describe 为我的入口显示以下内容:

Name:           api-gateway-ingress
Namespace:      default
Address:        
Default backend:    default-http-backend:80 (<none>)
Rules:
  Host  Path    Backends
  ----  ----    --------
  * 
        /foo    foo-service-service:7779 (<none>)
        /bar    bar-service-service:7776 (<none>)
Annotations:
Events: <none>

是不是因为我的入口没有设置地址,所以外界还看不到?

【问题讨论】:

    标签: kubernetes kubectl kubernetes-go-client


    【解决方案1】:

    Ingress 资源只是定义集群如何处理入口流量。它需要一个 Ingress Controller 来实际处理这些定义;在未部署 Ingress 控制器的情况下创建 Ingress 资源不会有任何效果。

    来自the documentation

    为了使 Ingress 资源正常工作,集群必须运行 Ingress 控制器。这与其他类型的控制器不同,其他类型的控制器通常作为kube-controller-manager 二进制文件的一部分运行,并且通常作为集群创建的一部分自动启动。您需要选择最适合您的集群的入口控制器实施,或者实施一个。

    有几个可用的 Ingress 控制器可供您自己部署(通常通过部署资源),例如 NGINX ingress controller(它是 Kubernetes 项目的一部分)或第三方入口控制器,如 Traefik , EnvoyVoyager.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-23
      相关资源
      最近更新 更多