首页 文章

空地址kubernetes ingress

提问于
浏览
3

我尝试在我的kubernetes集群上配置ingress . 我按照documentation安装入口控制器并运行以下命令

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/baremetal/service-nodeport.yaml

之后,default-http-backend和nginx-ingress-controller正在运行:

ingress-nginx   default-http-backend-846b65fb5f-6kwvp      1/1       Running   0          23h       192.168.2.28   node1
ingress-nginx   nginx-ingress-controller-d658896cd-6m76j   1/1       Running   0          6m        192.168.2.31   node1

我试过测试入口,我部署了以下服务:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: echoserver-deploy
spec:
  replicas: 2
  selector:
    matchLabels:
      app: echo
  template:
    metadata:
      labels:
        app: echo
    spec:
      containers:
        - name: my-echo
          image: gcr.io/google_containers/echoserver:1.8
---
apiVersion: v1
kind: Service
metadata:
  name: echoserver-svc
spec:
  selector:
    app: echo
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080

以下入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: happy-ingress
  annotations:
    INGRESS.kubernetes.io/rewrite-target: /
spec:
  rules:
    - host: happy.k8s.io
      http:
        paths:
          - path: /echoserver
            backend:
              serviceName: echoserver-svc
              servicePort: 8080

当我运行命令'kubectl get ing'时,我收到了:

NAME            HOSTS          ADDRESS   PORTS     AGE
happy-ingress   happy.k8s.io             80        14m

我没有解决ADDRESS,我无法弄清楚问题是什么,因为所有的pod都在运行 . 你能告诉我一下这个问题是什么吗?

谢谢

1 回答

  • 0

    您的 hostname happy.k8s.io 应解析为nginx-ingress-controller的实际IP地址,该地址指向负载均衡器的前端 .

    您可以检查群集在哪个IP下工作:

    bash-3.2$ kubectl cluster-info
    Kubernetes master is running at https://192.168.1.100:8443
    KubeDNS is running at https://192.168.1.100:8443/api/v1/namespaces/kube- 
    system/services/kube-dns:dns/proxy
    

    使用 curl 测试群集的入口控制器

    bash-3.2$ curl http://192.168.1.100:8080
    default backend - 404
    

    最后,您应该只将域条目添加到 /etc/hosts

    192.168.1.100   happy.k8s.io
    

相关问题