"OpenStackClient 매뉴얼 페이지"의 두 판 사이의 차이

211번째 줄: 211번째 줄:


===설정 파일===
===설정 파일===
'''openstack'''은 다음 위치에서 clouds.yaml 파일을 찾습니다:
* 현재 디렉토리
* ~/.config/openstack
* /etc/openstack
가장 먼저 발견된 파일이 사용됩니다.
키는 <code>--os-</code> 접두어 없이 '''openstack''' 전역 옵션과 매치합니다:
<syntaxhighlight lang='yaml'>
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
</syntaxhighlight>
위 예제에서 <code>rackspace</code> 클라우드의 <code>auth_url</code>은 <code>clouds-public.yaml</code>에서 가져옵니다:
<syntaxhighlight lang='yaml'>
public-clouds:
  rackspace:
    auth:
      auth_url: 'https://identity.api.rackspacecloud.com/v2.0/'
</syntaxhighlight>
===인증 세팅===
===인증 세팅===
===로깅 세팅===
===로깅 세팅===

2024년 6월 26일 (수) 23:08 판

1 개요

openstack
OpenStack 커맨드 라인
OpenStackClient 매뉴얼 페이지

https://docs.openstack.org/python-openstackclient/2024.1/cli/man/openstack.html

Crystal Clear action info.png 작성 중인 문서입니다.


2 SYNOPSIS

openstack [<global-options>] <command> [<command-arguments>]

openstack help <command>

openstack --help

3 설명

openstack은 오픈스택 API에 공통 명령줄 인터페이스를 제공합니다. 이는 오픈스택 프로젝트 클라이언트 라이브러리에서 제공하는 CLI와 거의 동일하지만, 독특하고 일관된 명령어 구조를 가지고 있습니다.

4 인증 방법

openstack은 OpenStack 프로젝트 CLI와 유사한 인증 체계를 사용하며, 자격증명 정보는 환경변수나 명령줄 옵션으로 제공됩니다. 주요 차이점은 옵션 이름에 'project'가 포함되어 OS_PROJECT_NAME/OS_PROJECT_ID로 제공된다는 점입니다(이전의 테넌트 기반 이름 대신).

export OS_AUTH_URL=<url-to-openstack-identity>
export OS_PROJECT_NAME=<project-name>
export OS_USERNAME=<user-name>
export OS_PASSWORD=<password>  # (optional)

openstack은 keystoneclient 라이브러리가 제공하는 다양한 유형의 인증 플러그인을 사용할 수 있습니다. 기본적으로 사용할 수 있는 플러그인은 다음과 같습니다:

  • token: 토큰을 사용한 인증
  • password: 사용자명과 패스워드를 사용한 인증
  • openid: OpenID Connect 프로토콜을 사용한 인증

이 플러그인과 그 옵션에 대한 자세한 내용과 사용가능한 플러그인의 전체 목록은 keystoneclient 라이브러리 문서를 참조하십시오. 일부 플러그인은 openstack의 모든 기능을 지원하지 않을 수 있습니다. 예를 들어, v3unscopedsaml 플러그인은 범위가 지정되지 않은 토큰만 제공할 수 있으며, 이 인증 방법으로는 일부 명령을 사용할 수 없습니다.

또한, Keystone의 서비스 토큰을 사용하여 인증할 수도 있습니다. 이 경우, --os-token--os-endpoint 옵션(또는 환경변수 OS_TOKENOS_ENDPOINT)을 설정해야 합니다. 이 방법은 인증 플러그인보다 우선합니다.

Note

v3unscopedsaml 방법을 사용하려면 lxml 패키지를 설치해야 합니다.

4.1 페더레이션을 사용한 인증

페더레이션 인증을 사용하려면, 설정 파일에 다음이 필요합니다:

export OS_PROJECT_NAME=<project-name>
export OS_PROJECT_DOMAIN_NAME=<project-domain-name>
export OS_AUTH_URL=<url-to-openstack-identity>
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_PLUGIN=openid
export OS_AUTH_TYPE=v3oidcpassword
export OS_USERNAME=<username-in-idp>
export OS_PASSWORD=<password-in-idp>
export OS_IDENTITY_PROVIDER=<the-desired-idp>
export OS_CLIENT_ID=<the-client-id-configured-in-the-idp>
export OS_CLIENT_SECRET=<the-client-secred-configured-in-the-idp>
export OS_OPENID_SCOPE=<the-scopes-of-desired-attributes-to-claim-from-idp>
export OS_PROTOCOL=<the-protocol-used-in-the-apache2-oidc-proxy>
export OS_ACCESS_TOKEN_TYPE=<the-access-token-type-used-by-your-idp>
export OS_DISCOVERY_ENDPOINT=<the-well-known-endpoint-of-the-idp>
export OS_ACCESS_TOKEN_ENDPOINT=<the-idp-access-token-url>

5 옵션

openstack은 전반적인 동작을 제어하는 전역 옵션과 명령어 실행을 제어하는 명령어별 옵션을 사용합니다. 대부분의 전역 옵션에는 해당 값을 설정하는 데 사용할 수 있는 환경변수가 있습니다. 둘 다 존재하는 경우 명령줄 옵션이 우선합니다. 환경변수 이름은 옵션 이름에서 앞에 붙은 대시(‘--’)를 제거하고, 사이사이의 대시(‘-’)를 밑줄(‘_’)로 변환하고, 대문자로 변환하여 파생됩니다.

openstack 은 다음과 같은 전역 옵션을 인식합니다:

