kong入口控制器对入口资源没有影响

时间:2018-09-25 17:15:58

标签: kubernetes kubernetes-ingress kong kubernetes-helm

我在Centos 7上拥有kubernetes Cluster v1.10

我通过艰苦的方式安装了kubernetes

我已经使用头盔安装了Kong Ingress控制器

helm repo add stable https://kubernetes-charts.storage.googleapis.com
helm install stable/kong

此输出

NOTES:
1. Kong Admin can be accessed inside the cluster using:
 DNS=guiding-wombat-kong-admin.default.svc.cluster.local
 PORT=8444

To connect from outside the K8s cluster:
 HOST=$(kubectl get nodes --namespace default -o jsonpath='{.items[0].status.addresses[0].address}')
 PORT=$(kubectl get svc --namespace default guiding-wombat-kong-admin -o jsonpath='{.spec.ports[0].nodePort}')


2. Kong Proxy can be accessed inside the cluster using:
 DNS=guiding-wombat-kong-proxy.default.svc.cluster.local
 PORT=8443


To connect from outside the K8s cluster:
 HOST=$(kubectl get nodes --namespace default -o jsonpath='{.items[0].status.addresses[0].address}')
 PORT=$(kubectl get svc --namespace default guiding-wombat-kong-proxy -o jsonpath='{.spec.ports[0].nodePort}')

我部署了虚拟文件

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: http-svc
spec:
  replicas: 1
  selector:
    matchLabels:
      app: http-svc
  template:
    metadata:
      labels:
        app: http-svc
    spec:
      containers:
      - name: http-svc
        image: gcr.io/google_containers/echoserver:1.8
        ports:
        - containerPort: 8080
        env:
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP

---

apiVersion: v1
kind: Service
metadata:
  name: http-svc
  labels:
    app: http-svc
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 8080
    protocol: TCP
  name: http
    selector:
      app: http-svc

---

然后我部署了ingress.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: foo-bar
spec:
  rules:
  - host: foo.bar
    http:
      paths:
      - path: /
        backend:
          serviceName: http-svc
          servicePort: 80

当我跑步时:

kubectl get ing
NAME      HOSTS     ADDRESS   PORTS     AGE
foo-bar   foo.bar             80        1m

当我浏览

https://node-IP:controller-admin
{"next":null,"data":[]}

如何解决此问题并找到解决方案?

谢谢:D

1 个答案:

答案 0 :(得分:2)

我建议仅使用this guide而不是使用minikube来安装它。

它在AWS上对我有用:

$ curl -H 'Host: foo.bar' http://35.162.32.30


Hostname: http-svc-66ffffc458-jkxsl

Pod Information:
    node name:  ip-x-x-x-x.us-west-2.compute.internal
    pod name:   http-svc-66ffffc458-jkxsl
    pod namespace:  default
    pod IP: 192.168.x.x

Server values:
    server_version=nginx: 1.13.3 - lua: 10008

Request Information:
    client_address=192.168.x.x
    method=GET
    real path=/
    query=
    request_version=1.1
    request_uri=http://192.168.x.x:8080/

Request Headers:
    accept=*/*
    connection=keep-alive
    host=192.168.x.x:8080
    user-agent=curl/7.58.0
    x-forwarded-for=172.x.x.x
    x-forwarded-host=foo.bar
    x-forwarded-port=8000
    x-forwarded-proto=http
    x-real-ip=172.x.x.x

Request Body:
    -no body in request-