2017-10-18 101 views
0

我正在尝试在minikube内创建一个入口。我已经启用了入口添加并检查了所有关联的服务,并且已经添加并且正在运行pod。Kubernetes Ingress未解析后端服务

当我创建入口时,我将它指向与入口位于同一名称空间的service.NodePort。但是,当我描述了进入后端的IP地址有<none>

这是我的部署YAML

apiVersion: v1 
kind: Namespace 
metadata: 
    name: proxy 
    labels: 
    name: proxy 
--- 
apiVersion: apps/v1beta1 
kind: Deployment 
metadata: 
    name: deployment 
    namespace: proxy 
    labels: 
    app: proxy 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: proxy 
    spec: 
     containers: 
     - name: proxy 
     image: wildapplications/proxy:latest 
     imagePullPolicy: IfNotPresent 
     ports: 
     - containerPort: 8080 
     imagePullSecrets: 
     - name: regsecret 
--- 
apiVersion: v1 
kind: Service 
metadata: 
    name: service 
    namespace: proxy 
spec: 
    type: NodePort 
    ports: 
    - port: 8080 
    targetPort: 8080 
    selector: 
    app: proxy 
    externalName: proxy 
--- 
apiVersion: extensions/v1beta1 
kind: Ingress 
metadata: 
    name: ingress 
    namespace: proxy 
    annotations: 
    ingress.kubernetes.io/rewrite-target:/
spec: 
    rules: 
    - host: echo.example.com 
    http: 
     paths: 
     - path: /test 
     backend: 
      serviceName: service 
      servicePort: 8080 

当我描述的入口,我得到

Name:    ingress 
Namespace:  proxy 
Address:   192.168.99.100 
Default backend: default-http-backend:80 (172.17.0.14:8080) 
Rules: 
    Host    Path Backends 
    ----    ---- -------- 
    echo.example.com 
        /test service:8080 (<none>) 
Annotations: 
    rewrite-target:/
Events: 
    Type Reason Age From    Message 
    ---- ------ ---- ----    ------- 
    Normal CREATE 16m ingress-controller Ingress proxy/ingress 
    Normal CREATE 15m ingress-controller Ingress proxy/ingress 
    Normal UPDATE 15m ingress-controller Ingress proxy/ingress 

什么事情,为什么昭然若揭入口不是解析指定给直接在它上面创建的服务的后端?

回答

0

我发现了我的问题的解决方案,所以我会发布以防万一有人遇到类似的东西。

我试图通过我的minikube ip地址(minikube ip获取ip)访问入口,这是提供了一个404因为我没有使用主机导航到它。

为了解决这个404我执行

echo "$(minikube ip) echo.example.com" | sudo tee -a /etc/hosts 

,然后从那里导航到主机URL在浏览器中。