'Chef'에 해당되는 글 2건

  1. 2014.06.30 chef 개요와 구성요소 #2
  2. 2014.06.30 chef 의 개요와 구성 요소 #1

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 :

chef 의 개요와 구성 요소 #1

2014. 6. 30. 17:26 from Cloud

출처:

http://docs.opscode.com/chef_overview.html


Welcome to Chef!

쉐프는 당신의 서버들과 서비스들을 삶으로 가져오면서, 복잡한 인프라를 코드로 변환하는 강력한 자동화 플랫폼이다. 당신은 클라우드에서,  사내에 혹은 하이브리드 에서 동작하던 간에, 쉐프는 당신의 네트웍 사이즈가 어떻던 간에, 어플리케이션들이 어떻게 설정되고, 도입되고, 관리되는지를 자동화 한다. 

쉐프는 단순환 컨셉으로 만들어진다. :  빌딩 블록으로써 제공하는 IT인프라와 자원 원시성의 중앙화된 모델링, 원하는 상태를 얻는다. 이들의 매우 단순한 컨셉은 쉐프가 지구상에서 가장 어려운 인프라의 난제를 다룰 수 있도록 해준다. 

쉐프 클라이언트에서 동작할 수 있는 어떤것이든 쉐프에 의해서 관리될 수 있다. 가령, 당신은 물리적인 장비, 가상 머신, 컨테이너, 혹은 클라우드 기반의 인스턴스를 관리할 수 있다. 쉐프 클라이언트는 노드에서 동작할 수 있는 agent 이며, 그것을 설정할 수 있는 실제의 동작을 수행한다. 쉐프 서버는 모든 설정 데이터에 대한 중앙의 저장소이다. 쉐프 클라이언트와 쉐프 서버는 서로 통신할 수 있다. 보안 통신을 위해서, 그들은 쉐프 클라이언트가 요청하면 서버가 응답을 확인해주는 공용의/ 사설의 키 조합을 사용한다. 


Chef Components

다음의 그림은 노드들, 서버들, 그리고 워크스테이션들을 포함하는 쉐프의 다양한 요소들 사이의 관계를 보여준다. 쉐프 클라이언트에 필요한 정보와 지시를 제공하고 그들의 작업을 할 수 있도록 하기 위해서,  이들 요소들은 함께 동작한다. 



Chef comprises three main elements: a server, one (or more) nodes, and at least one workstation.

  • 쉐프 서버는 구성내에 모든 노드들에 이용 가능한 허브로써 동작한다. 이것은 올바른 쿡북이 이용가능한지, 적당한 정책이 적용되고 있는지, 이전에 쉐프 클라이언트의 동작하는 동안 사용되었던 노드의 오브젝트가 현재의 쉐프 클라이언트 동작에 이용가능한지, 그리고 쉐프 클라이언트의 의해서 관리될 모든 노드들이 쉐프 서버에 등록되고 알려졌는지를 확인한다.  

  • 워크스테이션은 쿡북(과 레시피)가 쓰여지는 위치이다. (롤과 환경, 데이터 백과 같은) 정책 데이터가 정의되고, 데이터는 쉐프-레포 와 싱크가 된다. 그리고 데이터는 쉐프 서버로 업로드 된다. 

  • 각각의 노드는 각 노드가 필요로 하는 다양한 인프라의 자동화 업무를 수행하는 쉐프-클라이언트를 포함한다. 

쿡북들은 또한 매우 중요한 요소이며, 분리된 요소(서버, 노드, 워크스테이션과 함께) 로써 다루어질 수 있다. 일반적으로 쿡북들은 워크스트에션에서 쓰여지고, 관리되고, 쉐프 서버로 옮겨진다. 그리고 각 쉐프 클라이언트가 동작하는 동안, 쉐프 클라이언트에 의해서 노드들로 당겨진다. 


Nodes

하나의 노드는 쉐프 클라이언트에 의해서 관리될 수 있도록 설정되는 물리적, 가상의, 혹은 클라우드 장비이다.  다음의 노드 종류가 관리될 수 있다. 


하나의 클라우드 노드는 아마존 virtual private 클라우드, 오픈스택, 랙스페이스, 구글 컴퓨트엔진, Linode, MS Azure 같은 외부의 클라우드 기반 서비스에서 주관(제공)된다. 외부의 클라우드 기반의 서비스들에 대한 지원을 제공하는 나이프에 대해서, 플러그 인을 사용 할 수 있다. 클라우드 기반의 서비스들에서 인스턴스를 생성하기 위해서, 나이프가 이들 플러그 인을 사용할 수 있다. (인스턴스가) 생성되면, 쉐프 클라이언트가 이들 인스턴스들을 도입, 설정, 관리하기 위해서 사용될 수 있다. 


물리적 : 물리 노드는 보통 서버이거나 가상 머신이다. 그러나, 그것은 통신 채널로 정보를 받고, 보내고, 전송할 수 있는 네트워크에 붙어있는 어떤 액티브 장비가 될 수 있다. 다른말로, 하나의 물리 노드는 (쉐프 클라이언트가 동작할 수 있는, 그리고 쉐프 서버가 쉐프 클라이언트와 통신하도록 해주는 네트워크에 붙어있는) 어떤 액티브 장비이다. 


가상, 가상은 소프트웨어 구현으로 만 동작하는 장비이다. 그러나, 동작은 물리적 장비와 같다. 


네트워크 : 네트웍 노드는 네트워킹 장비이다. - 스위치, 라우터, vlan -쉐프 클라이언트에 의해서 관리되는.


노드에서 중요한 요소는 다음을 포함한다 

  • chef-client 쉐프 서버에서 등록된 모든 노드에서 로컬에서 동작하는 agent 이다

  • 쉐프 서버로 node 등록하고 인증한다

  • 노드 오브젝트를 생성한다

  • 쿡북을 동기화한다

  • 레시피, attribute, 모든 다른 종속성을 포함하는 각각 필요한 쿡북을 로딩하므로써 자원 모음을 compile한다

  • 노드를 설정하기 위한 적당한 필요한 행동을 취한다

  • 예외와 알림을 찾는다

 RSA public 페어는 chef-client 쉐프 서버에 저장된 데이터에 매번 접속할 필요가 있을때 인증하기 위해서 사용된다. 이것은 접속해서는 안되는 어떤 노드를 차단하고, 쉐프 서버에 관리될 노드를 확인한다 


*Ohai
ohai 는 노드에서 attribute 를 찾기 위해 사용되는 틀이며, chef client 기동 시 마다 client 에 이들 attribute를 제공한다. ohai 는 쉐프 클라이언트에 필요하며, 노드에 존재한다. (ohai는 쉐프 클라이언트 설치 과정 중에, 노드에 설치된다.) 

The types of attributes Ohai collects include (but are not limited to):
ohai가 수집하는 attribute종류는 다음을 포함한다. 
  • Platform details
  • Network usage
  • Memory usage
  • Processor usage
  • Kernel data
  • Host names
  • Fully qualified domain names
  • Other configuration details
ohai 에 의해서 수집되는 속성은 자동 속성이다. 이들 속성들은 쉐프 클라이언트의 노드 설정 작업이 끝난 후에, 쉐프 클라이언트가 이들 속성이 바뀌지 않고 남아있는지를 확인한다.


'Cloud' 카테고리의 다른 글

6wind Gate 솔루션 | Never Sacrifice Performance for Virtualization  (0) 2014.07.10
6wind gate 솔루션  (2) 2014.07.10
chef 개요와 구성요소 #2  (0) 2014.06.30
OpenStack Icehouse 기사 해석  (0) 2014.06.11
Posted by FindZone :