⇥ DevOps Tech 🙋🏻♀️/✏️ Ansible
Ansible 에서 proxmox_kvm 모듈 사용하기
Ansible 에서 proxmox_kvm 모듈 사용하기
2023.12.19Proxmox 란 ? Proxmox Virtual Environment 는 가상화 관리를 위한 오픈 소스 소프트웨어 서버, 호스팅 되는 타입2 하이퍼 바이저로 리눅스와 윈도우를 포함한 운영체제 들을 x64 하드웨어에서 구동한다. 수정된 우분투 LTS 커널을 갖춘 데비안 기반 리눅스 배포판, 가상 머신과 컨ㄴ테이너의 디플로이와 관리를 가능하게 한다. 는 기본적인 설명인데, 관련 자료가 많이 없다. 들리는 바에 의하면 대기업에서 쓰기엔 적절치 않고 적당한 규모의 회사에서 사용하기에 좋은 툴이라고 한다. 모듈 사용 설정 awx 에서 proxmox_kvm 을 사용하기 위해서 awx/collections 에 모듈 사용을 requirements.yml 로 추가한다. --- collections: - name: co..
Ansible 자동 예약 변수 팩트
Ansible 자동 예약 변수 팩트
2023.11.30앤서블 플레이북을 수행하면 앤서블은 관리 호스트에서 자동으로 필요한 변수들을 검색한다. 말 그대로 자동 예약 변수이며, 수집된 변수 값을 이용하여 서비스 상태 확인, 작업 진행여부 등을 판단할 수 있는 근거가 된다. 다양한 환경 및 상황에 대해서 사용할 수 있는 변수를 저장하고 있어서 조건문, 반복문 등에 사용이 가능한 팩트에 대해서 정리해보려고 한다. HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 앤서블은 팩트 기능이 활성화되어 있어 플레이북을 실행할 때 자동으로 팩트가 수집된다. 팩트에는 다음 내용들이 포함될 수 있다. 호스트 이름 커널 정보 네트워크 인터페이스 이름 운영체제 버전 CPU 개수 사용 가능한 메모리 스토리지 장치의 크기 및 여유 공간 이렇게 수집된 변수 ..
Ansible 변수 사용 , 우선순위 정리
Ansible 변수 사용 , 우선순위 정리
2023.11.27Playbook 을 작성한 상태 입력되는 값에 따라 동작을 변경하여 반복적인 사용이 가능하도록 설계하기 위해선 변수를 정의하고 사용할 수 있어야 한다. 변수를 어디에 정의하느냐에 따라서 그룹, 호스트, 플레이 변수가 되며 각 변수들이 적용되는 우선순위가 정해져 있다. 그 외에 플레이북이 실행되면서 결과 값을 저장하는 변수 등도 사용할 수 있다. 이러한 변수를 사용하면 플레이북을 재사용할 수 있고 사용자로부터 받은 값도 적용하기 쉬워진다. 이에 대한 내용을 정리하고자 한다. HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 그룹 변수는 인벤토리에 정의된 호스트 그룹에 적용하는 변수를 의미한다. 즉 인벤토리에 선언되었으며, 선언하고자 하는 그룹명과 함께 :vars 라는 문자열을 ..
Ansible Role 을 이용한 노드 설치 자동화
Ansible Role 을 이용한 노드 설치 자동화
2023.10.20HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 2023.10.17 - [✏️ Ansible] - Ansible Tower (AWX) 설치 방법 2022.10.06 - [✏️ Ansible] - Ansible Playbook 2023.10.18 - [✏️ Ansible] - Ansible Role 작성 방법 이전에 Ansible Tower 설치방법과 Playbook , Role 작성 방법에 대해 포스팅 했었다. 그럼 실제로 이런 내용을 정리하여 Node 설치를 자동화 하는 방법에 대해 작성하려고 한다. 매우 간단한 내용이며 Node 뿐 아니라 Tomcat 혹은 반복해서 하던 모든 일들을 자동화 할 수 있기 때문에 매우 편리한 툴이라고 생각한다. HTML 삽입 미리보기할 수 ..
Ansible Role 작성 방법
Ansible Role 작성 방법
2023.10.18HTML 삽입 미리보기할 수 없는 소스 Ansible 의 role(롤) 은 Playbook을 여러 파일로 분할하는 개념이다. 즉 자주 재사용 되는 특정 동작을 role 로 작성 해놓으면 재사용을 통해 손쉽게 플레이북을 만들 수 있다. ansible 에서는 role 을 작성하기 위한 directory 구조와 동작을 지원하는 모듈 개념이 있다. 작성 관련은 공식 문서에 자세히 안내하고 있어서 사용을 원하는 동작이나 이해가 안되는 부분은 공식 문서에서 참고 할 수 있다. https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse_roles.html Roles — Ansible Documentation The classic (original) ..
Ansible Tower (AWX) 설치 방법
Ansible Tower (AWX) 설치 방법
2023.10.17HTML 삽입 미리보기할 수 없는 소스 Ansible Tower 는 17.1.0 까지의 Docker Version 과 k3s 를 지원하는 이후의 버전으로 나뉜다. 실제 사용해본 바로 k3s 버전은 서비스 배포 시 pod 를 생성하여 각 job 을 진행하기 때문에 고사양 서버에서 운영할 것이 아니라면 docker Version 이 좀 더 좋은 선택이라고 생각한다. (실제 쿠버네티스에서 사용할거면 이거를 굳이..?) HTML 삽입 미리보기할 수 없는 소스 Ansible Tower 설치 시 필요로 하는 라이브러리 버전은 설치할 때 사용한 버전을 명시하였다. 내 기억으로 docker, ansible 은 패키지 관리자로 그냥 설치하면 되는데 Python은 버전이 낮으면 정상 동작되지 않았던 것으로 기억함. 3.8..
Ansible Playbook
Ansible Playbook
2022.10.06Playbook 이란 ? 사용자가 원하는 작업을 미리 작성해 놓은 파일 각각의 동작을 커맨드로 수행했어야 하는데 playbook 을 작성해 놓으면 지정해논 타겟에 해당 내용을 한번에 실행할 수 있음 # 양식 # Yml 파일 작성 --- # playbook 이름 - name: Add an ansible hosts # playbook 이 수행할 host hosts: localhost # 작업 tasks: - name: Add an ansible hosts # task 의 이름 blockinfile: # 작업 지시 path: /etc/ansible/hosts # 작업할 경로 block: | [mygroup] 172.17.0.5 위 내용은 하나의 예시 파일이다. Tasks 에는 수행하고자 하는 동작을 기술하는데..
Ansible 사용 방법
Ansible 사용 방법
2022.09.26Ansible 설치가 완료 되었다면 해당 프로비저닝 툴을 통해 관리할 서버들 역시 등록을 해주어야 한다. 기본 경로는 /etc/ansible/hosts 로 관리가 되지만 사용자가 원한다면 다른 경로에 지정하여 사용할 수 있다. # cat /etc/ansible/hosts [devops] 172.17.0.3 172.17.0.4 devops 라는 그룹에 172.17.0.3 , 172.17.0.4 라는 호스트가 등록되어 있다. ansible은 등록된 호스트를 대상으로 SSH를 통해 접속하기 때문에, 사전에 비밀번호 없이 로그인이 될 수 있도록 작업해줘야 한다. # ssh root@172.17.0.3 The authenticity of host '172.17.0.3 (172.17.0.3)' can't be es..
Ansible 입문
Ansible 입문
2022.09.26Ansible 이란 ? Infrastructure as Code (IaC) 인프라로 코드를 관리하는 툴 - 시스템, 하드웨어 또는 인터페이스의 구성정보를 파일 (스크립트) 를 통해 관리하는 '프로비저닝' - IT 인프라 스트럭쳐, 베어메탈 서버등의 물리장비 및 가상 머신과 관련된 구성 리소스를 관리 - '버전 관리' 를 통한 리소스 관리 (베어메탈서버 : 하드웨어에 어떠한 소프트웨어도 설치되지 않은 서버) 구성 관리 도구 - 다른 IaC 도구에 비교해 가볍고 빠르다. - 특정 문제가 발생했을 때 복구 및 대응하는 작업, 스크립트 화 하여 작업하는데 특화되어 있다. - Terraform 은 인프라의 신규 구축에 많이 사용, Ansible 은 이미 구축된 서비스를 관리하는데 주로 사용된다. - 다른 IaC ..