INSTALL_K3S_VERSION='v1.16.15+k3s1'
curl -sfL <https://get.k3s.io> | sh -
삽질
kubectl get nodes 를 실행했을 때 k8s api에서는 문제없이 리턴이 돌아오는 반면 node가 하나도 나오지 않는 문제가 발생함.
확인해보니 k3s server는 정상적으로 떴으나 k3s agent가 올라오지 못한 경우 이렇게 됨.
로그를 확인해보니 아래와 같은 에러로그가 지속적으로 발생하고 있었음.
Waiting for containerd startup: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.RuntimeService
처음엔 containerd의 버전과 k3s의 버전이 맞지 않아서 그런 것 같았지만 확인해보니 k3s에서는 containerd를 내장하고 있고 이걸 새로 띄워서 사용하므로 불가능한 시나리오임.
좀 더 찾아보니 로컬에 설치된 docker의 containerd를 쓰는 옵션이 있어 k3s에 —docker옵션을 넣어 마침내 node가 Ready상태로 올라오게 만들 수 있었음.
$ sudo cat /etc/systemd/system/k3s.service
# ...
ExecStart=/usr/local/bin/k3s \
server --docker \
$ sudo systemctl daemon-reload && sudo systemctl restart k3s
# ...
$ kubectl get node
NAME STATUS ROLES AGE VERSION
dev-ohchang-k8s-ncl Ready master 46m v1.16.15+k3s1
해피엔딩인줄 알았는데.. pod돌리다보니까 갑자기 buildkit pod에서 아래와 같은 에러가 발생함.
buildkitd: /builder/home/.local/share/buildkit/runc-overlayfs/snapshots does not support d_type. If the backing filesystem is xfs, please reformat with ftype=1 to enable d_type support
확인해보니까 내 서버의 파일시스템이 xfs인데.. 파일시스템이 xfs이면 ftype이라는 옵션이 1이어야한다는 것. 근데 centos 구버전에서는 이 옵션의 기본값이 0으로 설정됨.