클라우드 컴퓨팅
DevOps에서는 가능한 한 많은 작업을 자동화하려고 합니다. 방대한 인프라로 환경을 수동으로 구성하는 데 몇 주가 걸립니다. 모든 것이 설정되면 Rancher 서버와 같은 효과적인 새로운 솔루션을 구현하는 대신 화재를 진압하게 됩니다.
Puppet을 사용하면 수동 작업을 자동화하여 시스템을 신속하게 프로비저닝하고 애플리케이션을 배포할 수 있습니다. 동적 인프라 관리는 Puppet의 핵심입니다.
이 문서에서는 Puppet이 무엇인지, 어떤 문제를 해결하는지, Puppet을 사용하여 DevOps 팀으로서 수동 작업을 성공적으로 자동화하는 방법을 설명합니다.
Puppet은 여러 서버를 관리하기 위한 IaC(Infrastructure as Code) 도구입니다. Ruby(주로)로 작성된 Puppet은 여러 Unix 계열 시스템에서 작동하며 Windows도 지원합니다.
이 소프트웨어는 2005년에 최초 릴리스되어 매우 성숙했습니다. Puppet은 무료 오픈 소스 소프트웨어로 제공되며 복잡한 인프라를 위한 독점 버전도 제공됩니다.
Puppet은 서버 구성 관리 및 배포를 자동화합니다. 이 소프트웨어를 사용하면 한 번에 여러 시스템에서 문자열을 가져오고 상태를 관리할 수 있으며 이 접근 방식은 서버를 개별적으로 수동 설정하고 관리하는 작업을 줄여줍니다.
Puppet은 시스템에 도달하는 방법보다는 원하는 상태를 정의합니다. 구성은 다양한 플랫폼 및 장치에 적용되며 인프라 전반에 걸쳐 상태를 유지합니다. 전반적으로 시스템 관리자가 화재를 진압할 필요가 줄어들어 DevOps 팀이 새롭고 더 나은 서버 솔루션을 구현할 수 있습니다.
자동화 스크립트는 서버 설치 및 구성과 같은 반복적인 작업을 처리하는 데 도움이 됩니다. 그러나 광범위한 인프라로 작업할 때 자동화 스크립트는 확장되지 않습니다.
구성 관리는 광범위한 인프라 구성을 위한 솔루션을 제공합니다. 이러한 관행은 DevOps의 중추로 간주되며 확립된 DevOps 파이프라인에서 더 빈번하고 안정적인 소프트웨어 릴리스를 허용합니다.
코드로서의 인프라 접근 방식 덕분에 서버 구성 관리가 수행됩니다. Puppet의 경우 서버 관리 코드는 Ruby와 유사한 Puppet 코드로 되어 있습니다. 언어는 선언적이며 모델 기반 구성을 설명합니다.
Puppet은 클라이언트-서버 접근 방식을 사용하며 다음 시스템으로 구성됩니다.
아래 섹션에서는 Puppet의 작동 방식을 명확히 하는 데 도움이 되는 필수 Puppet 요소와 용어를 설명합니다.
Puppet은 Puppet Master와 Puppet Agent로 구성된 클라이언트/서버 아키텍처를 활용합니다. Puppet Agents는 풀 모드를 사용하여 마스터를 폴링하고 노드별 및 사이트별 구성 정보를 검색합니다.
토폴로지는 다음 단계를 거칩니다.
Puppet은 Facter 라는 유틸리티를 사용합니다. 시스템 정보를 검색합니다. 이 도구는 기본적으로 Puppet 설치와 함께 제공됩니다.
Puppet Master는 전용 서버에서 실행되는 데몬입니다. Puppet Master는 서버 노드로서의 정보 소스이자 구성 권한입니다. 마스터는 모든 에이전트 노드에 지침을 보내고 시스템 구성을 감독합니다.
꼭두각시 마스터는 다음 작업을 담당합니다.
Puppet은 전용 사용자 및 그룹을 통한 ID 액세스 관리를 사용하여 보안을 제공하고 필요한 정보만 에이전트에게 노출합니다. 그러나 모든 작업에 높은 권한이 필요한 것은 아닙니다.
Puppet 에이전트는 시스템 또는 노드에서 실행되는 Puppet 데몬입니다. 에이전트는 Puppet Master에서 가져온 구성 카탈로그를 적용할 노드에 대한 특정 권한이 있습니다.
에이전트는 통신 권한을 받기 위해 마스터와 처음 접촉할 때 SSL 인증서를 요청합니다. 에이전트가 정보를 보내기 전에 마스터에 구성 업데이트를 요청할 때마다 인증서가 확인됩니다. 마스터는 또한 올바른 구성 정보를 보장하기 위해 에이전트에 인증합니다.
Puppet 에이전트는 시스템 구성을 수정하고 작업을 수행하려면 루트 권한이 필요합니다.
Puppet은 통신 및 보안을 위해 OpenSSL을 사용합니다. SSL 및 TLS 프로토콜을 기반으로 Puppet은 에이전트/마스터 인증 및 확인을 위해 표준 SSL/TLS 암호화 및 SSL 인증서를 사용합니다. 또한 Puppet은 SHA-256을 기본 해시로 사용하는 SSL/TLS를 사용하여 에이전트와 서버 간의 트래픽 흐름을 암호화합니다.
Puppet의 암호화 방법은 다음을 보장합니다.
마스터는 자체 CA 인증서, 개인 키, CRL(Certificate Revocation List) 및 서버 인증서를 생성합니다. 서버 인증서는 SSL 및 TLS 통신을 활성화하기 위해 에이전트로 전송됩니다.
Puppet은 가장 오래되고 가장 널리 사용되는 구성 관리 자동화 도구 중 하나입니다. 다음은 Puppet을 사용하기 시작해야 하는 좋은 이유가 되는 5가지 장점입니다.
Puppet은 기술을 확장할 수 있는 오픈 소스입니다. 사용자 지정 라이브러리 및 모듈은 사용 사례에 맞게 개별 프로젝트를 풍부하게 합니다.
오픈 소스는 또한 활발한 커뮤니티를 갖는 이점이 있습니다. 많은 토론, 포럼 및 전문가가 도움을 주고 질문에 답할 준비가 되어 있습니다.
구성 작업은 반복적이며 플랫폼별 단계를 통해 운영 체제가 다른 서버에서 동일한 단계가 필요한 경우가 많습니다. 모든 명령을 기억하는 것은 불가능한 작업입니다.
Facter는 Puppet이 세부 사항을 파악하고 추상화를 달성하는 데 도움이 됩니다. Facter 덕분에 시스템별 데이터와 OS 세부 정보는 모두 Puppet에 익숙합니다.
중복 구성은 수많은 서버로 작업할 때 복잡한 문제이며 Puppet은 시스템에 영향을 주는 변경 사항만 적용하는 것을 목표로 합니다. 인프라의 원하는 상태가 달성되면 Puppet은 명령을 실행하지 않습니다. 이 Puppet 기능을 멱등성이라고 하며, 이는 중복성을 줄이고 효율성을 높이는 데 도움이 됩니다.
Puppet은 다양한 플랫폼을 다루므로 구성 자동화 프로세스에서 서버 수가 증가합니다. 이 도구는 Windows, OS X, Debian 기반 시스템, Fedora, Gentoo, RHEL 및 Solaris에서 작동합니다.
Puppet 언어에는 지침을 재정의하고 다양한 시나리오에 대한 예외를 만드는 방법이 포함되어 있습니다. Puppet은 또한 특정 유지 관리 작업을 주기적으로 예약하는 데 도움이 됩니다.
Puppet은 구성 및 서버 작업을 관리하기 위한 강력한 도구이며 동적으로 또는 자주 변경되지 않는 안정적인 서버에 탁월한 선택입니다.
Puppet이 다른 유사한 기술과 어떻게 비교되는지 알아보려면 비교 문서인 Ansible vs. Terraform vs. Puppet을 확인하세요.
클라우드 컴퓨팅
컴퓨터 수치 제어(CNC) 가공에는 기술 장비를 사용하여 재료를 제품, 부품 또는 프로토타입으로 자동 처리하는 작업이 포함됩니다. 이는 절삭 가공의 한 형태이며 항공우주, 자동차, 전력 및 기타 기술 산업에서 사용되는 정밀 부품을 제조하는 데 널리 사용되는 방법이 되었습니다. 사용되는 재료는 일반적으로 금속, 목재, 플라스틱 및 복합 재료로, 나이프, 드릴, 선반, 프레스 및 와이어 컷 방전 기계(EDM)와 같은 CNC 도구로 가공할 수 있습니다. CNC 기계공은 가장 필요한 작업 영역입니다. CNC 공작 기계 프로그래밍은 3차
N은 펌프의 중요한 문자입니다. 용기에 담긴 액체의 부피를 계산하는 데 도움이 되는 숫자이며 여러 단위로 사용할 수 있습니다. 이 기사에서는 N을 사용하여 펌프, 저장소 및 유체 흐름과 관련된 문제를 해결하는 방법을 알려드립니다. 펌프에 대한 사람들의 가장 일반적인 질문 중 하나는 Pump N의 N이 무엇을 의미하는지입니다. 정답은 질소입니다. 질소는 펌프 성능의 필수 요소이며 모든 것이 원활하게 작동하도록 도와줍니다. 질소는 밸브, 씰 및 베어링과 같은 다른 부품의 제조에도 사용됩니다. 펌프의 N은 어떻게 작동하나요? N in