Skip to content

kube-inject: support XDS address directly #29270

@howardjohn

Description

@howardjohn

Currently, kube-inject has 3 modes:

  1. Automagically read configmaps in cluster and apply
  2. Same as (1), but users overrides with flags like --injectConfigMapName
  3. User passes in files directly for the template

This leads to our multicluster install needlessly installing these configmaps in the remote cluster, which is complex, confusing for users, and likely to fall out of sync.

Additionally, none of these support revisions.

I propose we make these changes:

  1. Deprecate (2)

  2. Re-implement (1) to call the Istiod service, rather than reading the configmaps (ie implementation details)
    This will be done by reading the mutating webhook configurations. If its a Service, we will do a port-forward, and call /inject. If its a URL (external istiod), we will call it directly.
    An additional flag, like --injection-url will be added, to not look at webhook configs.
    If there are no webhooks and --injection-url is not set, we will continue to use configmaps and display a deprecation warning
    An additional flag, --revision will be added. When this is set, we will look at the revision webhook rather than

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions