Chef Server는 웹 페이지를 통한 관리가 가능하다. 본 포스팅은 chef-server 11.0.8 기준으로 작성하였다.
1. Environments
Chef Server를 사용하는 경우 작업 흐름을 매핑하는 환경 구성이 존재한다. 모든 조직은 수정 및 삭제 할 수 없는 "_default" 단일 환경으로 시작한다. Environments는 production, staging, development, testing 등 구조적으로 분리된 다른 공간을 관리하기 위한 메커니즘을 제공한다.
항목 | 내용 |
List | Environment 리스트 확인 |
Create | Environment 생성 |
Show | 선택한 Environment의 이름, 요약, Cookbook 버전 제약 조건, 기본 속성, 오버라이드 속성 확인 |
Edit | 선택한 Environment의 이름, 요약, Cookbook 버전 제약 조건, 기본 및 오버라이드 속성 변경 |
Delete | Environment 삭제 |
2. Search
Chef는 apache solr 기반의 풀 텍스트 검색엔진을 가지고 있다. Chef 개발자는solr 검색엔진이 제공하는 강력한 검색 기능을 활용할 수 있다. Chef는 databags, API Clients, nodes, roles의 모든 데이터를 색인하며, Search 버튼을 선택하면 해당 탭으로 이동하여 검색 결과를 출력한다.
Index | 내용 |
Databag | Databag 검색 |
Client | 클라이언트 검색 |
Environment | Environment 검색 |
Node | 노드 검색 |
Role | Role 검색 |
3. Status
Status 탭에서는 Chef Server에 연결된 노드의 상태를 확인할 수 있다. Chef Server는 Ohai를 이용해서 클라이언트 시스템에 대한 정보를 수집한다. 메인 화면에서 Node 명, 플랫폼, FQDN, IP 주소, Uptime, 최근 체크인 시간, Run List가 출력되며, 해당 노드를 선택하면 Nodes 탭으로 이동하여 상세 정보를 출력한다.
4. Roles
Roles을 이용하면 비슷한 성격을 지니는 노드들을 하나의 그룹으로 묶어서 설정을 관리할 수 있다. 서비스를 위한 웹서버를 운용한다고 가정하면, 이들 웹 서버는 Apache 웹서버, php, mysql(이하 APM)이 설치된다. 이를 Role에 APM에 대한 정보를 추가하면, 앞으로 추가되는 웹 서버들도 모두 동일한 애플리케이션과 설정을 갖게 된다.
Roles 리스트에서 특정 role을 선택하면, 해당 role의 상세 정보를 확인할 수 있다.
항목 | 내용 |
List | Role 리스트 확인 |
Create | Role 생성(Role 명칭, 요약, Avaliable Roles, Available Recipes, Defult Run List, Active Run List for _default, Deffault and Override Attributes 지정) |
Show | 선택한 Role의 정보 확인(요약, "_default" Environment를 위한 Run List, recipe, 기본 속성, 오버라이드 속성) |
Edit | 선택한 Role 편집(Role 명칭, 요약, Avaliable Roles, Available Recipes, Defult Run List, Active Run List for _default, Deffault and Override Attributes 지정) |
Delete | Role 삭제 |
5. Nodes
노드는 Chef Client가 설치되는 호스트 컴퓨터를 말한다. 노드 자동화는 데이터인 attributes와 로직을 담고 있는 run list에 의해서 이루어진다. Attributes는 노드의 속성 값들이 저장된다.
Run list는 자동화를 위한 로직을 담고 있는 코드 조각이다. 하나의 노드는 하나 이상의 run list를 보유하고 있으며, 코드와 attributes를 이용해서 자동화를 수행한다. 요컨데, run list는 코드와 변수로 이루어진 실행 가능한 조각 프로그램의 목록이다.
Chef Server 웹페이지의 Nodes 탭에서는 Chef Server에 연결된 노드들의 정보를 확인할 수 있다. Status 탭에서 간략한 정보가 표현되었다면, Nodes 탭에서는 적용 recipe, 노드 속성(chef 패키지, CPU, 파일 시스템 네트워크 정보 등)의 상세한 정보를 확인할 수 있다.
항목 | 내용 |
List | 노드 리스트 확인 |
Create | 노드 생성 |
Create | 선택한 노드의 정보 확인(Run List, Recipes, Tags, Attributes) |
Edit | Role, Run List, Attributes 변경(드래그 앤 드롭 지원) |
Delete | 노드 삭제 |
6. Cookbooks
Cookbooks은 recipe, resource definition, attribute, library, cookbook file 그리고 template 파일, 기타 메타데이터의 모음이다. 일반적으로 Cookbook은 애플리케이션 단위로 개발한다. 즉 mysql cookbook, apache cookbook, 오체 cookbook 형식으로 개발한다.
Chef Server 웹 페이지의 Cookbooks 탭에서는 Chef Server에 업로드 된 모든 Cookbook의 버전 및 recipe를 확인할 수 있다.
항목 | 내용 |
Cookbook | Cookbook 명칭 |
Latest Version | 최신 버전(선택 시 recipe 확인 가능) |
Other Versions | 하위 버전 리스트(선택 시 recipe 확인 가능) |
7. Databags
Cher Server 웹 페이지에서는 Data Bag을 보다 간편하게 관리하고 생성할 수 있다. Databags 탭에서 Create 탭을 선택하고 databag 명을 지정한 후 Create Databag 버튼을 선택하면 Databag이 생성된다.
Databags 항목을 선택하면 해당 Data bag의 아이템을 확인할 수 있으며, 해당 아이템을 선택하면 아이템의 정보를 확인할 수 있다.
항목 | 내용 |
List | Databag 리스트 확인 |
Create | Databag 생성 |
Show | 선택한 Databag의 Item 확인 |
Delete | Databag 삭제 |
8. Clients
Clients 탭에서는 Chef Server에 연결된 클라이언트를 관리할 수 있다. Clients 탭을 선택하면 연결된 클라이언트의 리스트를 확인할 수 있으며, Create 탭을 이용하여 추가 유저 생성이 가능하다.
항목 | 내용 |
List | 클라이언트 리스트 확인 |
Create | 클라이언트 생성 |
Show | 선택한 클라이언트의 관리자 여부 및 공개키 확인 |
Edit | 선택한 클라이언트의 관리자 변경 및 개인키 생성 |
Delete | 클라이언트 삭제 |
9. Users
Users 탭에서는 Chef Server의 유저를 관리할 수 있다. Chef Server에 접속하기 위한 유저로 노드와는 별개이다. Users 탭을 선택하면 현재 유저의 리스트를 확인할 수 있으며, Create 탭을 이용하여 추가 유저 생성이 가능하다.
항목 | 내용 |
List | 유저 리스트 확인 |
Create | 유저 생성 |
Show | 선택한 유저의 관리자 여부 및 개인키 확인 |
Edit | 선택한 유저의 패스워드 변경 및 개인키 재생성 |
Delete | 유저 삭제 |
'Information Technology > Automation' 카테고리의 다른 글
[Chef] Attribute (0) | 2023.03.20 |
---|---|
[Chef] Definition (0) | 2023.03.20 |
[Chef] Chef Server Run Recipe (0) | 2023.03.20 |
[Chef] Chef Server install (0) | 2023.03.20 |
[Chef] Hello Chef (0) | 2023.03.20 |