[k8s] kubernetes 연습 환경 만들기

HYEOB KIM·2022년 5월 1일
1

kubernetes

목록 보기
2/14

Master node : 1개
Worker node : 2개

도커 설치(ubuntu)

  • 컴퓨터 스펙 최소 사양 - CPU : 2core, Memory : 2GB
  • OS : Ubuntu 20.04

Repository를 이용한 설치

인터넷과 통신이 가능할 때 Repository를 사용해 설치하는 방법입니다.
=> 도커 공식 사이트 참고

리포지토리 셋업

도커를 설치하기 위해 요구하는 패키지를 모두 설치합니다.

sudo apt-get update
sudo apt-get -y install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

도커를 사용하기 위한 공식 GPG 키(인증서) 를 저장합니다.

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

도커의 우분투 리포지토리 URL을 등록합니다.

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

도커 엔진 설치

앞서 리포지토리 URL을 등록해 주었기 때문에 반드시 업데이트를 해야 합니다.

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

도커 엔진이 잘 설치되었는지 테스트를 진행합니다.

sudo docker version

image

  • Client 버전과 Server 버전이 보입니다.

kubernetes 설치(ubuntu)

아래의 k8s 공식 문서를 참조하여 설치 방법이 작성 되었습니다.
=> https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

kubeadm 설치

  1. 스왑을 비활성화 합니다.
    kubelet이 제대로 작동하게 하려면 반드시 스왑을 사용하지 않아야 합니다.
swapoff -a && sed -i '/swap/s/&/#/' /etc/fstab
  1. br_netfilter 모듈이 로드 되었는지 확인합니다.
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
  1. iptablesbridged network를 허용하도록 합니다.
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
  1. 방화벽을 비활성화합니다.
    k8s는 보통 내부망으로 방화벽 없이 통신하고,
    외부에서 들어올 때 방화벽을 설정하기 때문에 노드의 방화벽을 비활성화 해도 문제가 없습니다.
sudo ufw disable
  1. 쿠버네티스 apt 리포지터리를 사용하는 데 필요한 패키지를 설치합니다.
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
  1. 구글 클라우드의 공개 서명 키를 다운로드 합니다.
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
  1. k8s 리포지토리를 추가합니다.
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
  1. kubelet, kubeadm, kubectl을 설치하고 해당 버전을 고정합니다.
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

control-plan 구성하기

worker node 구성하기

profile
Devops Engineer

0개의 댓글