티스토리 뷰
1. IaC (Infrastructure as Code)
소프트웨어를 프로그래밍하는 것처럼 코드를 통해 인프라 구성을 하는 방식 = "프로그래밍형 인프라"
개별 하드웨어의 수동 구성 및 업데이트가 불필요 → 빠른 속도, 비용 절감, Human error 제거, 멱등성 보장
*** Human error 란?
시스템을 관리, 운영하는 과정에서 인간의 개입이 불가피한 경우 발생하는 '사람이 하는 실수'
→ IaC로 shell이나 code 실행을 통해 설정 파일 복사가 가능해지므로 사람이 직접 환경 설정할 필요가 없어지고 수동 오류가 줄어듦
*** 멱등성
몇 번 실행하더라도 동일한 결과를 보장하는 것
1개의 시스템 구성을 수동 방식으로 하는 것은 괜찮을지도 모르지만 100개, 1000개로 구성해야 하는 시스템 인프라 수가 증가할수록 오류 발생 가능성과 부담이 커지게 됩니다. 이 때 다음과 같은 IaC Tool을 사용하면 효율적으로 시스템 인프라 관리를 할 수 있습니다.
- IaC Tool
- Chef
- Pupper
- Terraform : 배포 관리
- Ansible : 배포 이후 구성 관리의 대표
- Vagrant
2. Vagrant 설치
Vagrant : 스크립트를 기반으로 특정 환경의 가상 머신을 자동 생성, 신속한 개발 환경 구축을 돕는 솔루션
*** VMWare와 VirtualBox 모두 사용 가능하지만, VMWare 사용 시 별도 드라이버 설치가 필요하므로 VirtualBox로 실습을 권장합니다.
- VirtualBox (Oracle 사의 오픈소스 가상 머신 소프트웨어) 설치
7.0.6 ver Windows hosts + Extension Pack을 함께 설치
VirtualBox 사용해보기 - 메모리 1G, Rocky 9 ISO 이미지로 설치 진행
Ctrl+Alt 입력 단축키 변경 (Vmware와 크게 다르지 않습니다. 다만 익숙한 방식으로 호스트 key를 변경해주면 좋아요.)
https://www.virtualbox.org/wiki/Downloads
- Vagrant 설치
https://developer.hashicorp.com/vagrant/downloads
Vagrant.com에서 환경에 맞는 파일 다운로드 (Windows-AMD64 다운로드)
*** 이후 cmd 창을 열어 플러그인을 반드시 설치
vagrant plugin install vagrant-vbguest
3. Vagrant 실행하기
우선 실행에 필요한 준비를 위해 Vagrantfile 을 확인해야 합니다.
vagrant init # 초기화
dir # 디렉토리 확인
notepad Vagrantfile # 메모장으로 Vagrantfile 열어 확인
이 file을 이용해 node 연결코드를 만들어 가상 머신을 생성할 것입니다. 초기 파일에는 Vagrantfile 작성법에 대한 설명이 주석 처리 되어 있습니다.
3-1. Vagrantfile 작성
확인한 Vagrantfile 내용을 작성합니다. VSCode를 이용해 node 연결 코드를 생성했습니다.
config.vbguest.installer_options = { allow_kernel_upgrade: true }
*** 이 때 config.vbguest 코드가 없으면 vbguest 설치가 불가능하므로 삭제 X
config.vm.network "forwarded_port", guest: 22, host: 65022
# 65022 포트 사용, 외부에 직접 노출 가능
config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
config.vm.network "public_network", ip: "192.168.3.213"
# 내가 쓸 주소 192.168.3.213
위와 같이 vagrantfile에 사용할 포트, 주소와 가상 머신 생성에 필요한 설정들을 입력해줍니다.
이렇게 수정한 코드를 vagrant 폴더를 만들어 Vagrantfile로 저장합니다.
이 때 file의 이름은 반드시 Vagrantfile이어야 하며 경로에 한글이 있지 않도록 주의합니다.(vagrant up 시 오류 발생 가능)
저는 바탕화면에 vagrant 폴더를 만들어 실행했습니다.(Vagrantfile 경로: C:\Users\사용자\Desktop\vagrant)
3-2. Vagrant 실행
cd vagrant
Vagrantfile이 있는 경로로 이동해 vagrant up을 진행합니다.
- vagrant 실행, 자동으로 가상 머신 생성 시작
vagrant up
- vagrant 상태 확인
vagrant status
- 생성 및 설정이 완료된 것을 확인한 가상 머신(anm1)에 원격 접속
vagrant ssh anm1
- 만든 가상 머신 삭제
vagrant destroy
Vagrantfile 수정을 통해 아래와 같이 복수의 node를 구성할 수도 있습니다.
VMWare로 node를 만들 때는 일일히 시스템 설정을 하고 IP도 각각 주어야 했는데, 오늘은 IaC 툴을 이용해 한 번에 손쉽게 환경 구축을 마쳐보았습니다.
+) 더 많은 명령어와 작업 수행은 Vagrant Documents를 참고해 학습할 수 있습니다!
https://developer.hashicorp.com/vagrant/docs
- Total
- Today
- Yesterday
- kubectl
- Window Server Manager
- ycampus
- 클라우드 DNS 서비스
- Route53 비용 정책
- Linux
- IAC
- Git
- redhat
- Vmware
- VM Tools
- vsphere
- Google Cloud DNS
- 에티버스러닝
- Docker
- github
- Windows Server
- aws cli
- RECA
- AWS
- Route53
- kubernetes
- VPC
- k8s
- EKS
- Local Zones
- rocky9
- IAM
- Ansible
- Azure DNS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |