ichor cni bootstrap

Install Ichor's Cilium on a cluster with no CNI, before helm install ichor

Synopsis

bootstrap is the first step of the Helm path on a cluster with no CNI: such a cluster cannot run any pod, so Ichor's chart cannot start. bootstrap installs Ichor's pinned Cilium as Ichor's own Helm release (release cilium in kube-system, its record in ichor-system) with the operator's kubeconfig, and waits for every node to be Ready. Then run helm install ichor, then ichor adopt, which recognises this Cilium as Ichor's and does not take it over.

It refuses unless the cluster has no CNI: no CNI workload, no CiliumNode CRD, and every node NotReady with the network-plugin message. It has no Talos credential, so it takes Talos's cluster.network.cni.name to be none (the only way a cluster ends up like this) and reads nothing else from Talos: --kube-proxy says whether Cilium replaces kube-proxy (replaced: kube-proxy is disabled in Talos) and, in either mode, Cilium reaches the API through KubePrism on port 7445, which must be enabled on every node (adopt checks this again later). --tunnel (vxlan or geneve) is immutable afterwards. --cilium-values is a YAML file of Cilium Helm values merged like spec.cni.cilium.values; Ichor-owned keys are refused.

It shows what it will do and asks for confirmation unless --yes. Running it again is safe.

ichor cni bootstrap --kube-proxy enabled|replaced [flags]

Options

      --cilium-values string   YAML file of Cilium Helm values (Ichor-owned keys are refused)
  -h, --help                   help for bootstrap
      --kube-proxy string      enabled (Talos runs kube-proxy) or replaced (Cilium replaces it) (required)
      --tunnel string          tunnel protocol, vxlan or geneve; immutable afterwards

Options inherited from parent commands

      --bundle-passphrase-file string   file holding the passphrase of the local secrets bundle; any readable path, e.g. /dev/fd/3; otherwise $ICHOR_BUNDLE_PASSPHRASE, then a prompt on a terminal. Never a value on the command line
      --ca-file string                  PEM file of the CA that signed ichor-ui's serving certificate, when ichor-ui serves TLS (env ICHOR_CA_FILE)
      --ichor-namespace string          namespace Ichor is installed in (where ichor-ui runs and the secrets bundle lives) (default "ichor-system")
      --kubeconfig string               path to the kubeconfig for the cluster's Kubernetes API; defaults to $KUBECONFIG, then ~/.kube/config
      --local                           do not use ichor-ui; compute from the Kubernetes API directly
  -n, --namespace string                namespace of the Ichor resources the command names (default "ichor-system")
  -o, --output string                   output format: "yaml" or "json" for scripts; by default a command prints for people (commands without a human view print YAML)
      --override                        incident only: override a safety check (reset a node, restore etcd, reboot or shut down the last worker, an upgrade the compatibility table refuses); needs the override RBAC verb on the resource; implies --local
      --talosconfig string              path to the talosconfig used to reach each node's Talos API; defaults to $TALOSCONFIG, then ~/.talos/config
      --tls-server-name string          name on ichor-ui's serving certificate, when it is not the Service's DNS name (<service>.<namespace>.svc)
      --yes                             skip interactive confirmation before a dangerous operation

SEE ALSO

  • ichor cni - Operate on the cluster's CNI settings Ichor owns

Search the docs

Search pages and headings