Skip to content
This repository has been archived by the owner on Mar 9, 2022. It is now read-only.

cri-containerd v1.0.0-alpha.1 release

Compare
Choose a tag to compare
@Random-Liu Random-Liu released this 31 Oct 23:01
· 1497 commits to master since this release
c44f798

Welcome to the v1.0.0-alpha.1 release of cri-containerd!

Highlights

Test Dashboard

A new sig-node-containerd tab is added in Kubernetes test dashboard: https://k8s-testgrid.appspot.com/sig-node-containerd.

All Kubernetes containerd integration test result will be accessible there. Now it's running node e2e test, and the e2e test will be added soon.

Load Docker Image from Tarball

Now you could use cri-containerd load to load a docker image from a tarball created by docker save:

$ sudo cri-containerd load busybox.tar 
Loaded image: docker.io/library/busybox:latest

New Command Line Interface

We added a more user friendly command line interface for cri-containerd:

$ cri-containerd --help
             _                         __        _                      __
  __________(_)      _________  ____  / /_____ _(_)____  ___  _________/ /
 / ___/ ___/ /______/ ___/ __ \/ __ \/ __/ __ `/ // __ \/ _ \/ ___/ __  /
/ /__/ /  / //_____/ /__/ /_/ / / / / /_/ /_/ / // / / /  __/ /  / /_/ /
\___/_/  /_/       \___/\____/_/ /_/\__/\__,_/_//_/ /_/\___/_/   \__,_/

A containerd based Kubernetes CRI implementation.

Usage:
  cri-containerd [flags]
  cri-containerd [command]

Available Commands:
  default-config Print default toml config of cri-containerd.
  help           Help about any command
  load           Load an image from a tar archive.
  version        Print cri-containerd version information.

Flags:
      --alsologtostderr                    log to standard error as well as files
      --cgroup-path string                 The cgroup that cri-containerd is part of. Cri-containerd is not placed in a cgroup if none is specified.
      --config string                      Path to the config file. (default "/etc/cri-containerd/config.toml")
      --containerd-endpoint string         Path to the containerd endpoint. (default "/run/containerd/containerd.sock")
      --containerd-root-dir string         Root directory path where containerd stores persistent data. (default "/var/lib/containerd")
      --containerd-runtime string          The runtime used by containerd. (default "io.containerd.runtime.v1.linux")
      --containerd-runtime-engine string   Runtime engine used by containerd. Defaults to containerd's default if not specified.
      --containerd-runtime-root string     The directory used by containerd for runtime state. Defaults to containerd's default if not specified.
      --containerd-snapshotter string      The snapshotter used by containerd. (default "overlayfs")
      --enable-selinux                     Enable selinux support. By default not enabled.
  -h, --help                               help for cri-containerd
      --log_backtrace_at traceLocation     when logging hits line file:N, emit a stack trace (default :0)
      --log_dir string                     If non-empty, write log files in this directory
      --logtostderr                        log to standard error instead of files
      --network-bin-dir string             The directory for putting network binaries. (default "/opt/cni/bin")
      --network-conf-dir string            The directory for putting network plugin configuration files. (default "/etc/cni/net.d")
      --oom-score int                      Adjust the cri-containerd's oom score. (default -999)
      --root-dir string                    Root directory path for cri-containerd managed files (metadata checkpoint etc). (default "/var/lib/cri-containerd")
      --sandbox-image string               The image used by sandbox container. (default "gcr.io/google_containers/pause:3.0")
      --socket-path string                 Path to the socket which cri-containerd serves on. (default "/var/run/cri-containerd.sock")
      --stats-collect-period int           The period (in seconds) of snapshots stats collection. (default 10)
      --stderrthreshold severity           logs at or above this threshold go to stderr (default 2)
      --stream-addr string                 The ip address streaming server is listening on. The default host interface is used if not specified.
      --stream-port string                 The port streaming server is listening on. (default "10010")
      --systemd-cgroup                     Enables systemd cgroup support. By default not enabled.
  -v, --v Level                            log level for V logs
      --vmodule moduleSpec                 comma-separated list of pattern=N settings for file-filtered logging

Use "cri-containerd [command] --help" for more information about a command.

External Dependencies

Features & Bug Fixes

  • #235 Add truncated index support. Container/sandbox/image could be indexed with truncated id now. @yanxuean
  • #319 Fix UpdateContainerResources so that the CPU manager Kubernetes alpha feature works with cri-containerd now. @Random-Liu
  • #322 Support unconfined AppArmor profile. @miaoyq
  • #327 Fix a bug that cri-containerd can't start a container without directory created for image volume during build. @Random-Liu
  • #328 Fix a panic in ListContainerStats. @Random-Liu
  • #335 Use device number to more reliably find image filesystem partition uuid. @Random-Liu
  • #345 Check whether an image is corrupted during restart recovery. @yanxuean
  • #347 Add --oom-score flag in cri-containerd. @yanxuean
  • #366 Add stack dump support. Now user could send SIGUSR1 signal to cri-containerd process to trigger a stack dump. @Random-Liu
  • #371 Fix a bug that once a container fails to be deleted, it could never be deleted again. @Random-Liu
  • #372 Generate log path in ContainerStatus, so that crictl logs could work. @Random-Liu
  • #374 Put containerd and cri-containerd into a specific cgroup /runtime in the ansible setup, and point kubelet to monitor that cgroup. @Random-Liu

Try It Out

  • For a multi-node cluster installer and bring up steps using ansible and kubeadm, see here.
  • For creating a cluster from scratch on Google Cloud, see Kubernetes the Hard Way.
  • For a custom installation from release tarball, see here.
  • For a installation with LinuxKit on a local VM, see here.

Contributors

We'd like to extend a thanks to the following people who contributed to this release: