Kong-proxy 在 Jelastic 环境中不起作用

Kong-proxy 在 Jelastic 环境中不起作用

我们需要一些帮助来尝试在 Jelastic 环境内的 Kubernetes 中安装 Kong。我和我的同事有一个基于生产的 kubernetes 集群,其中包含以下内容:

  • 负载均衡器
    • 1 个具有公共 IP 的节点
  • 工人
    • 2 个节点
  • 贮存
    • 3 个具有 NFS 存储的节点
  • 控制平面
    • 3 个节点

默认情况下,此环境可以很好地ingress-nginx加载Hello Kuberenetes应用程序。以下是 ingress-nginx hello kubernetes 示例的配置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: helloworld
  namespace: default
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
      - backend:
          service:
            name: hello-kubernetes
            port:
              number: 80
        path: /
        pathType: Prefix
status:
  loadBalancer: {}

但是,当我们安装Kong并将入口类切换为时Kong,它会返回 404。有关如何安装 Kong 的一些背景信息:

  1. 设置配置metallb-system并分配公共 IP 地址:
apiVersion: v1
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - XXX.XXX.XXX.35-XXX.XXX.XXX.35
kind: ConfigMap
metadata:
  name: config
  namespace: metallb-system
  1. 重新启动控制器和metallb-system命名空间中的 pod
  2. 使用以下方式安装 Konghttps://raw.githubusercontent.com/Kong/kubernetes-ingress-controller/main/deploy/single/all-in-one-postgres.yaml
  3. 它被分配了该服务的公共 IP kong-proxy
  4. helloWorld像这样编辑入口并将ingressClassName其更改为kong
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: helloworld
  namespace: default
spec:
  ingressClassName: kong
  rules:
  - http:
      paths:
      - backend:
          service:
            name: hello-kubernetes
            port:
              number: 80
        path: /
        pathType: Prefix
status:
  loadBalancer: {}

当应用上述配置时,我们404 Not found by Nginx在访问公共 IP 时会得到一个。


笔记:curl http://PUBLIC_IP当我们在 Jelastic 环境中使用 时,将 设置为hello kubernetes时,它可以很好地加载应用程序。但是,它不能公开使用。IngressClassNamekong

我们非常希望得到您的帮助。谢谢。

相关内容