일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- synology
- 스마트 디스플레이
- 포토박스
- centos
- Code-Server
- 울트라나브
- k0s
- 미니스튜디오
- 트랙포인트
- 미지아
- USB4.0
- 빨콩
- ACASIS
- 쿠버네티스
- 원격
- TRACKPOINT
- talos linux
- 외장SSD
- IoT
- 가상컴퓨터
- Kubernetes
- Thunderbolt3
- lenovo
- 탁상시계
- lubuntu
- Rocky LInux
- VMM
- k8s
- 시놀로지
- SSD인클로저
- Today
- Total
테크믈리에의 리뷰 공간
[K8S / Rancher 강좌] 1. Docker 설치 및 K8S를 위한 준비 본문
서론
이번 시간에는 K8S 환경 구축에 필수인 Docker(Containerd)를 설치하고 NTP를 설치해볼 예정이다. Docker는 가상 컨테이너 환경 구축을 위해 사용될 예정이고 NTP는 K8S 클러스터 간 시간 동기화를 위해 사용될 예정이다.
Docker 설치
도커의 공식 설치 방법 문서는 아래 링크에서 확인할 수 있다.
우선은, Docker 설치에 있어 필요한 프로그램 설치를 하도록 하자.
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
그 다음에는 Docker의 APT 저장소에 접근하기 위한 GPG 키를 등록해야한다.
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
GPG 키 등록이 끝난 다음에는 이를 기반으로 Docker의 APT 저장소를 등록한다
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
이제 APT 저장소로부터 Docker 최신 버전을 다운로드 받자
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
모든 작업이 끝났다면, 이제 도커를 사용할 준비는 완료되었다. 다만, sudo 없이는 Docker를 사용할 수 없다는 점이 매우 귀찮기 때문에 sudo 없이도 Docker를 쓰고 싶다면 docker 그룹에 사용자를 추가해야한다.
sudo groupadd docker
sudo usermod -aG docker ${USER}
sudo service docker restart
이제 sudo 없이 docker를 편하게 쓸 준비가 완료되었다
K8S 사용을 위한 기초적인 준비
우선, K8S 환경을 사용하는데 있어 기초적인 준비 과정 중 하나는 SWAP 메모리를 해제하는 것이다. 왜 해야하는지 궁금한 사람이라면 아래 블로그에서 해당 이유를 자세하게 설명하니 읽어보도록 하자.
SWAP 메모리를 당장 해제하고 리부팅 후에도 해당 설정을 유지하도록 하는 것은 아래 코드 한줄로 간단하게 할 수 있다.
sudo swapoff -a && sudo sed -i '/swap/s/^/#/' /etc/fstab
그 다음으로 필요한 기초 과정 중 하나는 K8S 클러스터 내의 모든 서버가 같은 시간을 공유할 수 있도록 NTP를 활성화하는 것이다.
sudo apt install ntp -y
sudo service ntp restart
sudo ntpq -p
위 명령어를 사용하면 ntp를 설치하고 잘 실행되었는지까지 확인할 수 있다.
추가로, 필수는 아니지만 간혹 k8s 환경을 사용하다보면 Failed to allocate directory watch: Too many open files 와 같은 에러를 마주할 수 있다. 이는, 우분투에서 기본적으로 fs.inotify의 watch 최대치값이 낮게 잡혀있어서 그런 것인데, 이 값을 늘려줌으로써 문제를 예방할 수 있다. 현재 본인의 최대치는 아래 명령어를 통하여 확인할 수 있다.
sysctl fs.inotify
위 블로그를 보면 메모리 총 용량 128GB인 경우 1048576이 감당할 수 있는 최대치라고 하니, 본인 메모리 용량에 비례하는 최대값을 계산해보도록 하자. 최대치 변경은 /etc/sysctl.d/60-fs-inotify.conf를 생성하여 아래와 같이 적어주면 된다.
fs.inotify.max_queued_events = 32768
fs.inotify.max_user_instances = 512
fs.inotify.max_user_watches = <최대치>
그 다음에는 다음 명령어를 통해 변경사항을 적용할 수 있다.
sudo sysctl --system
max_queued_events나 max_user_instances의 경우에는 임의로 임력한 값이니, 본인이 적합하다고 생각하는 값을 찾아 적어주도록 하자.
마침글
이번 글에서는 간단하게 Docker를 설치하고 K8S 환경 구축을 위한 기초적인 세팅을 하는 방법에 관하여 알아보았다. 다음 글은 Nvidia GPU가 달린 컴퓨터가 있을 때 Lubuntu 환경에서 Nvidia Driver 및 Cuda Tools를 간단하게 설치하는 방법에 관하여 다룰 예정이다.
'프로그래밍|소프트웨어 > Rancher' 카테고리의 다른 글
[K8S / Rancher 강좌] 4-1. RKE1 (Docker) 환경에서 Nvidia GPU 사용 방법 (0) | 2023.08.20 |
---|---|
[K8S / Rancher 강좌] 4. Rancher를 통한 K8S 환경 구축 방법 (0) | 2023.08.20 |
[K8S / Rancher 강좌] 3. Kubeadm을 통한 K8S 환경 구축 방법 (0) | 2023.08.19 |
[K8S / Rancher 강좌] 2. Nvidia GPU가 달린 노드를 위한 기초 세팅 (0) | 2023.08.18 |
[K8S / Rancher 강좌] 0. 우분투 환경 구축 (0) | 2023.08.17 |