반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 데브옵스
- centOS7
- 인프라
- AWS
- 프로세스
- 도커 컨테이너
- kubernetes
- 도커
- 운영체제
- Swift
- boj
- linux
- ios
- 네트워크
- 쿠버네티스
- C++
- 클라우드
- os
- devops
- k8s
- 리눅스
- NGINX
- 도커 이미지
- swift 클로저
- 도커 명령어
- centOS
- docker
- Python
- 부스트코스
- 컨테이너
Archives
- Today
- Total
귀염둥이의 메모
[K8s] Vagrant와 Kubespray를 이용한 쿠버네티스 환경 구성(1) 본문
반응형
Vagrant란?
- 단인 워크 플로우로 가상 시스템 환경을 구축하고 관리하기 위한 프로비저닝 도구
- 프로비저닝 기능을 통하여 요구 사항에 맞는 가상 시스템 환경을 자동으로 구축 가능
- 시스템은 VirtualBox, VMware 등의 프로바이더 위에 프로비저닝
- IaC 도구를 사용하여 가상 시스템에 소프트웨어를 자동으로 설치, 구성 가능
- Vagrantfile에 작성된 내용을 바탕으로 가상 시스템이 자동으로 구축된다
- 명령어로 VM 상태 확인, 중지, 삭제, 생성 등이 가능하다
Vagrant 설치 & Virtualbox 설치
https://www.vagrantup.com/downloads
brew로 설치 가능 - Vagrant
VirtualBox 설치
Vagrant 기본 명령어
- vargrant init : Vagrantfile 기본 형태 생성
- vagrant box add : 이미지 다운로드
- vagrant plugin install : 추가 플러그인 설치
- vagrant up : Vagrantfile을 바탕으로 프로비저닝 진행
- vagrant halt : 관리하는 가상 머신을 종료
- vagrant destory : 관리하는 가상머신 삭제
- vagrant ssh : 가상 머신에 ssh 접속
Vagrant를 이용하여 VM 프로비저닝 실습
Ubuntu 18.04 이미지 가져오기 (vagrant box add ubuntu/bionic64)
이미지 목록 확인 (vagrant box list)
추가 패키지 hostmanager, disksize 설치하기
- vagrant-hostmanager : 게스트 시스템의 호스트 파일을 관리하는 플러그인
- vagrant-disksize : Virtual Box에서 디스크 사이즈를 조절하는 플러그인
Vagrantfile 생성 (vargarnt init)
Vagrantfile 수정 (vi Vagrantfile)
- 이런 식으로 주석 처리된 설명을 볼 수 있다
- 이제 내가 원하는 설정에 맞게 바꿔주자 Ruby 문법으로 작성한다
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define "control-plane" do |config|
config.vm.box = "ubuntu/bionic64"
config.vm.provider "virtualbox" do |vb|
vb.name = "control-plane"
vb.memory = "2048"
vb.cpus = 2
end
config.vm.hostname = "control-plane.example.com"
config.vm.network "private_network", ip: "192.168.56.11"
end
config.vm.define "node1" do |config|
config.vm.box = "ubuntu/bionic64"
config.vm.provider "virtualbox" do |vb|
vb.name = "node1"
vb.memory = "1536"
vb.cpus = 1
end
config.vm.hostname = "node1.example.com"
config.vm.network "private_network", ip: "192.168.56.21"
config.disksize.size = "50GB"
end
config.vm.define "node2" do |config|
config.vm.box = "ubuntu/bionic64"
config.vm.provider "virtualbox" do |vb|
vb.name = "node2"
vb.memory = "1536"
vb.cpus = 1
end
config.vm.hostname = "node2.example.com"
config.vm.network "private_network", ip: "192.168.56.22"
config.disksize.size = "50GB"
end
# 설치한 플러그인 활성화
config.hostmanager.enabled = true
config.hostmanager.manage_guest = true
config.vm.provision "shell", inline: <<-SHELL
sed -i 's/ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/g' /etc/ssh/sshd_config
sed -i 's/archive.ubuntu.com/ftp.daum.net/g' /etc/apt/sources.list
sed -i 's/security.ubuntu.com/ftp.daum.net/g' /etc/apt/sources.list
systemctl restart ssh
SHELL
end
- control-plane, node1, node2 총 3개의 VM을 생성한다
- sed 명령어를 통해 sshd_config와 sources.list 파일을 수정하게 했다
프로비저닝 진행 (vagrant up)
- 자동으로 생성된 것을 확인할 수 있다
<참고자료>
반응형
'Infra & Devops > Kubernetes' 카테고리의 다른 글
[K8s] 쿠버네티스 아키텍처 (Kubernetes Architecture), 구성 요소 (0) | 2021.10.08 |
---|---|
[K8s] kube-proxy (0) | 2021.10.07 |
[K8s] 파드(Pod) 구성 패턴 (0) | 2021.10.05 |
[K8s] 컨테이너 프로브(Probe), 컨테이너 진단 (0) | 2021.10.05 |
[K8s] Vagrant와 Kubespray를 이용한 쿠버네티스 환경 구성(2) (0) | 2021.10.03 |
Comments