Kong / kubernetes-ingress-controller

:gorilla: Kong for Kubernetes: The official Ingress Controller for Kubernetes.
https://docs.konghq.com/kubernetes-ingress-controller/
Apache License 2.0
2.22k stars 592 forks source link

Very little documentation for DB version of Kong with Kubernetes #1569

Closed reetik-raj closed 3 years ago

reetik-raj commented 3 years ago

Is there an existing issue for this?

Problem Statement

We did a POC by integrating Kong OSS(Postgres DB version) with our company requirements and we were pretty satisfied by what we were able to achieve. Now we have dockerized everything along with our custom plugins and we want to deploy this to production. We use K8s with EKS in our production and are planning to integrate Kong Ingress Controller along with this. I went through your official documentation and found that you recommended using a DB-less version of Kong with Kubernetes deployments. We are hesitant to switch to this due to two reasons -

  1. We don't want to lose Konga which we are using to easily update any services, routes, consumers, plugins, etc from a nice GUI.
  2. Switching to the DB-less version will force us to update all our thousands of customers with their authentication details in the YAML file which might make it very hard to maintain and may also cause memory issues (mind you we plan to use in-memory caching too).

Also, I found that there were very few resources and tutorials covering the DB version Kong deployment on Kubernetes as all the tutorials are focused on the DB-less versions. What do you people suggest? Also, if I am missing something or if you have relevant documentation for the DB version Kong K8s deployment please let me know.

Looking forward to your reply. Thank you

Proposed Solution

No response

Additional information

No response

Acceptance Criteria

No response

mflendrich commented 3 years ago

@reetik-raj,

Thanks for your input. We provide a deployment manifest that deploys KIC together with a PostgreSQL database: https://github.com/Kong/kubernetes-ingress-controller/blob/main/deploy/single/all-in-one-postgres.yaml

Using this file instead of the DB-less all-in-one manifest referenced by our DB-less guides should suffice to make a DB-enabled installation. I agree with your observation that our documentation is centered around DB-less today.

Is the link above helpful in your situation? If not, please let us know what specifically you're trying to do that is missing documentation.

namanbajpayi commented 3 years ago

hey @mflendrich , thanks for the reverting. Will above menifest also give us konga? i mean admin gui.?

rainest commented 3 years ago

It will not--Konga is a third-party addon and we don't include it in our manifests. We do include manifest support for our official GUI, Kong Manager, in the Enterprise manifest: https://github.com/Kong/kubernetes-ingress-controller/blob/main/deploy/single/all-in-one-postgres-enterprise.yaml

Kong Manager is included in the Enterprise free mode offering; you can use it without paying for a license when using an Enterprise image.

If you wish to use Konga, you'd likely deploy it more or less separately from Kong. While Kong Manager runs inside the main Kong process (and thus within the same container as the proxy), Konga is a standalone Node application that you'd run in its own container and connect to Kong by specifying the Kong admin API URL. You could modify the Kong Deployment in our manifest to include a Konga container or create a separate Deployment for Konga.

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.