파이썬과 Ansible을 활용한 다중 Kubernetes 클러스터 상태 모니터링 및 엑셀 리포트 자동화

여러 Kubernetes 클러스터를 운영할 때, 중앙 관리 시스템에 등록되지 않은 노드들의 리소스 상태를 주기적으로 수집해야 하는 상황이 발생합니다. 이러한 경우 각 클러스터의 마스터 노드에 간단한 데이터 수집 스크립트를 배포하고, 중앙 서버에서 Ansible을 통해 해당 스크립트를 원격 실행한 뒤 그 결과를 엑셀 파일로 취합하는 자동화 파이프라인을 구축할 수 있습니 ...

8월 16일 14:34에 게시됨

Ansible를 활용한 MySQL 및 Apache 자동 배포와 HTTP 응답 코드 분석

Ansible Playbook을 통한 MySQL 이진 방식 설치 다음은 Ansible을 사용하여 리눅스 환경에 MySQL 5.7.33을 이진 파일로 배포하는 실습 예제이다. 이 작업은 제어 노드에서 실행되며, 대상 호스트에 대해 일관된 방식으로 데이터베이스 서버를 설치하고 초기화한다. [root@control ansible]# tree . ├── ansible.cfg ├── files │ ├── my.cnf │ └── mysql-5.7.33-linux- ...

8월 1일 07:19에 게시됨

Ansible 태그 기능 활용 가이드

시나리오 Ansible을 활용한 대규모 서버 배포 자동화를 진행할 때, 한 개의 Role 내에서 다양한 작업을 수행해야 하는 경우가 있습니다. 예를 들어, 다수의 호스트에 프로그램을 배포하고, 특정 시점에 따라 서비스를 시작하거나 중지해야 할 수 있습니다. 이러한 요구사항을 해결하는 방법 중 하나가 바로 Ansible의 태그(Tags) 기능입니다. 실습 환경 구성 요소 버 ...

7월 24일 07:14에 게시됨

Serverspec을 활용한 인프라 구성 검증 자동화

Serverspec 개요 Serverspec은 인프라스트럭처의 실제 상태가 의도한 구성과 일치하는지 검증하는 Ruby 기반 테스팅 프레임워크다. Ansible, Puppet, Chef 등의 구성 관리 도구가 적용된 결과를 코드로 검증하여 인프라 테스트를 자동화한다. 주요 특징 테스트 코드 자체가 문서 역할 수행 재사용 가능한 검증 스크립트 작성 코드 리뷰를 통한 테스트 케이스 검증 직관적 ...

7월 6일 01:29에 게시됨

Ansible lineinfile 모듈을 활용한 파일 라인 관리

Ansible에서 특정 파일의 단일 라인을 추가, 수정 또는 삭제해야 할 때 lineinfile 모듈을 활용할 수 있습니다. 이 모듈은 멱등성(idempotency)을 보장하여 동일한 작업을 여러 번 실행해도 결과가 일관되게 유지됩니다. 모듈 개요 lineinfile은 파일 내 특정 문자열의 존재를 보장하거나 정규식을 이용해 기존 라인을 교체합니다. 여러 라인을 동시에 다룰 경우 blockin ...

6월 26일 01:34에 게시됨

Kubernetes 기반 IoT 장치 관리 플랫폼의 오프라인 배포 가이드

IoT 환경에서 안정적인 장치 관리를 위한 Kubespray 활용법 스마트 팩토리, 스마트 빌딩 등 IoT 장치가 급격히 증가하면서 데이터 수집 지연, 복잡한 배포 절차, 불안정한 네트워크 등의 문제에 직면하는 경우가 많습니다. 이 글에서는 Ansible 기반의 Kubernetes 배포 도구인 Kubespray를 사용해 오프라인 환경에서도 신속하게 IoT 장치 관리 플랫폼을 구축하는 방법을 다 ...

6월 20일 21:52에 게시됨

Ansible을 이용한 백그라운드 프로세스의 안정적인 실행 방법

Ansible을 사용하여 원격 서버에서 Java 애플리케이션과 같은 백그라운드 프로세스를 실행할 때, 명령어가 성공적으로 수행되었음에도 불구하고 실제로는 프로세스가 즉시 종료되는 현상이 발생하곤 합니다. 이는 Ansible의 동작 방식과 SSH 세션의 특성에서 비롯된 문제입니다. 프로세스가 종료되는 원인 기본적으로 Ansible은 SSH를 통해 원격 호스트에서 작업을 수행합 ...

6월 18일 22:30에 게시됨

Ansible에서 권한 상승 기능 사용하기

시나리오 마이크로서비스의 Ansible 배포 스크립트를 작성하면서 일부 작업은 루트 권한이 필요하여 Ansible의 권한 상승 기능을 활용하게 되었습니다. 환경 구성 소프트웨어버전 Ansible2.9.4 Python2.7.5 CentOS7 개요 Ansible은 시스템에 내장된 루트 또는 다른 사용자 권한으로 작업을 수행하는 권한 상승 시스템을 이용합니다. 로그인한 원격 사용자와 다른 사용 ...

6월 11일 18:34에 게시됨

Ansible file 모듈을 활용한 파일 및 디렉토리 관리

Ansible의 file 모듈은 원격 호스트에서 파일, 디렉토리, 심볼릭 링크의 생성 및 삭제를 관리하고, 권한이나 소유권과 같은 속성을 설정하는 데 사용되는 핵심 모듈입니다. copy, template, assemble과 같은 다른 모듈에서도 유사한 파일 속성 설정 기능을 제공하지만, 파일 시스템 자체의 구조를 제어할 때는 file 모듈이 주로 사용됩니다. 주요 파라미터 구성 ...

6월 2일 18:42에 게시됨

Ansible 입문 가이드: 개념부터 실제 활용까지

이 문서에 대해 이 가이드는 Ansible 2.9.27 버전을 기준으로 작성되었습니다. 아래는 사용된 환경 정보입니다. # cat /etc/system-release Red Hat Enterprise Linux Server release 7.8 (Maipo) # uname -a Linux test01 3.10.0-1160.36.2.el7.x86_64 #1 SMP Wed Jul 21 11:57:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux # ansible --version ansible 2.9.27 conf ...

5월 25일 08:43에 게시됨