LoginSignup
2
0

More than 1 year has passed since last update.

kubeadm initできない!!!!

Posted at

環境

Ubuntu 20.04

kubeadm initをしようとすると…

大学やバイトで忙しく全くサーバーを触れていなかったので、久しぶりにK8Sを使って遊ぼうと思いkubeadm initでクラスタを初期化しようとしたらエラーが出ました。

ubuntu@instance:~$ sudo kubeadm init
[init] Using Kubernetes version: v1.26.1
[preflight] Running pre-flight checks
error execution phase preflight: [preflight] Some fatal errors occurred:
        [ERROR CRI]: container runtime is not running: output: time="2023-02-04T07:30:18Z" level=fatal msg="validate service connection: CRI v1 runtime API is not implemented for endpoint \"unix:///var/run/containerd/containerd.sock\": rpc error: code = Unimplemented desc = unknown service runtime.v1.RuntimeService"
, error: exit status 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher

せっかく久しぶりに開いたのに最初に迎えてくれたのはエラーでした。最悪です。

解決策

ランタイムのバージョンが古すぎることが原因だったようです。
Dockerリポジトリから最新のcontainerdを導入することで解決します。

リポジトリの導入

Dockerリポジトリの導入方法に関するドキュメントを参照しながらGPGキーを追加し、リポジトリを追加します。

$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

古いcontainerdの削除

いつも通りにaptを用いて削除します。別のパッケージマネージャを用いてる場合は適宜読み替えてください。

$ sudo apt remove containerd
$ sudo mv /etc/containerd/config.toml /etc/containerd/config.toml.bak

configファイルをconfig.toml.bakに改名しています。
もしconfigを変更している場合新たに生成されたconfig.tomlを変更してください。

containerdの導入

$ sudo apt install containerd.io
$ sudo systemctl restart containerd

結果

正常にkubeadm initできるようになった!やったね!

$ sudo kubeadm init
Your Kubernetes control-plane has initialized successfully!
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0