Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update gateway part in splitting traffic page #7551

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

randmonkey
Copy link
Contributor

@randmonkey randmonkey commented Jun 19, 2024

Description

Add introduction of how to split internal and external traffic using gateway APIs.
Fixes Kong/kubernetes-ingress-controller#5237.

Testing instructions

Preview link:

https://deploy-preview-7551--kongdocs.netlify.app/kubernetes-ingress-controller/latest/guides/custom-class/internal-external/

Checklist

Copy link

netlify bot commented Jun 19, 2024

Deploy Preview for kongdocs ready!

Name Link
🔨 Latest commit e24f459
🔍 Latest deploy log https://app.netlify.com/sites/kongdocs/deploys/6672ae9f87ec520009469f40
😎 Deploy Preview https://deploy-preview-7551--kongdocs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
9 paths audited
Performance: 93 (no change from production)
Accessibility: 93 (no change from production)
Best Practices: 98 (🟢 up 8 from production)
SEO: 91 (🟢 up 1 from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify site configuration.

@randmonkey randmonkey force-pushed the kic/add_guide_gatewayapi_split_traffic branch from cee2953 to c8af4d6 Compare June 19, 2024 09:34
@randmonkey randmonkey force-pushed the kic/add_guide_gatewayapi_split_traffic branch from c8af4d6 to 1e5337f Compare June 19, 2024 09:48
@randmonkey randmonkey added review:general Review for general accuracy and presentation. Does the doc work? Does it output correctly? Kubernetes Team Kubernetes task tracking (including KIC) labels Jun 19, 2024
@randmonkey randmonkey marked this pull request as ready for review June 19, 2024 10:21
@randmonkey randmonkey requested a review from a team as a code owner June 19, 2024 10:21

## Creating Gateways

For splitting traffics into different gateways using Kubernetes gateway API, you should create 2 `Gateway`s in the kubernetes cluster, where each reconciled by one {{ site.kic_product_name }} instance.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For splitting traffics into different gateways using Kubernetes gateway API, you should create 2 `Gateway`s in the kubernetes cluster, where each reconciled by one {{ site.kic_product_name }} instance.
For splitting traffic into different gateways using the Kubernetes Gateway API, create two `Gateway`s in the Kubernetes cluster, where each is reconciled by one {{ site.kic_product_name }} instance:

## Installing Kong

{{ site.kic_product_name }} processes one `IngressClass` per installation. {{ site.kic_product_name }} requires two deployments to split internal and external traffic.

Each deployment lives in its namespace, and the `controller.ingressController.ingressClass` value is set depending on whether that deployment should handle internal or external traffic.

To split traffics to different `Gateway`s in Kubernetes gateway APIs, we could configure the environment variable `CONTROLLER_GATEWAY_TO_RECONCILE` to configure {{ site.kic_product_name }} to reconcile specific `Gatweway` and routes attached to the gateway.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To split traffics to different `Gateway`s in Kubernetes gateway APIs, we could configure the environment variable `CONTROLLER_GATEWAY_TO_RECONCILE` to configure {{ site.kic_product_name }} to reconcile specific `Gatweway` and routes attached to the gateway.
You can split traffic into different `Gateway`s in the Kubernetes Gateway APIs by using the environment variable `CONTROLLER_GATEWAY_TO_RECONCILE`. Configure the variable to instruct {{ site.kic_product_name }} to reconcile specific `Gateway` instances and routes attached to the gateway:

Comment on lines +7 to +9
Advanced users of {{ site.kic_product_name }} may wish to split traffic into internal and external ingress definitions. This requires multiple {{ site.kic_product_name }} instances, each pointing to a different `IngressClass`.

Users can also split traffic into different gateways when they are using Gateway APIs with multiple {{ site.kic_product_name }} instances and multiple `Gateway`s.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Advanced users of {{ site.kic_product_name }} may wish to split traffic into internal and external ingress definitions. This requires multiple {{ site.kic_product_name }} instances, each pointing to a different `IngressClass`.
Users can also split traffic into different gateways when they are using Gateway APIs with multiple {{ site.kic_product_name }} instances and multiple `Gateway`s.
Advanced users of {{ site.kic_product_name }} may want to split traffic into internal and external ingress definitions. This requires multiple {{ site.kic_product_name }} instances, each pointing to a different `IngressClass`.
You can also split traffic into different gateways when you are using Gateway APIs with multiple {{ site.kic_product_name }} instances and multiple `Gateway`s.

For routes in Kubernetes gateway APIs (like `HTTPRoute`), you should refer to the corresponding `Gateway` in its `spec.parentRef`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For routes in Kubernetes gateway APIs (like `HTTPRoute`), you should refer to the corresponding `Gateway` in its `spec.parentRef`.
For routes in Kubernetes Gateway APIs (like `HTTPRoute`), refer to the corresponding `Gateway` in its `spec.parentRef`.

For routes in Kubernetes gateway APIs (like `HTTPRoute`), you should refer to the corresponding `Gateway` in its `spec.parentRef`.

This is an example to create a `Ingress` or `HTTPRoute` for routing internal traffic.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This is an example to create a `Ingress` or `HTTPRoute` for routing internal traffic.
For example, this is how you can create a `Ingress` or `HTTPRoute` for routing internal traffic:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Kubernetes Team Kubernetes task tracking (including KIC) review:general Review for general accuracy and presentation. Does the doc work? Does it output correctly?
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Document how to support multiple GatewayClass instances
2 participants