우분투에서 Ansible을 설치하셨다면 SSH Key를 생성할 차례입니다 먼저 우분투 안에서 ssh-keygen -t rsa를 입력합니다 맨 처음은 파일 위치를 지정합니다. 기본 위치로 사용하시려면 Enter 두번째는 비밀번호를 설정합니다. 비밀번호 없이 사용하려면 Enter 세번째는 비밀번호를 확인합니다. 이렇게 위의 3차례를 하셨다면 Key가 생성이 되며 기본 위치라면 /root/.ssh/ 에 id_rsa라는 Key를 확인할 수 있습니다. 이제 이 Key로 다른 PC에 접근하려면 아래를 통해 Key를 복사해줍니다. ssh-copy-id -i @ 의 안에 값은 사용자마다 입력값이 다르니 유의하시길 바랍니다. 그후 저는 Ansible hosts에 다른 PC의 IP를 입력하고 ansbile all -m p..
이번엔 Ansible의 공식문서만 보고 우분투에 설치해보겠습니다. 먼저 데비안 11(Bullseye) == 우분투 20.04 일 경우deb http://ppa.launchpad.net/ansible/ansible/ubuntu focal main 데비안 8~10 == 우분투 14~18일 경우deb http://ppa.launchpad.net/ansible/ansible/ubuntu MATCHING_UBUNTU_CODENAME_HERE main 위의 명령어를 /etc/apt/sources.list 또는 /etc/apt/sources.list.d/ansible.list 에 추가합니다. 그 후 아래의 명령을 실행합니다. $ sudo apt-key adv --keyserver keyserver.ubuntu.com..
ansible을 사용하던 중 playbook의 작성요령을 숙지하고 있어야 된다는 생각이 들었습니다. 그렇기에 따로 공부하면서 계속해서 작성해보도록 하겠습니다. --- - name: install nginx # playbook의 이름을 정합니다. hosts: all # 어떤 그룹에 실행할지 선정합니다. become: yes # 대상 호스트에 root 사용자로 작업을 수행합니다. connection: local # 대상 호스트가 ssh대신 local 연결을 합니다. gather-facts: no # facts를 수집하지 않음으로써 성능을 향상시킵니다. tasks: # 수행할 업무들입니다. - name: install epel-release # 업무에 대한 이름을 정합니다. yum: # yum과 관련된 모듈을..
Grafana는 오픈 소스 시각화 및 분석도구입니다. Prometheus,, InfluxDB, Elasticsearch 등 여러 데이터 소스와 통합이 가능하며, 시계열 메트릭 데이터를 표현하기에 좋습니다. 특히, Prometheus와 Grafana 둘 다 Grafana Labs에서 관리하고 있기 때문에 두가지를 연동해서 많이 사용합니다. 데이터베이스와 연동하여 시각화 대시보드를 제공해주며 커스터마이징이 좋은 편이다. 많은 장소의 데이터를 단일 대시 보드로 결합할 수 있는 도구입니다. Grafana 대신 Kibana도 또 다른 시각화 도구이지만 Kibana는 ELK스택에 최적화 되어있기에, Prometheus와 시계열 데이터가 많다면 Grafana를 주로 선호하고 있습니다. 시각화를 포함해서 차트, 그래프..
쿠버네티스에서 모니터링 시스템을 구착한다면 많은 사람들이 Prometheus를 사용합니다. 동시에 Grafana, AlertManager 등과 같은 솔루션을 연동해서 사용하는 편입니다. 그 중 Prometheus에 대해서 공부해봤습니다. Prometheus는 메트릭 수집, 시각화, 알림 기능을 모두 제공하는 오픈 소스 모니터링 시스템입니다. Pull방식으로 메트릭을 수집하며, 시계열 데이터를 저장합니다. Node Exporter가 설치된 머신의 CPU, Memory 등의 메트릭 정보를 수집하고, Client Library는 애플리케이션 코드를 계측하기 위해 쓰입니다. 다른 것들도 많지만 주로 Node Exporter를 많이 사용하는 것으로 보입니다. 시각화 영역으로는 Grafana를 많이 쓰기에 제가 이..
pip를 대신할 수 있는 패키지관리자인데 사용법은 pip와 유사하지만 가상환경을 만들 수 있습니다. 주로 파이썬 버전을 바꿔가면서 개발하는 등, 환경과 패키지를 관리하기 용이하게 하는 오픈소스입니다. 사용법은 아래의 블로그에 잘 정리되어 있으니 명령어를 위주로 정리하겠습니다. https://velog.io/@doondoony/pipenv-101 🚀 Pipenv 로 파이썬 가상환경 설정 Pipenv Tutorial velog.io 패키지와 관련된 명령어는 check, graph, clean, install, lock, sync, uninstall, update 실행과 관련된 명령어는 open, run, shell check - 보안 취약점이 있는 패키지가 설치되어있는지 체크해줍니다. graph - 프로젝트..
DevOps에서 IaC를 사용하여 인프라를 관리하는데, IaC를 사용하면서 편리한 인프라의 재구성과, 테스트 및 실행을 할 수 있습니다. 이러한 IaC의 대표적인 도구들은 Terrform, Ansible, Puppet 등이 있습니다. Terraform(테라폼) - Hashicorp 언어를 사용하며 사용자 친화적이다. - 오케스트레이션 도구로서, 어떤 부분이 제대로 작동하지 않을 경우 자동으로 계산해서 리로드를 시도한다. - 선언적 언어이다. - EC2를 5대 배포해야할 때 테라폼은 EC2 = 5, 이후 8대로 늘려야 하면 EC2 = 8 로 한다. Ansible(앤서블) - 가볍고 배포기능이 빠르다. - 구성관리 도구로서, 시스템을 재설정하지 않고 시스템을 교체하는 대신 문제를 복구하려고 한다. 그렇기에 ..
DevOps의 더 자세한 정보를 알기 위해 조사해봤습니다. DevOps - Development + Operations 이며 소프트웨어의 개발(Development)과 운영(Operations)의 합성어로서, 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 말한다. 데브옵스는 소프트웨어 개발조직과 운영조직간의 상호 의존적 대응이며 조직이 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 배포하는 것을 목적으로 한다. -위키백과 DevOps는 어떠한 기술이라기 보다는 개발과 운영을 동시에 하여 소통과 협업을 강조하는 하나의 문화를 말합니다. DevOps직무는 말그대로 한 명의 프로그래머가 개발과 운영을 동시에 하는 것 같습니다.실제로도 풀스택개발자(프론트+백)이..