책은 2장까지
인프런 강의는
1.3.쿠버네티스 랩을 쉽게 접근하기 위한 터미널 구성 까지 내용이 포함되어있음
코드로 인프라를 생성할 수 있게 지원하는 소프트웨어 중 교육용 및 소규모 환경이기에 베이그런트(Vagrant)를 사용
https://www.virtualbox.org/wiki/Download_Old_Builds_6_1 에서 6.1.18 버전 다운
베이그런트는 프로비저닝(provisioning)을 해줌 . (= 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요할 때 시스템을 사용할 수 있는 상태로 만들어 주는 것)
2.2.14버전으로 다운로드
https://github.com/sysnet4admin/_Lecture_k8s_starter.kit
vegrant up
: Vagrantfile을 읽어 들여 프로비저닝을 진행
virtual box에 생긴걸 확인가능
쿠버네티스 설치가 완료됨
총 네개의 가상머신 설치
이중 m-k8s 들어가고
명령어 리스트
vagrant ssh
: 설치된 CentOS에 접속
uptime
: CentOS의 실행 시간(uptime) 확인
cat /etc/redhat-release
: 운영 체제의 종류 확인
exit
: 가상머신 빠져나옴
vagrant destroy -f
: 가상머신 삭제, 강제종료 옵션(-f)
Vagrantfile을 수정해 원하는 구성이 자동으로 CentOS에 입력되도록
베이그런트 코드는 루비(Ruby) 언어로 작성
Vagrant.configure("2") do |config|
config.vm.define "m-k8s" do |cfg|
cfg.vm.box = "sysnet4admin/CentOS-k8s"
cfg.vm.provider "virtualbox" do |vb|
vb.name = "m-k8s(github_SysNet4Admin)"
vb.cpus = 2
vb.memory = 2048
vb.customize ["modifyvm", :id, "--groups", "/k8s-SM(github_SysNet4Admin)"]
end
cfg.vm.host_name = "m-k8s"
cfg.vm.network "private_network", ip: "192.168.1.10"
cfg.vm.network "forwarded_port", guest: 22, host: 60010, auto_correct: true, id: "ssh"
cfg.vm.synced_folder "../data", "/vagrant", disabled: true
cfg.vm.provision "shell", path: "install_pkg.sh"
cfg.vm.provision "file", source: "ping_2_nds.sh", destination: "ping_2_nds.sh"
cfg.vm.provision "shell", path: "config.sh"
end
1-2 번째 : 현재 파일 루비임을 인식
3 : "2"는 루비 읽어 실행하는 api 버전 , do iconfig는 베이그런트 설정의 시작을 알리는 것
4 : virtualbox의 가상머신 "m-k8s"로 정의하고, do icfg'를 추가해 원하는 설정으로 변경, end로 종료
5 : 기본값 config.vm.box를 do icfg에 적용한 내용을 받아 cfg.vm.box로 변경
6 : 베이그런트의 프로바이더(provider)가 버추얼박스라는 것을 정의
7-11 : virtualbox 생성한 가상 머신의 이름, CPU 수, 메모리 크기, 소속된 그룹 을 명시
12 : 가상 머신 자체에 대한 설정
13 : 호스트 전용 네트워크를 private_network로 설정
14 : ssh 통신은 호스트 60010번을 게스트 22번으로 전달되도록 구성
15 : 호스트와 게스트 사이 디렉터리 동기화 disabled
16-17 : 설정작업 종료 end로 알림
Vagrantfile로 가상머신 생성은
vagrant up
여러 개의 가상 머신에 접근할 때는 유용한 방법을 사용 (슈퍼 푸티)
푸티를 단독으로 사용하면 창을 여러 개 띄워야 해서 명령을 내리기가 매우 번거로우므로 슈퍼 푸티 사용
putty는 이미 설치 되어있고 슈퍼 푸티설치를 한다.
슈퍼 푸티 : 푸티 세션 여러 화면 한번에 보도록 구현
https://github.com/jimradford/superputty/releases
1.4.0.9 버전 다운로드
putty.exe 를 경로 설정해주고 들어간다.
import session에 저자가 설정한 파일을 넣으면
확인 가능
비번은 vagrant (계쏙 vegrant 라고 써서 틀림 ㅋ)
나머지 3개도 모두 접속된다.
4개의 창에 한 번에 명령이 실행되는지 명령 (commands) 창에서 hostname을 입력해 확인
한방에 된다!
접속은 127.0.0.1로 접속하는데 이 이유는
현재 가상 머신들은 192.168.1.0/24 영역대에 있어서 대부분의 경우 모두 접속할 수 있지만 현업에서는 데이터 통신과 관리 네트워크를 분리해 사용하는데, 이와 비슷하게 관리 네트워크를 분리한 것이라고 한다.
컨테이너 인프라 환경을 만들기 위한 도구인 베이그런트와 버추얼박스를 써봤다.
저자가 공유해준 파일 덕에 빠르게 원하는 형태의 실습 환경을 구성했었고, file을 변경하면 자유자재로 구성할 수 있다는 것을 알았다.
3장은 컨테이너를 구성하고 관리하는 쿠버네티스를 실제로 구성해
보고, 구성된 환경을 이용해 쿠버네티스의 구조를 살펴본다.