온프라미스 환경에서 Kubernetes (k8s)를 구축하는 과정에서 발생한 다양한 에러들을 해결하고 정리한 내용입니다.
도커 스웜을 사용하던 중, 최근에는 쿠버네티스로 환경을 업그레이드하며 환경 설정에 작업하게 되었다.
이전에도 온프라미스 환경에서 Kubernetes를 구축한 경험이 있다. 이번에 다시 진행하면서 환경구축에 어려움이 있었다.
kube-apiserver 확인
1. vi /etc/kubernetes/manifests/kube-apiserver.yaml
1-1 6443 포트 열려있는지 확인 하기
sudo netstat -tuln | grep 6443
kubelet 서비스의 현재 상태를 확인하는 명령어 : sudo systemctl status kubelet
kubelet 로그 확인 : sudo journalctl -u kubelet
6443 에러시
아래의 명령어로 현재 시스템에서 6443 포트를 사용하는지 여부를 체크한다.
sudo netstat -tuln | grep 6443
여부체크시 값이 빈값으로 나온다면 현재 사용하고 있지 않은 것이다.
아래의 명령어를 사용
containerd config default | tee /etc/containerd/config.toml
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
service containerd restart
service kubelet restart
* containerd config default: containerd의 기본 설정을 표시합니다
* tee /etc/containerd/config.toml: config.toml 파일에 표시된 containerd 설정을 기록
* sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml: config.toml 파일에서 SystemdCgroup 옵션을 false에서 true로 변경, 이 옵션은 Systemd Cgroup을 사용할지 여부를 결정
노드 상태를 확인한다.
워커 노드에서도 똑같이 설정해준다.
워커 노드 조인 시 [ERROR CRI]: container runtime is not running 에러가 발생하는 경우
/etc/containerd/config.toml 파일에서
disabled_plugins 항목에서 CRI 제거한 뒤 혹은 주석처리 한 뒤
sudo systemctl restart containerd
설정을 완료하였다.
'Docker' 카테고리의 다른 글
[Docker] Traefik 설치 과정에서 에러 (0) | 2024.03.07 |
---|---|
[docker] mariadb yml (0) | 2023.11.24 |
[네트워크] 웹 서버와 리버스 프록시 (0) | 2023.11.22 |
[Docker] Traefik (0) | 2023.07.11 |
[Docker] Deep Dive - swarm cluster (0) | 2023.06.26 |