Ansible AWX 호스트로 docker-compose에서 CentOS7 추가

개요



docker-compose에서 실행되는 AWX에서도 docker-compose에서 실행되는 CentOS7 5 개를 추가합니다.

전제



Ansible AWX가 실행 중입니다.

절차



다음 docker-compose.yaml을 실행합니다.
이때 docker network ls에서 미리 확인한 awx
작동하는 네트워크에 CentOS7을 참여시켜 AWX 및
CentOS7 간의 통신이 가능합니다.
# docker network ls
NETWORK ID          NAME                 DRIVER              SCOPE
f85aa36a3ee1        awxcompose_default   bridge              local ★ AWX のネットワーク
af68638ee18c        bridge               bridge              local
ba0fb50601f0        host                 host                local
812f8bdace1c        none                 null                local
# 

각 CentOS7의 네트워크 설정과
    networks:
      - awxcompose_default

마지막 네트워크 자체의 설정이 포인트입니다.
networks:
    awxcompose_default:
      external: true

docker-compose.yaml은 다음과 같습니다.

docker-compose.yaml
version: '2'
services:
  centos7-1:
    container_name: centos7-1
    hostname: centos7-1
    image: solaris64sparc/centos7:systemd-sshd-selinux
    ports:
      - "10001:22"
    privileged: true
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    networks:
      - awxcompose_default

  centos7-2:
    container_name: centos7-2
    hostname: centos7-2
    image: solaris64sparc/centos7:systemd-sshd-selinux
    ports:
      - "10002:22"
    privileged: true
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    networks:
      - awxcompose_default

  centos7-3:
    container_name: centos7-3
    hostname: centos7-3
    image: solaris64sparc/centos7:systemd-sshd-selinux
    ports:
      - "10003:22"
    privileged: true
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    networks:
      - awxcompose_default

  centos7-4:
    container_name: centos7-4
    hostname: centos7-4
    image: solaris64sparc/centos7:systemd-sshd-selinux
    ports:
      - "10004:22"
    privileged: true
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    networks:
      - awxcompose_default

  centos7-5:
    container_name: centos7-5
    hostname: centos7-5
    image: solaris64sparc/centos7:systemd-sshd-selinux
    ports:
      - "10005:22"
    privileged: true
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    networks:
      - awxcompose_default

networks:
    awxcompose_default:
      external: true


docker-compose에서 실행



다음과 같이 폴더를 만들고 docker-compose.yaml을 배치하여 CentOS7을 시작합니다.
# mkdir centos7

# vi docker-compose.yaml
→ 上記 docker-compose.yaml を貼り付け。

#docker-compose up -d


AWX에서 호스트 추가



로그인 후 화면 왼쪽 메뉴에서 인벤토리를 클릭하고 +를 클릭합니다.



"인벤토리"와 "스마트 인벤토리"가 표시되므로
인벤토리를 클릭합니다.



새 인벤토리를 만들려면 새 인벤토리 화면에서,
이름에 centos7을 입력하고 조직은 Default를 선택하고,
저장을 클릭합니다.



호스트를 클릭합니다.



호스트에 대상을 추가하려면 +를 클릭합니다.



호스트 작성 화면에서 호스트 이름에 centos7-1을 입력하고 저장을 클릭하십시오.
여기서 지정하는 호스트명은 상기의 docker-compose.yaml 로 지정한 hostname 를 지정합니다.
docker-compose 내에서는 이름 해석이 가능하기 때문에 그것을 이용하고 있습니다.



호스트를 추가했으면 호스트를 클릭하여 목록으로 돌아갑니다.



일람에 「centos7-1」이 추가되어 있는 것을 확인할 수 있으면,
다시 "+"를 클릭하여 나머지 호스트도 추가합니다.



다음과 같이 docker-compose.yaml에 정의된 CentOS7을 추가할 수 있습니다.



자격 증명 등록



그런 다음 등록한 호스트의 자격 증명을 추가합니다.
화면 왼쪽 메뉴에서 "인증 정보"를 클릭하고 "+"를 클릭합니다.



새 신임 정보 화면에서 이름으로 CentOS7 루트, 자격 증명 유형으로 기계,
"사용자 이름"에 루트, "비밀번호"에 "P@ssw0rd!"를 입력하고 화면 오른쪽 하단의 "저장"을
클릭합니다.

※ 이 CentOS7 루트 암호는 "P@ssw0rd!"로 설정되어 있습니다.



이것으로 인증 정보의 등록이 종료됩니다.

인벤토리에 대해 명령을 실행해 봅니다.



로그인 후 화면 왼쪽 메뉴에서 인벤토리를 클릭하고 centos7을 클릭합니다.



호스트를 클릭합니다.



centos7-1 ~ centos7-5를 선택하고 명령 실행을 클릭하십시오.



명령 실행 화면에서,
'모듈'에서 'shell'을 선택하고 '인수'에 'uname -n'을 입력하고,
컴퓨터 자격 증명에서 CentOS7 루트를 선택하고 시작을 클릭합니다.



실행 결과가 표시되고 각 CentOS7의 호스트 이름이 표시됩니다.
이것으로 소통의 확인을 할 수 있었습니다.



이상입니다.

좋은 웹페이지 즐겨찾기