Open
Conversation
4042218 to
a5816ab
Compare
Collaborator
|
Are we going to provide any description how to migrate from |
Collaborator
Author
I think we will need to update our Gateway API Migration documentation. I forgot to do it as part of this activity, I suggest to do it in separate activity, since these changes become too big |
alexarefev
reviewed
Mar 29, 2026
| keep_configs_updated: True | ||
| maintenance_mode: False | ||
| mntc_config_location: '/etc/haproxy/haproxy_mntc.cfg' | ||
| # By default, target backend is "nginx" if nginx plugin is enabled, otherwise it is "envoy" |
Collaborator
There was a problem hiding this comment.
There is no obligation to install envoy or nginx. They could be both disabled
|
|
||
| ###### target_backend | ||
|
|
||
| This section describes who should lister `target_ports` on worker nodes, either `nginx` or `envoy`. Default is `nginx` for backward compatibility, but it is recommended to use `envoy`. |
Collaborator
There was a problem hiding this comment.
Some reference to migration from nginx to envoy gateway is needed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
It is required to support Envoy Gateway plugin. Also, it should be possible to configure HAProxy to target Envoy instead of Ingress-NGINX. Also, dashboard Ingress should be migrated to HTTPRoute.
Solution
2.2.0to KubeMarinescripts/thirdparties/sync.pyto download Envoy Gateway charts, charts should be downloaded manually. Sync takes downloaded chart and simply updates images versions in compatibility map.envoy-gatewaypluginBackendandEnvoyPatchPolicyextensions are enabled by defultenvoy-external-gatewaynameX-Forwarded-Hostheader with respective valuekubectlRegistryoption for qubership kubectl image from ghcr.iovaluesOverrideandcrValuesOverrideservices.loadbalancer.target_backendoption, which allows to select who should take HAProxytarget_ports- eithernginx(default) orenvoy.installshould now install envoy-gateway and dashboard HTTPRoute (if envoy is enabled)upgradeshould support envoy-gateway upgrade, but currently there is no new envoy-gateway version to upgrade tocert_renewshould support adding/renewing envoy-gateway certificatesmigrate_kubemarineshould support envoy-gateway patches, but currently there is no patchcheck_paaschecks were extended to also check envoy-gatewayscripts/thirdparties/sync.pyshould support envoy-gateway in compatibility map, but chart should be downloaded manuallyservices.loadbalancer.target_backendTest Cases
Test case 1
Install KubeMarine cluster as usual, using Ingress-NGINX, without enabling Envoy plugin.
Installation should succeed and cluster should work notmally.
Test case 2
Install KubeMarine cluster with following additional configuration (do not change anything else)
Cluster should be installed with both Ingress-NGINX and Envoy Gateway. Ingress-NGINX should continue to work as LB backend, Ingresses should work as usual. Envoy Gateway should be accessible on ports 80/443
Test case 3
Install KubeMarine cluster with following additional configuration (do not change anything else)
Cluster should be installed with both Ingress-NGINX and Envoy Gateway. Envoy Gateway will be used as LB backend, HTTPRoutes should become accessible (e.g. dashboard) instead of Ingresses. Ingresses should stop working. Ingress-NGINX pods should not use 20080/20443 hotsPorts, instead they should be used by Envoy external Gateway pods. Verify
check_paasprocedure succeeds.Test case 4
Renew Envoy Gateway certificates using
cert_renewprocedure.Checklist