쿠버네티스 입문 01 - Ubuntu에서 쿠버네티스 환경을 구축하기

socio-tech·2022년 5월 6일
0

쿠버네티스 입문

목록 보기
2/2

들어가며

이 글은 제가 쿠버네티스의 기본을 배우고 나아가 Certified Kubernetes Administrator 자격을 취득하기 위해 공부한 내용을 정리한 것입니다.

기본적인 구성

저는 Raspberry Pi 4 4GB 버전에 VMware ESXi를 올린 후 ARM64용 Ubuntu Server 22.04 LTS 설치하여, mac os에서 원격으로 사용하고 있습니다. 본 글은 Ubuntu Linux에 대한 원격 접속을 설정하고, minikube를 이용한 쿠버네티스 환경 구축 방법을 다룹니다.

Ubuntu Server의 원격 접속 (SSH) 설정

리눅스에 원격으로 접속하여 작업하기 위한 설정입니다. 리눅스 상에서 직접 작업하시는 분들은 다음과 같은 설정이 필요하지 않습니다.

  1. sudo apt-get update
  2. sudo apt-get install openssh-server
  3. sudo apt-get install ssh
  4. sudo vim /etc/ssh/sshd_config
    1. #Port 22 에서 #를 삭제한 후 (코멘트 해제) 포트 번호를 4-5자리 정도로 지정
    2. a 를 눌러서 수정 모드, 수정 후 esc 및 :wq! 를 써서 저장하고 종료.
  5. sudo service ssh start 를 통해 ssh 서비스 시작
    1. sudo service ssh stop 를 통해 ssh 중지
    2. sudo service ssh status 를 사용해서 현재 ssh 상황을 확인
  6. ifconfig 혹은 hostname -I 명령을 통해 IP 어드레스 확인 (inet)
  7. 맥 혹은 리눅스의 터미널에서 ssh -p 포트번호 사용자이름@IP주소로 로그인

Docker 설치

Docker는 컨테이너 런타임 엔진으로, 호스트 OS 위에서 컨테이너들을 구동할 수 있게 해주는 일종의 하이퍼바이저와 같은 기능을 수행합니다. Docker 말고도 런타임 엔진이 존재하지만 현재는 Docker가 가장 유명하고, 가장 널리 쓰입니다. 쿠버네티스를 가동하기 위해서는 일단 Docker를 설치해줄 필요가 있습니다.

Linux 및 다른 운영체제에 대한 도커의 설치 방법은 다음의 공식 문서에서 자세히 확인할 수 있습니다.
https://docs.docker.com/engine/install/ubuntu/

레포지토리를 설정하기

  1. apt 패키지 인덱스를 업데이트해줍니다.
 sudo apt-get update
  1. https 를 통한 레포지토리를 apt를 통해 이용할 수 있도록 하는 패키지를 설치합니다.
 sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  1. Docker 의 오피셜 GPG 키를 추가합니다.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Docker Engine 을 설치하기

  1. apt 패키지 인덱스를 업데이트한 후 Docker Engine, containerd, Docker Compose 를 설치합니다.
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  1. Docker 가 제대로 설치되었는지 확인합니다.
sudo docker run hello-world

Minikube 설치

쿠버네티스를 설치하는 방법은 여러 가지가 있지만, 학습 환경의 구축을 위한 가장 쉽고 편한 방법인 minikube 를 사용하도록 하겠습니다 (자기 손으로 일일이 환경을 구축하는 법이 궁금하다면 https://github.com/kelseyhightower/kubernetes-the-hard-way 를 참조하세요).

minikube 는 로컬 환경에 쿠버네티스를 구축하기 위한 툴로, 싱글 노드의 쿠버네티스 클러스터를 구축할 수 있도록 해줍니다. minikube가 지원하는 기능들은 다음과 같습니다.

  • DNS
  • NodePort
  • ConfigMapとSecret
  • 대쉬보드
  • 컨테이너 런타임: Docker、CRI-Ocontainerd
  • CNI (Container Network Interface) 의 유효화
  • Ingress
  1. minikube의 설치 방법은 다음의 공식 문서에 정확히 설명되어 있습니다.
    https://minikube.sigs.k8s.io/docs/start/

리눅스의 경우, 직접 minikube 의 stable 릴리즈를 다운로드 받아서 설치할 수 있습니다.

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
  1. minikube를 실행합니다.
    minikube start

  2. kubectl 을 설치합니다.
    minikube kubectl -- get po -A

  3. 쉘 설정에 다음을 추가해서 kubectl 커맨드가 단독으로 작동할 수 있게 해줍니다.

alias kubectl="minikube kubectl --"
profile
일본에 거주하는 문과 출신 시스템 엔지니어

0개의 댓글