envoyproxy / gateway

Manages Envoy Proxy as a Standalone or Kubernetes-based Application Gateway
https://gateway.envoyproxy.io
Apache License 2.0
1.64k stars 356 forks source link

Update Install docs to show how to install EG where the infrastructure/cluster provider is installing Gateway API CRDs #3094

Open arkodg opened 7 months ago

arkodg commented 7 months ago
          I looked into this. The gateway api maintainers [do not provide an upstream helm chart](https://github.com/kubernetes-sigs/gateway-api/issues/1590) that we can source as a dependency. 

Personally, I think that the envoy-gateway helm chart should leave the installation of these CRDs to the users: Just list it as a requirement, and link to their installation docs.

Due to this bundling of Gateway API CRDs and envoy-gateway CRDs, using the helm chart gets a bit fiddly for us when installing into our Google Kubernetes Engine clusters:

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: envoy-gateway-system

helmCharts:
  - name: gateway-helm
    releaseName: envoy-gateway
    # The helm chart includes Gateway API, which we already install through a GKE Addon
    includeCRDs: false
    # GKE uses an older version of Gateway API than the latest helm chart
    # https://gateway.envoyproxy.io/v1.0.0/install/matrix/
    version: v0.5.0
    repo: oci://registry-1.docker.io/envoyproxy
    valuesFile: ./values.yaml

resources:
  - https://raw.githubusercontent.com/envoyproxy/gateway/v0.5.0/charts/gateway-helm/crds/generated/config.gateway.envoyproxy.io_envoyproxies.yaml
  - https://raw.githubusercontent.com/envoyproxy/gateway/v0.5.0/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_authenticationfilters.yaml
  - https://raw.githubusercontent.com/envoyproxy/gateway/v0.5.0/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_envoypatchpolicies.yaml
  - https://raw.githubusercontent.com/envoyproxy/gateway/v0.5.0/charts/gateway-helm/crds/generated/gateway.envoyproxy.io_ratelimitfilters.yaml

Originally posted by @djfinnoy in https://github.com/envoyproxy/gateway/issues/1721#issuecomment-2035558087

davem-git commented 7 months ago

When i run the helm, I don't get the CRDS at all. Is that normal?

github-actions[bot] commented 6 months ago

This issue has been automatically marked as stale because it has not had activity in the last 30 days.

pschichtel commented 5 months ago

I also noticed this, because I intent to run more than one gateway controller in my cluster.

github-actions[bot] commented 4 months ago

This issue has been automatically marked as stale because it has not had activity in the last 30 days.

pschichtel commented 4 months ago

Still relevant.

github-actions[bot] commented 3 months ago

This issue has been automatically marked as stale because it has not had activity in the last 30 days.

kamalmarhubi commented 2 months ago

Can this get labeled with no stalebot?

mfacenet commented 2 months ago

Just commenting to keep the stale label off, I too run different gateway classes on my clusters and have had to take heroic actions to filter these crds out

arkodg commented 2 months ago

@kamalmarhubi @mfacenet we are trying to solve this with #4001 to allow users to cherry-pick which CRDs to install, but we are hitting some helm limitations when moving the /crds to /templates due to size limits , we're looking into it, until then this workaround may be needed

mfacenet commented 2 months ago

@kamalmarhubi @mfacenet we are trying to solve this with #4001 to allow users to cherry-pick which CRDs to install, but we are hitting some helm limitations when moving the /crds to /templates due to size limits , we're looking into it, until then this workaround may be needed

Age old helm issue I'm afraid, probably the only way to do this well is to separate the gateway api crds into a different chart and conditionally include that chart which is similar to point 2 of the debate (the way linkerd does this), however, I think you can include this as a dependency, I don't recall if it allows for conditions, or even as a subchart.

arkodg commented 2 months ago

Even 2. doesn't seem possible right now if we club Gateway API CRDs and Envoy Gateway CRDs in 1 chart

github-actions[bot] commented 1 month ago

This issue has been automatically marked as stale because it has not had activity in the last 30 days.