6.11. 클라우드 인벤토리와 함께 클라우드 인증 정보 사용


클라우드 인증 정보는 클라우드 인벤토리를 동기화할 때 사용할 수 있습니다. 작업 템플릿과 연관되고 플레이북에서 사용할 런타임 환경에 포함할 수도 있습니다. 지원되는 클라우드 인증 정보는 다음과 같습니다.

6.11.1. OpenStack

다음 샘플 플레이북은 nova_compute Ansible OpenStack 클라우드 모듈을 호출하고 인증 정보가 필요합니다.

  • auth_url
  • 사용자 이름
  • 암호
  • 프로젝트 이름

이러한 필드는 환경 변수 OS_CLIENT_CONFIG_FILE 을 통해 플레이북에 사용할 수 있습니다. 이 변수는 클라우드 인증 정보의 콘텐츠를 기반으로 컨트롤러에서 작성한 YAML 파일을 가리킵니다. 다음 샘플 플레이북은 YAML 파일을 Ansible 변수 공간에 로드합니다.

  • OS_CLIENT_CONFIG_FILE 예:
clouds:
  devstack:
    auth:
      auth_url: http://devstack.yoursite.com:5000/v2.0/
      username: admin
      password: your_password_here
      project_name: demo
  • 플레이북 예:
- hosts: all
  gather_facts: false
  vars:
    config_file: "{{ lookup('env', 'OS_CLIENT_CONFIG_FILE') }}"
    nova_tenant_name: demo
    nova_image_name: "cirros-0.3.2-x86_64-uec"
    nova_instance_name: autobot
    nova_instance_state: 'present'
    nova_flavor_name: m1.nano


    nova_group:
      group_name: antarctica
      instance_name: deceptacon
      instance_count: 3
  tasks:
    - debug: msg="{{ config_file }}"
    - stat: path="{{ config_file }}"
      register: st
    - include_vars: "{{ config_file }}"
      when: st.stat.exists and st.stat.isreg


    - name: "Print out clouds variable"
      debug: msg="{{ clouds|default('No clouds found') }}"


    - name: "Setting nova instance state to: {{ nova_instance_state }}"
      local_action:
        module: nova_compute
        login_username: "{{ clouds.devstack.auth.username }}"
        login_password: "{{ clouds.devstack.auth.password }}"

6.11.2. Amazon Web Services

AWS(Amazon Web Services) 클라우드 인증 정보는 플레이북 실행 중에 다음 환경 변수로 노출됩니다(작업 템플릿에서 설정에 필요한 클라우드 인증 정보 선택).

  • AWS_ACCESS_KEY_ID
  • AWS-SECRET_ACCESS_KEY

각 AWS 모듈은 aws_access_key_id 또는 aws_secret_access_key 모듈 옵션을 설정하지 않고도 컨트롤러를 통해 실행할 때 이러한 인증 정보를 암시적으로 사용합니다.

6.11.3. Google

Google 클라우드 인증 정보는 플레이북 실행 중에 다음 환경 변수로 노출됩니다(작업 템플릿에서 설정에 필요한 클라우드 인증 정보 선택).

  • GCE_EMAIL
  • GCE_PROJECT
  • GCE_CREDENTIALS_FILE_PATH

각 Google 모듈은 service_account_email,project_id 또는 pem_file 모듈 옵션을 설정하지 않고도 컨트롤러를 통해 실행할 때 이러한 인증 정보를 암시적으로 사용합니다.

6.11.4. Azure

Azure 클라우드 인증 정보는 플레이북 실행 중에 다음 환경 변수로 노출됩니다(작업 템플릿에서 설정에 필요한 클라우드 인증 정보 선택).

  • AZURE_SUBSCRIPTION_ID
  • AZURE_CERT_PATH

각 Azure 모듈은 subscription_id 또는 management_cert_path 모듈 옵션을 설정하지 않고도 컨트롤러를 통해 실행할 때 이러한 인증 정보를 암시적으로 사용합니다.

6.11.5. VMware

VMware 클라우드 인증 정보는 플레이북 실행 중에 다음 환경 변수로 노출됩니다(작업 템플릿에서 설정에 필요한 클라우드 인증 정보 선택).

  • VMWARE_USER
  • VMWARE_PASSWORD
  • VMWARE_HOST

다음 샘플 플레이북은 이러한 인증 정보를 사용하는 방법을 보여줍니다.

- vsphere_guest:
    vcenter_hostname: "{{ lookup('env', 'VMWARE_HOST') }}"
    username: "{{ lookup('env', 'VMWARE_USER') }}"
    password: "{{ lookup('env', 'VMWARE_PASSWORD') }}"
    guest: newvm001
    from_template: yes
    template_src: linuxTemplate
    cluster: MainCluster
    resource_pool: "/Resources"
    vm_extra_config:
      folder: MyFolder
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.