概要
AtomicHost(CentOS)のkubeletデーモンを起動させようとしたところ
以下のようなエラーが出て起動出来ませんでした。
エラーメッセージ
[centos@myhost ~]$ sudo systemctl start kubelet Failed to issue method call: Unit docker.socket failed to load: No such file or directory.
対処法
kubeletのサービスファイル内を修正してあげる必要がありました。
/usr/lib/systemd/system/kubelet.service
このファイルです。
しかしこのファイルはReadOnlyで修正出来ません。
そこで、/etc/systemd/systemへ移動させてから修正します。
/usr/lib/systemd/system/以下のserviceファイルより
/etc/systemd/system/以下のserviceファイルのほうが優先的に読み込まれます。
sudo cp -p /usr/lib/systemd/system/kubelet.service /etc/systemd/system/ sudo vi /etc/systemd/system/kubelet.service
serviceファイル移動後、該当箇所を修正します。
[Unit]
Description=Kubernetes Kubelet Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
After=docker.socket cadvisor.service
Requires=docker.socket
[Service]
EnvironmentFile=-/etc/kubernetes/config
EnvironmentFile=-/etc/kubernetes/kubelet
ExecStart=/usr/bin/kubelet \
${KUBE_LOGTOSTDERR} \
${KUBE_LOG_LEVEL} \
${KUBE_ETCD_SERVERS} \
${MINION_ADDRESS} \
${MINION_PORT} \
${MINION_HOSTNAME} \
${KUBE_ALLOW_PRIV} \
${MINION_ARGS}
Restart=on-failure
[Install]
WantedBy=multi-user.targetこのファイルの下記2箇所を修正します。
1つ目
After=docker.socket cadvisor.service
↓
After=docker.service cadvisor.service
2つ目
Requires=docker.socket
↓
Requires=docker.service
修正後、OS再起動を行い無事kubeletデーモンを起動させることが出来ました。
バージョン情報
CentOS Linux release 7.0.1406 (Core) kubernetes-0.4-0.3.gite868642.el7.centos.x86_64