yk8s.containerd

By default changes to the following options are only applied to newly provisioned Kubernetes nodes, because restarting containerd is considered unsafe for already initialized Kubernetes nodes.

To apply configuration changes on all Kubernetes nodes, do one of the following:

  1. Run a Kubernetes upgrade with upgrade.sh

  2. Run a host OS update against all nodes with update-kubernetes-nodes.sh

  3. Run apply-k8s-core.sh with disruption allowed (not recommended)

    Warning

    This is potentially disruptive, because it does not drain nodes before restarting components like containerd.

    $ MANAGED_K8S_RELEASE_THE_KRAKEN=true bash managed-k8s/actions/apply-k8s-core.sh prepare-k8s-nodes.yaml
    

yk8s.containerd.discard_unpacked_layers

Whether to enable discarding of unpacked layers. This allows containerd’s garbage collection to remove layers from the content store after successfully unpacking these layers to the snapshotter.

Note

Already existing layers in the content store will not be removed. We recommend to run ctr -n k8s.io content prune references on each Kubernetes node when enabling this option.

See full configuration of containerd .

Type::

boolean

Default::

true

Example::

false

Declared by https://gitlab.com/alasca.cloud/tarook/tarook/-/tree/devel/nix/yk8s/containerd.nix

yk8s.containerd.mirrors

Registry mirrors which will be configured for containerd. These can act as pull through cache to reduce external network traffic and the amount of pulls from registries which have rate limits. The upstream registry will automatically be used after all defined hosts have been tried.

Type::

list of (submodule)

Default::

[ ]

Example::

[
  {
    mirrors = [
      "https://registry-cache-1.example.com"
      "https://registry-cache-2.example.com:5000"
    ];
    registry = "docker.io";
  }
  {
    mirrors = [
      "https://registry-cache-3.example.com"
    ];
    registry = "some.container.registry";
  }
  {
    mirrors = [
      "https://registry-cache-4.example.com"
    ];
    registry = null;
  }
]

Declared by https://gitlab.com/alasca.cloud/tarook/tarook/-/tree/devel/nix/yk8s/containerd.nix

yk8s.containerd.mirrors.*.mirrors

A list of URLs which should be substituted for the registry. Optionally specify a port.

Type::

list of RFC3986 HTTPS URL (scheme, authority and path only)

Default::

[ ]

Example::

[
  "https://registry-1.example.com"
  "https://registry-2.example.com:5000"
]

Declared by https://gitlab.com/alasca.cloud/tarook/tarook/-/tree/devel/nix/yk8s/containerd.nix

yk8s.containerd.mirrors.*.registry

Name of the registry host for which the mirrors should be used. Registry hosts are typically referred to by their internet domain names, aka. registry host names. For example, docker.io, quay.io, gcr.io, and ghcr.io. Set to null if the mirrors should be used as default.

Type::

null or RFC1123 subdomain name

Default::

null

Example::

"gcr.io"

Declared by https://gitlab.com/alasca.cloud/tarook/tarook/-/tree/devel/nix/yk8s/containerd.nix

yk8s.containerd.version

The containerd version to be deployed on Kubernetes nodes.

Note

Changes to this option potentially downgrades containerd.

Type::

Semantic version 2 string

Default::

"2.3.5"

Example::

"2.2.1"

Declared by https://gitlab.com/alasca.cloud/tarook/tarook/-/tree/devel/nix/yk8s/containerd.nix