Use v2 config.

Signed-off-by: Lantao Liu <lantaol@google.com>
This commit is contained in:
Lantao Liu 2019-06-10 20:26:38 -07:00
parent efba8e147f
commit 150232325e
2 changed files with 20 additions and 11 deletions

View File

@ -158,29 +158,30 @@ fi
log_level="${CONTAINERD_LOG_LEVEL:-"info"}" log_level="${CONTAINERD_LOG_LEVEL:-"info"}"
max_container_log_line="${CONTAINERD_MAX_CONTAINER_LOG_LINE:-16384}" max_container_log_line="${CONTAINERD_MAX_CONTAINER_LOG_LINE:-16384}"
cat > ${config_path} <<EOF cat > ${config_path} <<EOF
version = 2
# Kubernetes requires the cri plugin. # Kubernetes requires the cri plugin.
required_plugins = ["cri"] required_plugins = ["io.containerd.grpc.v1.cri"]
# Kubernetes doesn't use containerd restart manager. # Kubernetes doesn't use containerd restart manager.
disabled_plugins = ["restart"] disabled_plugins = ["io.containerd.internal.v1.restart"]
[debug] [debug]
level = "${log_level}" level = "${log_level}"
[plugins.cri] [plugins."io.containerd.grpc.v1.cri"]
stream_server_address = "127.0.0.1" stream_server_address = "127.0.0.1"
stream_server_port = "0" stream_server_port = "0"
max_container_log_line_size = ${max_container_log_line} max_container_log_line_size = ${max_container_log_line}
[plugins.cri.cni] [plugins."io.containerd.grpc.v1.cri".cni]
bin_dir = "${cni_bin_dir}" bin_dir = "${cni_bin_dir}"
conf_dir = "/etc/cni/net.d" conf_dir = "/etc/cni/net.d"
conf_template = "${cni_template_path}" conf_template = "${cni_template_path}"
[plugins.cri.registry.mirrors."docker.io"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://mirror.gcr.io","https://registry-1.docker.io"] endpoint = ["https://mirror.gcr.io","https://registry-1.docker.io"]
[plugins.cri.containerd] [plugins."io.containerd.grpc.v1.cri".containerd]
default_runtime_name = "${CONTAINERD_DEFAULT_RUNTIME:-"runc"}" default_runtime_name = "${CONTAINERD_DEFAULT_RUNTIME:-"runc"}"
[plugins.cri.containerd.runtimes.runc] [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
runtime_type = "io.containerd.runc.v2" runtime_type = "io.containerd.runc.v2"
[plugins.cri.containerd.runtimes.runc.options] [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
BinaryName = "${CONTAINERD_HOME}/usr/local/sbin/runc" BinaryName = "${CONTAINERD_HOME}/usr/local/sbin/runc"
EOF EOF
chmod 644 "${config_path}" chmod 644 "${config_path}"
@ -189,10 +190,10 @@ chmod 644 "${config_path}"
containerd_extra_runtime_handler=${CONTAINERD_EXTRA_RUNTIME_HANDLER:-""} containerd_extra_runtime_handler=${CONTAINERD_EXTRA_RUNTIME_HANDLER:-""}
if [[ -n "${containerd_extra_runtime_handler}" ]]; then if [[ -n "${containerd_extra_runtime_handler}" ]]; then
cat >> ${config_path} <<EOF cat >> ${config_path} <<EOF
[plugins.cri.containerd.runtimes.${containerd_extra_runtime_handler}] [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.${containerd_extra_runtime_handler}]
runtime_type = "${CONTAINERD_EXTRA_RUNTIME_TYPE:-io.containerd.runc.v1}" runtime_type = "${CONTAINERD_EXTRA_RUNTIME_TYPE:-io.containerd.runc.v1}"
[plugins.cri.containerd.runtimes.${containerd_extra_runtime_handler}.options] [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.${containerd_extra_runtime_handler}.options]
${CONTAINERD_EXTRA_RUNTIME_OPTIONS:-} ${CONTAINERD_EXTRA_RUNTIME_OPTIONS:-}
EOF EOF
fi fi

View File

@ -18,6 +18,8 @@ package client
import ( import (
"context" "context"
"net"
"time"
"github.com/pkg/errors" "github.com/pkg/errors"
"google.golang.org/grpc" "google.golang.org/grpc"
@ -36,7 +38,13 @@ func NewCRIPluginClient(ctx context.Context, endpoint string) (api.CRIPluginServ
conn, err := grpc.DialContext(ctx, addr, conn, err := grpc.DialContext(ctx, addr,
grpc.WithBlock(), grpc.WithBlock(),
grpc.WithInsecure(), grpc.WithInsecure(),
grpc.WithDialer(dialer), grpc.WithContextDialer(
func(ctx context.Context, addr string) (net.Conn, error) {
if deadline, ok := ctx.Deadline(); ok {
return dialer(addr, time.Until(deadline))
}
return dialer(addr, 0)
}),
) )
if err != nil { if err != nil {
return nil, errors.Wrap(err, "failed to dial") return nil, errors.Wrap(err, "failed to dial")