代码之家  ›  专栏  ›  技术社区  ›  s_z_p

rancher 2.x通过入口控制器返回404

  •  0
  • s_z_p  · 技术社区  · 6 年前

    牧场主服务:

    $ kubectl get svc
    NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
    rancher      ClusterIP   10.10.17.245   <none>        80/TCP,443/TCP   1h
    

    入口控制器服务:

    NAMESPACE       NAME                   TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)                      AGE
    nginx-ingress   nginx-ingress          LoadBalancer   10.10.15.181   <ext-IP>   80:30324/TCP,443:31022/TCP   3h
    

    入口角色:

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: rancher-ing
      annotations:
        kubernetes.io/ingress.class: "rancher"
    spec:
      rules:
      - host: api.sample.com
        http:
          paths:
          - path: /
            backend:
              serviceName: rancher
              servicePort: 443
    

    $ kubectl get ingress
    NAME      HOSTS            ADDRESS   PORTS     AGE
    rancher   api.sample.com             80        19s
    

    当我试图通过入口控制器扩展IP联系rancher时:

    $卷发 http://api.sample.com

    作为回应,我有一些未编码的字符串。如果我做它通过网络浏览器这个字符串将被下载,我有404。

    2 回复  |  直到 6 年前
        1
  •  1
  •   dschuldt    6 年前
        2
  •  0
  •   s_z_p    6 年前

    如果我遵循默认入口控制器安装:
    https://github.com/nginxinc/kubernetes-ingress/blob/master/docs/installation.md
    并应用牧场主入口角色,如:

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      labels:
        app: rancher
      name: rancher
      namespace: cattle-system
    spec:
      tls:
      - hosts:
        - api.sample.com
        secretName: default-server-secret
      rules:
      - host: api.sample.com
        http:
          paths:
          - path: /
            backend:
              serviceName: rancher
              servicePort: 80