KuberNetes/졸과

GCP에 쿠버네티스 구축하기-2

브리오 2024. 6. 30. 15:45

목표

  • 도커 런타임 설치
  • 도커 cgroup driver 설정
  • 방화벽 및 네트워크 설정

사전준비

패키지 업데이트

apt update -y && apt upgrade -y

SWAP 메모리 해제

추후 각 노드에서 kubelet이라는 컴포넌트가 제대로 동작하기 위해서는 리눅스의 SWAP 메모리 기능을 해제해줘야 합니다.

sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

swapoff -a

도커 설치하기

VM전부 해당 작업을 수행해야합니다

쿠버네티스가 동작하기 위해서는 컨테이너 런타임이 필요합니다.

container.d, cri-o 등이 있지만 .. container.d를 설치하겠습니다.

도커에 필요한 패키지 다운로드

HTTPS를 통해 도커 Repository에 접근할 것이므로, 접근에 필요한 패키지들을 다운로드 받습니다

sudo apt-get update

sudo apt-get install \

ca-certificates \

curl \

gnupg \

lsb-release

도커 공식 GPG key 등록

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

도커 Repository 설정

echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

도커 설치

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

도커 cgroup driver 설정

sudo mkdir /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

도커 재시작 및 부팅시 시작 설정

sudo systemctl enable docker
sudo systemctl daemon-reload
sudo systemctl restart docker

Container.d 런타임에 대해서 CRI 비활성화 해제 

위에서 Docker 를 설치하고 실질적으로 container.d 를 런타임으로 사용하는데, 기본적으로 CRI가 비활성화 되어 있어서

k8s에서 CRI를 사용할 수 있게 아래와 같은 처리가 필요합니다

vi /etc/containerd/config.toml

그리고 중간에 disable_plugins.. 된 부분을 주석 처리 해줍니다. 

# disabled_plugins =["cri"]

그리고 containerd 를 재시작해줍니다.

systemctl restart containerd

 

 

방화벽 및 네트워크 환경설정

추후 쿠버네티스 환경에서 서로 노드간의 CNI를 통해서 통신을 하게 될 예정인데,

그 전에 필요한 네트워크 및 방화벽 환경 설정을 진행합니다.

modprobe overlay
modprobe br_netfilter


cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

 

 

https://aoc55.tistory.com/53