OpenStackClient 설정

Jmnote (토론 | 기여)님의 2024년 6월 13일 (목) 00:20 판 (→‎로깅 세팅)

1 개요

Configuration
설정

OpenStackClient는 주로 명령줄 옵션과 환경변수를 사용하여 설정됩니다. 이러한 설정 대부분은 여러 클라우드 설정을 간편하게 관리하기 위해 설정 파일에도 넣을 수 있습니다.

글로벌 옵션, 환경변수, 설정 파일에서 사용되는 키워드 간에는 간단히 상호변환할 수 있는 관계가 있습니다.

대부분의 글로벌 옵션은 해당 값을 설정하는 데 사용할 수 있는 대응하는 환경변수를 가지고 있습니다. 둘 다 존재하는 경우 명령줄 옵션이 우선합니다. 환경변수 이름은 옵션 이름에서 선행 대시(–)를 제거하고, 각 포함된 대시(-)를 밑줄(_)로 변환하며, 대문자로 변환하여 생성됩니다.

설정 파일의 키워드 이름은 글로벌 옵션 이름에서 --os- 접두어를 제외하고 생성됩니다.

2 글로벌 옵션

openstack 매뉴얼 페이지에는 OpenStackClient와 기본 인증 플러그인이 인식하는 모든 글로벌 옵션이 나열되어 있습니다.

3 환경 변수

openstack 매뉴얼 페이지에는 OpenStackClient와 기본 인증 플러그인이 인식하는 모든 환경변수도 나열되어 있습니다.

4 설정 파일

4.1 clouds.yaml

clouds.yaml은 하나 이상의 클라우드에 연결하는 데 필요한 모든 정보를 포함하는 설정 파일입니다. 개인 정보를 포함할 수 있으므로 일반적으로 사용자에게 프라이빗으로 간주됩니다.

OpenStackClient는 다음 위치에서 clouds.yaml 파일을 찾습니다:

  • 현재 디렉토리
  • ~/.config/openstack
  • /etc/openstack

첫 번째로 발견된 파일이 사용됩니다.

키는 --os- 접두어 없는 'openstack 글로벌 옵션과 일치합니다.

clouds:
  devstack:
    auth:
      auth_url: http://192.168.122.10:5000/
      project_name: demo
      username: demo
      password: 0penstack
    region_name: RegionOne
  ds-admin:
    auth:
      auth_url: http://192.168.122.10:5000/
      project_name: admin
      username: admin
      password: 0penstack
    region_name: RegionOne
  infra:
    cloud: rackspace
    auth:
      project_id: 275610
      username: openstack
      password: xyzpdq!lazydog
    region_name: DFW,ORD,IAD
    interface: internal

위 예제에서 rackspace 클라우드의 auth_urlclouds-public.yaml(아래 참조)에서 가져옵니다.

처음 두 항목은 동일한 DevStack 클라우드의 기본 사용자 두 명에 대한 것입니다.

세 번째 항목은 Rackspace Cloud Servers 계정에 대한 것입니다. clouds-public.yaml(아래)에 rackspace 항목이 있으면 다음 옵션과 동일합니다:

--os-auth-url https://identity.api.rackspacecloud.com/v2.0/
--os-project-id 275610
--os-username openstack
--os-password xyzpdq!lazydog
--os-region-name DFW
--os-interface internal

그리고 명령줄에서 다음과 같이 선택할 수 있습니다:

openstack --os-cloud infra server list

rackspace 엔트리에는 여러 리전이 나열되어 있습니다. 동일한 설정이 각 리전에 대해 생성됩니다. 명령줄에서 -os-region-name이 지정되지 않은 경우 목록의 첫 번째 리전이 기본값으로 사용됩니다.

interface(위에서 본 rackspace 엔트리) 선택은 옵션입니다. 이 설정이 작동하려면, 이 클라우드 인스턴스의 모든 서비스가 이 유형의 인터페이스를 지원하도록 이미 설정되어 있어야 합니다.

Identity v3를 사용하는 경우 다음 예제와 같이 사용자와 프로젝트 도메인 이름을 지정해야 합니다:

clouds:
  devstack:
    auth:
      auth_url: http://192.168.122.10:5000/
      project_name: demo
      username: demo
      password: 0penstack
      user_domain_name: Default
      project_domain_name: Default
    region_name: RegionOne

4.2 clouds-public.yaml

clouds-public.yaml은 여러 사용자가 공통으로 사용하는 클라우드에 대한 공개 정보를 포함하는 설정 파일입니다. clouds-public.yaml은 사용자 간에 쉽게 공유되어 퍼블릭 클라우드 설정을 간소화할 수 있습니다.

clouds.yaml과 유사하게 OpenStackClient는 다음 위치에서 clouds-public.yaml을 찾습니다:

  • 현재 디렉토리
  • ~/.config/openstack
  • /etc/openstack

첫 번째로 발견된 파일이 사용됩니다.

여기서 키는 clouds.yaml cloud 키에서 참조됩니다. clouds.yaml에 있는 모든 항목이 포함됩니다.

public-clouds:
  rackspace:
    auth:
      auth_url: 'https://identity.api.rackspacecloud.com/v2.0/'

4.3 디버깅

설정 문제를 디버그하는 데 도움이 되도록 configuration show 명령어를 사용할 수 있습니다. 현재 설정을 표시합니다.

5 로깅 세팅

설정 파일 clouds.yaml에서 log_level 또는 log_file을 설정하여 추가 로그를 활성화할 수 있습니다:

clouds:
  devstack:
    auth:
      auth_url: http://192.168.122.10:5000/
      project_name: demo
      username: demo
      password: 0penstack
    region_name: RegionOne
    operation_log:
      logging: TRUE
      file: /tmp/openstackclient_demo.log
      level: info
  ds-admin:
    auth:
      auth_url: http://192.168.122.10:5000/
      project_name: admin
      username: admin
      password: 0penstack
    region_name: RegionOne
    log_file: /tmp/openstackclient_admin.log
    log_level: debug

log_file: </path/file-name>

로그 파일의 전체 경로

log_level: error | info | debug

로그 레벨이 설정되지 않으면, warning이 사용됩니다.

로그 레벨이 info이면, 다음 정보가 기록됩니다:

  • 클라우드 이름
  • 사용자 이름
  • 프로젝트 이름
  • CLI 시작 시간 (로깅 시작 시간)
  • CLI 종료 시간
  • CLI 인수
  • CLI 반환 값
  • 그외 모든 info 메시지

로그 레벨이 debug이면, 다음 정보가 기록됩니다:

  • 클라우드 이름
  • 사용자 이름
  • 프로젝트 이름
  • CLI 시작 시간 (로깅 시작 시간)
  • CLI 종료 시간
  • CLI 인수
  • CLI 반환 값
  • API 요청 헤더/본문
  • API 응답 헤더/본문
  • 그외 모든 debug 메시지

명령어가 실행될 때마다 이러한 로그가 저장됩니다. 사용자 작업을 기록하면 리소스 변경사항을 식별하고 트러블슈팅에 유용한 정보를 제공할 수 있습니다.

단일 명령어의 출력을 저장하려면 –log-file 옵션을 사용하십시오.

  • --log-file <LOG_FILE>

--log-file의 로그 레벨은 다음 옵션을 사용하여 설정할 수 있습니다:

  • -v, --verbose
  • -q, --quiet
  • --debug

6 로케일 및 언어 지원

6.1 선호하는 파이썬 인코딩 확인

6.2 LANG 환경변수 점검

6.3 출력 리다이렉팅

6.4 DevStack에 대한 마지막 참고사항

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}