背景
kubernetesをセットアップする過程でdockerインストール後にdaemon.jsonファイルを作成してdocker再起動するとエラーになる件を調査する
以下はdockerインストールを参考にするサイト
https://v1-15.docs.kubernetes.io/docs/setup/production-environment/container-runtimes/
手っ取り早く、結論と対策を知りたい方は、下を実施してみてください。
結論
- centos 7.6は現時点でkernelの最新は3.10の為、
overlay2
は利用できなかった -
overlay
が対応するfilesystemにxfs
は含まれているが、xfs
ではoverlay
が利用できないみたい(ext4で再セットアップした環境では起動できた)
対策
- filesystemは
ext4
でインストールする -
daemon.json
ファイルは以下の通りにする
/etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "ovrlay"
}
調査詳細
以下はセットアップの内容、エラー内容を記載します。
同様の現象であれば、上記の対策を実施してみてはいかがでしょうか。
dockerインストール
kubernete v1.15 で使うdockerをインストール方法を参考にしていただきたい。
jsonファイルの作成
/etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "ovrlay2"
}
フォルダの作成&サービス再起動
mkdir -p /etc/systemd/system/docker.service.d
systemctl daemon-reload
systemctl restart docker
dockerサービスを再起動するとエラーが???
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
「systemctl status docker.service」と「journalctl -xe」を見ろと言われるのとりあえず見てみる
$ sudo systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: failed (Result: start-limit) since 土 2019-11-16 09:56:02 JST; 2min 28s ago
Docs: https://docs.docker.com
Process: 1684 ExecStart=/usr/bin/dockerd (code=exited, status=1/FAILURE)
Main PID: 1684 (code=exited, status=1/FAILURE)
11月 16 09:56:02 kbmaster systemd[1]: docker.service: main process exited, code=exi...URE
11月 16 09:56:02 kbmaster systemd[1]: Failed to start Docker Application Container ...ne.
11月 16 09:56:02 kbmaster systemd[1]: Unit docker.service entered failed state.
11月 16 09:56:02 kbmaster systemd[1]: docker.service failed.
11月 16 09:56:02 kbmaster systemd[1]: docker.service holdoff time over, scheduling ...rt.
11月 16 09:56:02 kbmaster systemd[1]: Stopped Docker Application Container Engine.
11月 16 09:56:02 kbmaster systemd[1]: start request repeated too quickly for docker...ice
11月 16 09:56:02 kbmaster systemd[1]: Failed to start Docker Application Container ...ne.
11月 16 09:56:02 kbmaster systemd[1]: Unit docker.service entered failed state.
11月 16 09:56:02 kbmaster systemd[1]: docker.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
はぁ、よくわからない。。。
なので、"journalctl -xe"を実行してみる
$ sudo journalctl -xe
11月 16 09:56:02 kbmaster systemd[1]: docker.service failed.
11月 16 09:58:31 kbmaster sudo[1704]: futamata : TTY=pts/0 ; PWD=/home/futamata ; USER=roo
11月 16 09:58:31 kbmaster sudo[1704]: pam_unix(sudo:session): session opened for user root
11月 16 09:58:31 kbmaster sudo[1704]: pam_unix(sudo:session): session closed for user root
11月 16 10:01:01 kbmaster systemd[1]: Created slice User Slice of root.
-- Subject: Unit user-0.slice has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit user-0.slice has finished starting up.
--
-- The start-up result is done.
11月 16 10:01:01 kbmaster systemd[1]: Started Session 2 of user root.
-- Subject: Unit session-2.scope has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit session-2.scope has finished starting up.
--
-- The start-up result is done.
11月 16 10:01:01 kbmaster CROND[1707]: (root) CMD (run-parts /etc/cron.hourly)
11月 16 10:01:01 kbmaster run-parts(/etc/cron.hourly)[1710]: starting 0anacron
11月 16 10:01:01 kbmaster anacron[1716]: Anacron started on 2019-11-16
11月 16 10:01:01 kbmaster run-parts(/etc/cron.hourly)[1718]: finished 0anacron
11月 16 10:01:01 kbmaster anacron[1716]: Will run job `cron.daily' in 41 min.
11月 16 10:01:01 kbmaster anacron[1716]: Will run job `cron.weekly' in 61 min.
11月 16 10:01:01 kbmaster anacron[1716]: Jobs will be executed sequentially
11月 16 10:01:47 kbmaster sudo[1721]: futamata : TTY=pts/0 ; PWD=/home/futamata ; USER=roo
11月 16 10:01:47 kbmaster sudo[1721]: pam_unix(sudo:session): session opened for user root
lines 2162-2190/2190 (END)
これまた、全くよくわからない。
daemon.jsonをrenameすると起動することからjsonファイルの記載が正しくないことが判明した。