--os-cloud <cloud-name>
openstack은 인증에 사용할 클라우드 설정을 포함하는 clouds.yaml 파일을 찾습니다. 자세한 내용은 아래의 클라우드 설정 섹션을 참조하십시오.
--os-auth-type <auth-type>
Identity 서비스에 연결할 때 사용할 인증 플러그인 유형입니다.
이 옵션이 설정되지 않은 경우, openstack은 다른 옵션을 기반으로 사용할 인증 방법을 추측하려고 합니다.
이 옵션이 설정된 경우, 해당 버전은 --os-identity-api-version과 매치해야 합니다.
--os-auth-url <auth-url>
인증 URL
--os-endpoint <service-url>
서비스 토큰을 사용한 인증 시 서비스 엔드포인트
--os-domain-name <auth-domain-name>
도메인 수준 인가 스코프 (이름으로)
--os-domain-id <auth-domain-id>
도메인 수준 인가 스코프 (ID로)
--os-project-name <auth-project-name>
프로젝트 수준 인가 스코프 (이름으로)
--os-project-id <auth-project-id>
프로젝트 수준 인가 스코프 (ID로)
--os-project-domain-name <auth-project-domain-name>
프로젝트를 포함하는 도메인 이름
--os-project-domain-id <auth-project-domain-id>
프로젝트를 포함하는 도메인 ID
--os-username <auth-username>
인증 사용자명
--os-password <auth-password>
인증 패스워드
--os-token <token>
인증된 토큰 또는 서비스 토큰
--os-user-domain-name <auth-user-domain-name>
사용자를 포함하는 도메인 이름
--os-user-domain-id <auth-user-domain-id>
사용자를 포함하는 도메인 ID
--os-trust-id <trust-id>
수탁자 사용자로 사용할 트러스트 ID
--os-default-domain <auth-domain>
기본 도메인 ID (기본값: ‘default’)
--os-region-name <auth-region-name>
인증 리전 이름
--os-cacert <ca-bundle-file>
CA 인증서 번들 파일
--verify | --insecure
서버 인증서를 확인하거나 무시 (기본값: 확인)
--os-cert <certificate-file>
클라이언트 인증서 번들 파일
--os-key <key-file>
클라이언트 인증서 키 파일
--os-identity-api-version <identity-api-version>
Identity API 버전 (기본값: 2.0)
--os-XXXX-api-version <XXXX-api-version>
설치된 API 라이브러리에 따라 추가적인 API 버전 옵션이 제공됩니다.
--os-interface <interface>
인터페이스 유형. 유효한 옵션은 public, admin, internal입니다.

Note

novaclient, neutronclient 등 프로젝트 지정 클라이언트에서 openstackclient로 전환하는 경우 --os-endpoint-type 대신 --os-interface를 사용하십시오.

--os-profile <hmac-key>
성능 프로파일링 HMAC 키. 컨텍스트 데이터를 암호화하는 데 사용합니다.
이 키는 추적할 OpenStack 서비스의 설정 파일에 정의된 HMAC 키 값 중 하나여야 합니다.
--os-beta-command
변경될 수 있는 베타 명령어 활성화
--log-file <LOGFILE>
출력 로그 파일 지정. 기본값은 비활성화.
-v, --verbose
출력의 상세함(verbosity)을 증가시킵니다. 반복할 수 있습니다.
-q, --quiet
경고와 오류를 제외한 출력 억제
--debug
오류 발생 시 추적 정보를 표시하고 상세함(verbosity)을 디버그로 설정
--help
도움말 메시지를 표시하고 종료
--timing
API 호출 타이밍 정보 출력

6 명령어

명령어 목록을 얻으려면:

openstack --help

특정 명령어에 대한 설명을 얻으려면:

openstack help <command>

API 버전에 따라 표시되는 명령어 세트가 다를 수 있습니다. 예를 들어, Identity v3 명령어를 강제로 표시하려면:

openstack --os-identity-api-version 3 --help
complete
현재 명령어 세트에 대한 bash 완성 기능을 출력합니다.
help <command>
개별 명령어에 대한 도움말을 출력합니다.

OpenStackClient 명령어 구조와 인수에 대한 추가 정보는 OpenStackClient 명령어 목록에서 확인할 수 있습니다.

6.1 명령어 객체

OpenStack 프로젝트 지원이 추가됨에 따라 명령어 객체 목록이 점점 길어지고 있습니다. 객체 이름은 고유한 이름을 구성하기 위해 여러 단어로 구성될 수 있습니다. 때때로 여러 API가 공통된 이름과 겹치는 목적을 가지고 있을 때, 사용할 객체를 선택할 수 있는 옵션이 있거나, Compute와 Block Storage 할당량을 참조하는 quota 객체와 같이 API 리소스가 병합될 수 있습니다.

6.2 명령어 액션

OpenStackClient에서 사용되는 액션들은 각 객체에 대해 일관된 액션을 제공하기 위해 특정 의미로 정의됩니다. 일부 액션들은 논리적으로 반대되는 액션이 있으며, 이러한 쌍은 해당 객체에서 항상 매치하게 됩니다.

7 클라우드 설정

여러 클라우드를 다루는 작업은 해당 클라우드의 설정 정보를 로컬 파일에 저장함으로써 간소화할 수 있습니다. openstackclouds.yaml 설정 파일을 사용하는 것을 지원합니다.

7.1 설정 파일

openstack은 다음 위치에서 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

위 예제에서 rackspace 클라우드의 auth_urlclouds-public.yaml에서 가져옵니다:

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

7.2 인증 세팅

7.3 로깅 세팅

8 참고

9 예시

10 파일

11 환경변수

12 버그

13 저자

14 저작권

15 라이선스

16 같이 보기

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