Как инициализировать kubeadm на containerd или cri-docker?

Как инициализировать kubeadm на containerd или cri-docker?

kubectl version --client

`Версия клиента: v1.28.1 Настроить версию: v5.0.4-0.20230601165947-6ce0bf390ce3`

kubeadm version

`kubeadm версия: &version.Info{Major:"1", Minor:"28", GitVersion:"v1.28.1", GitCommit:"8dc49c4b984b897d423aab4971090e1879eb4f23", GitTreeState:"clean", BuildDate:"2023-08-24T11 :21:51Z", GoVersion:"go1.20.7", Компилятор:"gc", Платформа:"linux/amd64"}`

Версии устраняют проблему, описанную в этом блоке:

kubeadm не установит и не будет управлять kubelet или kubectl для вас, поэтому вам нужно будет убедиться, что они соответствуют версии плоскости управления Kubernetes, которую вы хотите, чтобы kubeadm установил для вас. Если вы этого не сделаете, существует риск возникновения перекоса версий, который может привести к неожиданному, ошибочному поведению. Тем не менее, поддерживается один незначительный перекос версий между kubelet и плоскостью управления, но версия kubelet никогда не может превышать версию сервера API. Например, kubelet, работающий под управлением 1.7.0, должен быть полностью совместим с сервером API 1.8.0, но не наоборот.

Он был установлен на виртуальной машине proxmox с минимизированной системой Ubuntu Server 22.04.3.

К сожалению, k8s не пингуется без VPN, поэтому VPN включен на хосте, WireGuard. Настроен маскарад в NAT.

Установил все по документации, установил cri-docker как там написано, запускаю его командой:kubeadm init --v=5 --cri-socket=unix:///var/run/cri-dockerd.sock

При запуске без явно указанного сокета выдает ошибку, у меня их 2 (containerd и cri-docker), как я понял из инструкции cri-docker, он должен быть выбран по умолчанию.

Вывод при использовании cri-dockerd:

[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http:// localhost:10248/healthz": dial tcp 127.0.0.1:10248: connect: connection refused.

Вывод после kubeadm reset --v=5 --cri-socker=unix:///var/run/cri-dockerd.sock и kubeadm init --v=5 --cri-socket=unix: ///var/run/containerd/containerd.sock:

[preflight] Some fatal errors occurred: [ERROR CRI]: container runtime is not running: output: time="2023-09-07T15:56:59Z" level=fatal msg="validate service connection: validate CRI v1 runtime API for endpoint \"unix:/// var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService" , error: exit status 1

В чем ошибка и как ее исправить?

В гугле те же проблемы, но нет ответов

решение1

У меня была та же проблема, и я решил ее, выполнив то, что написано в этом уроке: https://www.jjworld.fr/kubernetes-installation/

Связанный контент