OS Manuals

/usr/bin/install-cni

From istio-install-cni-fips-1.29 1.29.10-r3 (enterprise-packages), captured 2026-11-08 by running install-cni --help (exit 0). permalink

Install and configure Istio CNI plugin on a node, detect and repair pod which is broken by race condition.

Usage:
  install-cni [flags]
  install-cni [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  version     Prints out build version information

Flags:
      --ambient-enabled                                    Whether ambient controller is enabled
      --chained-cni-plugin                                 Whether to install CNI plugin as a chained or standalone (default true)
      --cni-agent-run-dir string                           Location of the node agent writable path on the node (used for sockets, etc) (default "/var/run/istio-cni")
      --cni-conf-name string                               Name of the CNI configuration file
      --cni-network-config string                          CNI configuration template as a string
      --cni-network-config-file string                     CNI config template as a file
      --ctrlz_address string                               The IP Address to listen on for the ControlZ introspection facility. Use '*' to indicate all addresses. (default "localhost")
      --ctrlz_port uint16                                  The IP port to use for the ControlZ introspection facility (default 9876)
      --enable-ambient-detection-retry                     Whether or not is ambient check is retried on error in the cni plugin
  -h, --help                                               help for install-cni
      --istio-owned-cni-config                             Whether an Istio owned CNI configuration is enabled
      --istio-owned-cni-config-filename string             Filename for Istio owned CNI configuration
      --kube-ca-file string                                CA file for kubeconfig. Defaults to the same as install-cni pod
      --kubeconfig-mode int                                File mode of the kubeconfig file (default 384)
      --log-level string                                   Fallback value for log level in CNI config file, if not specified in helm template (default "warn")
      --log_as_json                                        Whether to format output as JSON or in plain console-friendly format
      --log_caller string                                  Comma-separated list of scopes for which to include caller information, scopes can be any of [ads, all, ca, cni-agent, cni-plugin, controllers, default, grpc, klog, krt, model, monitoring, security, spiffe, trustBundle, validation]
      --log_output_level string                            Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>,... where scope can be one of [ads, all, ca, cni-agent, cni-plugin, controllers, default, grpc, klog, krt, model, monitoring, security, spiffe, trustBundle, validation] and level can be one of [debug, info, warn, error, fatal, none]
      --log_stacktrace_level string                        Comma-separated minimum per-scope logging level at which stack traces are captured, in the form of <scope>:<level>,<scope:level>,... where scope can be one of [ads, all, ca, cni-agent, cni-plugin, controllers, default, grpc, klog, krt, model, monitoring, security, spiffe, trustBundle, validation] and level can be one of [debug, info, warn, error, fatal, none] (default "default:none")
      --log_target stringArray                             The set of paths where to output the log. This can be any path as well as the special values stdout and stderr (default [stdout])
      --monitoring-port int                                HTTP port to serve prometheus metrics (default 15014)
      --mounted-cni-net-dir string                         Directory on the container where CNI networks are installed (default "/host/etc/cni/net.d")
      --repair-broken-pod-label-key string                 The key portion of the label which will be set by the race repair if label pods is true (default "cni.istio.io/uninitialized")
      --repair-broken-pod-label-value string               The value portion of the label which will be set by the race repair if label pods is true (default "true")
      --repair-delete-pods                                 Controller will delete pods when detecting pod broken by race condition
      --repair-enabled                                     Whether to enable race condition repair or not (default true)
      --repair-field-selectors string                      A set of field selectors in label=value format that will be added to the pod list filters
      --repair-init-container-exit-code int                Expected exit code for the init container when crash-looping because of CNI misconfiguration (default 126)
      --repair-init-container-name string                  The name of the istio init container (will crash-loop if CNI is not configured for the pod) (default "istio-validation")
      --repair-init-container-termination-message string   The expected termination message for the init container when crash-looping because of CNI misconfiguration
      --repair-label-pods                                  Controller will label pods when detecting pod broken by race condition
      --repair-label-selectors string                      A set of label selectors in label=value format that will be added to the pod list filters
      --repair-node-name string                            The name of the managed node (will manage all nodes if unset)
      --repair-sidecar-annotation string                   An annotation key that indicates this pod contains an istio sidecar. All pods without this annotation will be ignored.The value of the annotation is ignored. (default "sidecar.istio.io/status")
      --skip-tls-verify                                    Whether to use insecure TLS in kubeconfig file
      --ztunnel-uds-address string                         The UDS server address which ztunnel will connect to (default "/var/run/ztunnel/ztunnel.sock")

Use "install-cni [command] --help" for more information about a command.
Options (36)
OptionDescriptionSource
--ambient-enabledWhether ambient controller is enabledhelp
--chained-cni-pluginWhether to install CNI plugin as a chained or standalone (default true)help
--cni-agent-run-dir stringLocation of the node agent writable path on the node (used for sockets, etc) (default "/var/run/istio-cni")help
--cni-conf-name stringName of the CNI configuration filehelp
--cni-network-config stringCNI configuration template as a stringhelp
--cni-network-config-file stringCNI config template as a filehelp
--ctrlz_address stringThe IP Address to listen on for the ControlZ introspection facility.help
--ctrlz_port uint16The IP port to use for the ControlZ introspection facility (default 9876)help
--enable-ambient-detection-retryWhether or not is ambient check is retried on error in the cni pluginhelp
-h, --helphelp for install-cnihelp
--istio-owned-cni-configWhether an Istio owned CNI configuration is enabledhelp
--istio-owned-cni-config-filename stringFilename for Istio owned CNI configurationhelp
--kube-ca-file stringCA file for kubeconfig.help
--kubeconfig-mode intFile mode of the kubeconfig file (default 384)help
--log-level stringFallback value for log level in CNI config file, if not specified in helm template (default "warn")help
--log_as_jsonWhether to format output as JSON or in plain console-friendly formathelp
--log_caller stringComma-separated list of scopes for which to include caller information, scopes can be any of [ads, all, ca, cni-agent, cni-plugin, controllers, default, grpc, klog, krt, model, monitoring, security,…help
--log_output_level stringComma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>,...help
--log_stacktrace_level stringComma-separated minimum per-scope logging level at which stack traces are captured, in the form of <scope>:<level>,<scope:level>,...help
--log_target stringArrayThe set of paths where to output the log.help
--monitoring-port intHTTP port to serve prometheus metrics (default 15014)help
--mounted-cni-net-dir stringDirectory on the container where CNI networks are installed (default "/host/etc/cni/net.d")help
--repair-broken-pod-label-key stringThe key portion of the label which will be set by the race repair if label pods is true (default "cni.istio.io/uninitialized")help
--repair-broken-pod-label-value stringThe value portion of the label which will be set by the race repair if label pods is true (default "true")help
--repair-delete-podsController will delete pods when detecting pod broken by race conditionhelp
--repair-enabledWhether to enable race condition repair or not (default true)help
--repair-field-selectors stringA set of field selectors in label=value format that will be added to the pod list filtershelp
--repair-init-container-exit-code intExpected exit code for the init container when crash-looping because of CNI misconfiguration (default 126)help
--repair-init-container-name stringThe name of the istio init container (will crash-loop if CNI is not configured for the pod) (default "istio-validation")help
--repair-init-container-termination-message stringThe expected termination message for the init container when crash-looping because of CNI misconfigurationhelp
--repair-label-podsController will label pods when detecting pod broken by race conditionhelp
--repair-label-selectors stringA set of label selectors in label=value format that will be added to the pod list filtershelp
--repair-node-name stringThe name of the managed node (will manage all nodes if unset)help
--repair-sidecar-annotation stringAn annotation key that indicates this pod contains an istio sidecar.help
--skip-tls-verifyWhether to use insecure TLS in kubeconfig filehelp
--ztunnel-uds-address stringThe UDS server address which ztunnel will connect to (default "/var/run/ztunnel/ztunnel.sock")help

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.