쿠버네티스 실습 환경을 구성하는 코드
쿠버네티스 환경을 구성하는 코드
베이그런트파일(Vagrantfile)
- 베이그런트는 Ruby 기반
Vagrant.configure("2")
: API Version을 2로 사용할 것임을 명시do |config|
-end
: 이 코드로 묶여진 블록 내에서 매개변수config
를 사용cfg.vm.provider
: 가상머신 설정cfg.vm.provision "shell", path: "k8s_env_build.sh", args: N
:k8s_env_build.sh
를 매개변수 없이 쉘에서 실행(1..N).each do |i|
: 반복문
쿠버네티스 환경 구성하기
k8s_env_build.sh: 쿠버네티스 설치 환경 구성
#!/user/bin/env bash
: SheBang(#!
) 파일이 bash script를 사용함을 명시적으로 표시echo 'alias vi=vim' >> /etc/profile
:/etc/profile
에alias vi=vim
기록하여vi
대신vim
사용swapoff -a
:swapoff
하지 않을 시 쿠버네티스가 정상적인 설치가 되지 않음- DNS 오류 방지 위하여 아래와 같이 설정
# config DNS cat <<EOF > /etc/resolv.conf nameserver 1.1.1.1 #cloudflare DNS nameserver 8.8.8.8 #Google DNS EOF
쿠버네티스 관련 패키지 설치 및 실습 편의성 높이기
k8s_pkg_cfg.sh: 쿠버네티스 관련 패키지 설치
epel-release
: 저장소 확장 패키지vim-enhanced
: vim
k_cfg_n_git_clone.sh: 실습 편의성
bash-completion
: bash 자동 완성find $HOME/_Lecture_k8s_learning.kit -regex ".*\.\(sh\)" -exec chmod 700 {} \;
: git에서 내려받은 코드는 실행 불가능하므로 실행 권한 부여
참고: 쿠버네티스는 systemd로 cgroup을 관리
- cgroup: 프로세스들의 자원의 사용을 제한하고 격리시키는 리눅스 커널 기능