ISTIOCTL-KUBE-INJECT(1)
π istioctl-kube-inject π
okay bestie, so this is the manual page for istioctl kube-inject β the command that manually injects the Istio sidecar into your Kubernetes pod resources. it's giving "I got you, your pods are about to be β¨enhancedβ¨" and honestly? iconic.
πΈ NAME πΈ
istioctl-kube-inject β Inject Istio sidecar into Kubernetes pod resources
β¨ SYNOPSIS β¨
istioctl kube-inject [flags]
π DESCRIPTION π
so like, kube-inject manually injects the Istio sidecar into Kubernetes workloads. periodt. π
the way that unsupported resources are just left unmodified means it's totally safe to run kube-inject over a single file that contains multiple Service, ConfigMap, Deployment, etc. definitions for a complex application. no cap, it's literally designed for that. when in doubt, just re-run istioctl kube-inject on deployments to get the most up-to-date changes. iykyk.
π‘ bestie tip: it's best to do kube-inject when the resource is initially created. like, get it right from the start, you know?
π¦ OPTIONS π¦
okay so here's the full menu of flags, bestie. no skipping, we're covering every single one:
--authority=""β XDS Subject Alternative Name (for exampleistiod.istio-system.svc)--cert-dir=""β XDS Endpoint certificate directory-f,--filename=""β Input Kubernetes resource filename-h,--help[=false]β help forkube-inject--injectConfigFile=""β Injection configuration filename. Cannot be used with--injectConfigMapName--insecure[=false]β Skip server certificate and domain verification. (NOT SECURE!) π©--meshConfigFile=""β Mesh configuration filename. Takes precedence over--meshConfigMapNameif set--meshConfigMapName="istio"β ConfigMap name for Istio mesh configuration, key should be"mesh"--operatorFileName=""β Path to file containingIstioOperatorcustom resources. If configs from files likemeshConfigFile,valuesFileare provided, they will be overridden byiopconfig values.-o,--output=""β Modified output Kubernetes resource filename--plaintext[=false]β Use plain-text HTTP/2 when connecting to server (no TLS).-r,--revision=""β Control plane revision--timeout=30sβ The duration to wait before failing--valuesFile=""β Injection values configuration filename.--webhookConfig="istio-sidecar-injector"β MutatingWebhookConfiguration name for Istio--xds-address=""β XDS Endpoint--xds-label=""β Istiod pod label selector--xds-port=15012β Istiod pod port
π OPTIONS INHERITED FROM PARENT COMMANDS π
these are the flags you get from the parent command, bestie. they're like the hand-me-downs but make it Kubernetes:
--as=""β Username to impersonate for the operation. User could be a regular user or a service account in a namespace--as-group=[]β Group to impersonate for the operation, this flag can be repeated to specify multiple groups.--as-uid=""β UID to impersonate for the operation.--context=""β Kubernetes configuration context-i,--istioNamespace="istio-system"β Istio system namespace--kubeclient-timeout="15s"β Kubernetes client timeout as atime.Durationstring, defaults to 15 seconds.-c,--kubeconfig=""β Kubernetes configuration file-n,--namespace=""β Kubernetes namespace--vklog=0β number for the log level verbosity. Like-vflag. ex:--vklog=9
π EXAMPLE π
okay these examples are literally the blueprint, bestie. copy them, love them, use them. π
update resources on the fly before applying:
kubectl apply -f <(istioctl kube-inject -f <resource.yaml>)
create a persistent version of the deployment with Istio sidecar injected:
istioctl kube-inject -f deployment.yaml -o deployment-injected.yaml
update an existing deployment:
kubectl get deployment -o yaml | istioctl kube-inject -f - | kubectl apply -f -
capture cluster configuration for later use with kube-inject:
kubectl -n istio-system get cm istio-sidecar-injector -o jsonpath="{.data.config}" > /tmp/inj-template.tmpl
kubectl -n istio-system get cm istio -o jsonpath="{.data.mesh}" > /tmp/mesh.yaml
kubectl -n istio-system get cm istio-sidecar-injector -o jsonpath="{.data.values}" > /tmp/values.json
use kube-inject based on captured configuration:
istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml \
--injectConfigFile /tmp/inj-template.tmpl \
--meshConfigFile /tmp/mesh.yaml \
--valuesFile /tmp/values.json
π SEE ALSO π
istioctl(1)β the parent command, the main character, the origin story π«Ά
okay that's the whole page, bestie! you're now fully educated on istioctl kube-inject and honestly? you ate that. π
β¨
π cute sign-off: this page was auto generated by spf13/cobra, dated Jan 1980, and it's serving ISTIOCTL-KUBE-INJECT(1) realness. no cap, that's the vibe. π¦πΈ
π¦ where this page comes from
- nixos 26.05: istioctl 1.29.2
- nixpkgs unstable: istioctl 1.31.3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms