8.4. 기존 역할을 컬렉션으로 마이그레이션


독립 실행형 역할의 디렉터리에는 다음과 같은 구조가 있습니다. 역할에 이러한 디렉터리가 모두 포함되지 않을 수 있습니다.

my_role
├── README.md
├── defaults
│   └── main.yml
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── tasks
│   └── main.yml
├── templates
├── tests
│   ├── inventory
│   └── test.yml
└── vars
    └── main.yml

Ansible 역할에는 7개의 기본 표준 디렉터리가 있는 정의된 디렉터리 구조가 있습니다. 각 역할에는 이러한 디렉터리 중 하나 이상이 포함되어야 합니다. 역할이 사용하지 않는 디렉터리를 생략할 수 있습니다. 각 디렉터리에는 main.yml 파일이 포함되어 있습니다.

프로세스

  1. 필요한 경우 해당 콘텐츠를 반영하도록 역할이 포함된 디렉터리의 이름을 바꿉니다(예: acl_config 또는 tacacs ).

    컬렉션의 역할에는 이름에 하이픈이 있을 수 없습니다. 밑줄 문자(_)를 대신 사용합니다.

  2. 독립 실행형 역할의 역할 디렉터리를 컬렉션의 roles/ 디렉터리에 복사합니다.

    예를 들어 myapp_network 라는 컬렉션에서 myapp_network/roles/ 디렉터리에 역할을 추가합니다.

  3. 독립 실행형 역할의 플러그인을 새 컬렉션의 plugins 디렉터리/ 에 복사합니다. 컬렉션 디렉터리 구조는 다음과 유사합니다.

    company_namespace
    └── myapp_network
        ├── ...
        ├── galaxy.yml
        ├── docs
        ├── extensions
        ├── meta
        ├── plugins
        ├── roles
        │   ├── acl_config
        │   │   ├── README.md
        │   │   ├── defaults
        │   │   ├── files
        │   │   ├── handlers
        │   │   ├── meta
        │   │   ├── tasks
        │   │   ├── templates
        │   │   ├── tests
        │   │   └── vars
        │   └── tacacs
        │       ├── README.md
        │       ├── default
        │       ├── files
        │       ├── handlers
        │       ├── meta
        │       ├── tasks
        │       ├── templates
        │       ├── tests
        │       └── vars
        │   ├── run
        ├── ...
        ├── tests
        └── vars

    run 역할은 컬렉션을 스캐폴드할 때 생성되는 기본 역할 디렉터리입니다.

  4. 컬렉션의 새 역할에 대해 FQDN(정규화된 컬렉션 이름)을 사용하도록 플레이북을 업데이트합니다.

    참고

    모든 독립 실행형 역할이 코드를 수정하지 않고 컬렉션에 원활하게 통합되는 것은 아닙니다. 예를 들어 플러그인이 포함된 Galaxy의 타사 독립 실행형 역할이 module_utils/ 디렉터리를 사용하는 경우 플러그인 자체에 import 문이 있습니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동