chef 개요와 구성요소 #2

2014. 6. 30. 19:08 from Cloud

Workstations

워크스테이션은 chef-repo 와 동기화 하기 위해서, 그리고 단일 쉐프 서버와 통신하기 위해서, 나이프를 구동하기 위해서 설정되는 컴퓨터이다. 워크스테이션은 대부분의 유저들이 여기서 그들의 작업을 하게 될 것이다. 다음을 포함한다:

     쿡북과 레시피의 개발
     버젼 소스 콘트롤을 가지고 chef-repo  를 유지한다
     쉐프 서버에 chef-repo로 부터 아이템들을 업로드 하기 위해서 나이프를 사용
     정책을 설정, 롤과 환경에 대한 정의를 포함하며, 중요 데이터가 데이터 백에 저장되는지를 확인한다.
     bootstrap 작업 같은, 필요하면, 노드와 상호 작용한다

나이프는 chef-repo 쉐프 서버간에 인터페이스를 제공하는 커맨드 라인 툴이다. 나이프는 유저가 다음을 관리하도록 도와준다


RSA public 조합은 나이프가 쉐프 서버에 접속을 시도할 때마다, 나이프를 인증하기 위해서 사용된다. 이것이 나이프가 쉐프 서버에 등록되는지를 확인하고,

trusted 유저만이 데이터를 바꿀수 있도록 한다.


수프 repo 다음의 데이터 오브젝트가 저장되는 위치이다

  • Cookbooks (including recipes, versions, cookbook attributes, resources, providers, libraries, and templates)
  • Roles
  • Data bags
  • Environments
  • Configuration files (for clients, workstations, and servers)

쉐프-repo 워크스테이션에 위치하며, git 같은 version control 시스템과 동기화되어야 한다. 쉐프-repo 모든 데이터는 소스 코드처럼 다루어져야 한다.


나이프는 쉐프-repo 로부터 쉐프 서버로 데이터를 업로드 하기위해서 사용된다. 업로드가 되면, 데이터는 쉐프 클라이언트가 쉐프 서버로 등록된 모든 노드들을 관리하기 위해서 사용되며, 올바른 쿡북,환경, , 그리고 다른 세팅들이 노드들에 반영되었는지를 확인하기 위해 사용된다


The Server

쉐프 서버는 설정 데이터에 대한 허브로써 동작한다. 쉐프 서버는 쿡북, 노드들에 적용될 정책, (쉐프 클라이언트에 의해서 관리되고 있는 각의 등록된 노드를 설명해주는) 메타데이터를 저장한다. 노드들은 레시피, 템플릿, 파일 배포 같은 설정에 대해 쉐프 서버에 질의하기 위해서 쉐프 클라이언트를 사용한다. 쉐프 클라이언트는 그러면 노드 자체에서 (쉐프 서버에서가 아니라) 가능한 많은 설정 작업을 수행한다. 이런 scalable 접근이 조직을 통해서 설정의 노력을 배포한다



Posted by FindZone :