본문 바로가기
개발

유스콘 쿠버네티스 복습하기 - 1. 환경 설정

by 상5c 2022. 6. 12.

https://github.com/youthcon-21-k8s/k8s-init

 

GitHub - youthcon-21-k8s/k8s-init

Contribute to youthcon-21-k8s/k8s-init development by creating an account on GitHub.

github.com

유쾌한 스프링방, 루기님을 비롯한 도움을 주신 모든 분들께 다시 한 번 감사드립니다.


실무에서 쿠버네티스를 사용하지 않고 있어 일부 잘못된 설명이 있을 수 있습니다. 댓글로 알려주면 감사하겠습니다.

글은 공부한 내용을 정리하는 느낌으로 편하게 작성했습니다.

실습 환경 구성하기

실습에서는 VirtualBox와 Vagrant가 사용된다.

MacOS

macOS의 경우 brew를 통해 설치 가능하다.

brew install --cask virtualbox
brew install --cask vagrant

# 필요한 경우 설치
brew install --cask vagrant-manager

vargrant-manager는 이름에서 알 수 있듯, vagrant 관리 도구이다.

상단 메뉴바에 아이콘이 생기며, 좀 더 편하게 관리할 수 있다.

Windows

Windows의 경우 아래 링크를 통해 설치한다

실습 파일

실습 환경구성을 위해 필요한 파일은 github에서 받을 수 있다.

https://github.com/youthcon-21-k8s/k8s-init

git clone https://github.com/youthcon-21-k8s/k8s-init.git
README.md
Update README.md
Vagrantfile
config.sh
cstor-pool-cluster.yaml
cstor-storage-class.yaml
install_pkg.sh
master_node.sh
metallb-config.yaml
mysql.yaml
wordpress.yaml
work_nodes.sh

파일은 호스트 머신에서 사용되는 파일과, 내부에서 사용되는 파일이 혼합되어 있다. 간단히 .sh 파일은 초기 구성을 위해, .yaml 파일은 내부에서 사용된다고 봐도 무방하다.

일단, 초기 구성은 Vagrant 명령어를 통해 진행된다.

Vagrant

Ruby 언어로 작성된 스크립트를 바탕으로 Virtual Box를 생성해주는 도구이다.

Vagrantfile 이 해당 스크립트이며, 변수에 값을 대입하는 형태로 설정이 가능하다. 읽기에 그다지 어렵지 않다. 이해하지 못하더라도 실습에 전혀 방해가 되지 않을 것으로 예상한다.

마스터, 워커 노드를 구성하도록 작성되어 있으며 스펙(이름, CPU, Memory, Network) 설정 값들과, 초기화 스크립트(.sh 파일)들을 전달한다.

발표 준비 당시 실습 진행 환경이 공유기가 두 겹 이상으로 구성된 경우 아이피 충돌이 있었다. 설정 파일의 아이피 변경을 통해 해결했다.

git clone을 실행한 경로에서 vagrant up 명령어를 사용하면 구성이 시작된다.

구성이 잘못 되었거나 제거하고 싶은 경우 vagrant destroy -f 명령어를 통해 제거할 수 있다. 일시 정지는 vagrant suspend 이다.

상태를 확인하려면 vagrant status, 도움말을 확인하려면 vagrant —help 명령어를 사용한다.

vagrant up
vagrant destroy
vagrant status
vagrant --help

설치 시간이 오래 걸릴 수 있다.

  • master name: m-k8s-y
  • worker name: w1-k8s-y
  • slave name: s1-k8s-y
  • ssh ssh root@127.0.0.1 -p 60010
    • 포트: 60010
    • 계정: root
    • 비밀번호: vagrant

  • vagrant ssh m-k8s-y 명령어를 사용해서도 접근 가능하다. (vagrant 계정이 사용된다)
    • 이후 su - root 명령어를 통해 루트 권한을 획득한다.