kong helm 安装

创建kong gateway secret

  1. 创建namespace:

    kubectl create namespace kong
  2. 创建 Kong config 和 credential variables:

    kubectl create secret generic kong-config-secret -n kong \
        --from-literal=portal_session_conf='{"storage":"kong","secret":"super_secret_salt_string","cookie_name":"portal_session","cookie_same_site":"Lax","cookie_secure":false}' \
        --from-literal=admin_gui_session_conf='{"storage":"kong","secret":"super_secret_salt_string","cookie_name":"admin_session","cookie_same_site":"Lax","cookie_secure":false}' \
        --from-literal=pg_host="enterprise-postgresql.kong.svc.cluster.local" \
        --from-literal=kong_admin_password=kong \
        --from-literal=password=kong
  3. 创建一 个Kong 企业免费版 license secret:

    kubectl create secret generic kong-enterprise-license --from-literal=license="'{}'" -n kong --dry-run=client -o yaml | kubectl apply -f -

安装 Cert Manager

  1. 添加 Jetstack Cert Manager Helm 源:

    helm repo add jetstack https://charts.jetstack.io ; helm repo update
  2. 安装 Cert Manager:

    在安装chart之前,必须先安装cert-manager CustomResourceDefinition资源。这是在一个单独的步骤中执行的,允许您轻松卸载和重新安装cert-manager,而不需要删除已安装的自定义资源。

    wget https://github.com/jetstack/cert-manager/releases/download/v1.11.2/cert-manager.crds.yaml -O cert-manager-v1.11.2.crds.yaml

    安装

    helm pull jetstack/cert-manager
    helm upgrade --install cert-manager cert-manager-v1.11.2.tgz \
        --set installCRDs=false --namespace cert-manager --create-namespace
  3. 创建自签名证书 issuer:

    bash -c "cat <<EOF | kubectl apply -n kong -f -
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: test-kong-selfsigned-issuer-root
    spec:
      selfSigned: {}
    ---
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: test-kong-selfsigned-issuer-ca
    spec:
      commonName: test-kong-selfsigned-issuer-ca
      duration: 2160h0m0s
      isCA: true
      issuerRef:
        group: cert-manager.io
        kind: Issuer
        name: test-kong-selfsigned-issuer-root
      privateKey:
        algorithm: ECDSA
        size: 256
      renewBefore: 360h0m0s
      secretName: test-kong-selfsigned-issuer-ca
    ---
    apiVersion: cert-manager.io/v1
    kind: Issuer
    metadata:
      name: test-kong-selfsigned-issuer
    spec:
      ca:
        secretName: test-kong-selfsigned-issuer-ca
    EOF"

部署 Kong Gaeway

  1. 添加 Kong Helm repo:

  2. Install Kong:

    创建values.yaml

    安装

  3. 等待所有pod都处于“Running”和“Completed”状态:

  4. 一旦所有pod都开始运行,在浏览器的入口主机域中打开Kong Manager,例如:https://kong.example.com。或者用下面的命令打开它:

    由于使用自签名证书,您将收到“您的连接不是私有的”警告消息。如果您使用的是Chrome浏览器,可能没有“接受风险并继续”选项,请在标签集中继续时键入“thisisunsafe”。

  5. 免费版本默认没有认证直接访问即可,如果需要配置认证需要安装配置kong 认证插件

参考

https://docs.konghq.com/gateway/latest/install/kubernetes/helm-quickstart/

https://docs.konghq.com/kubernetes-ingress-controller/latest/guides/preserve-client-ip/

https://docs.konghq.com/gateway/latest/plugin-development/pluginserver/go/

https://docs.konghq.com/gateway/latest/plugin-development/pluginserver/plugins-kubernetes/

Last updated