개요

  • Ansible 개발 환경에서 playbook을 생성하고 이를 github 리포지토리에 업로드하여 버전 관리를 한다.
  • AWX는 github 리포지토리로부터 필요한 playbook 파일을 읽어와서 각 지정된 서버들에 playbook의 내용대로 적용시킬 수 있다.
  • github는 보안성 문제로 인해 2021년 후반부터 git을 이용한 패스워드 인증을 지원하지 않는다.
  • github PAT로는 AWX - gihhub 간 사용할 수 없다 (AWX에서 지원 안함)
  • 여기서는 github와의 연동을 위해 SSH 인증을 적용하는 방법을 소개한다.

SSH 인증 설정

ssh key 파일 생성

  • 사용하는 리눅스 환경 (AWX 환경이 아니어도 상관없음) 에서 아래와 같이 SSH 키 파일들을 생성한다.
    ssh-keygen
    # 명령어 이후 계속 엔터
    # ~/.ssh 아래에 id_rsa와 id_rsa.pub 파일이 생성된다.
    

github에 ssh 공개키 등록

  • github 계정 설정 - Access - SSH and GPG keys - SSH keys - New SSH key
  • Key에는 id_rsa.pub 파일의 내용을 삽입

AWX Credentials 생성

  • RESOURCES - Credentials - 오른쪽 상단의 ‘+’ 클릭

  • CREDENTIAL TYPE을 Source Control 로 선택
  • SCM PRIVATE KEY 에 id_rsa 파일의 내용을 삽입
  • save 클릭

AWX Projects 생성

  • RESOURCES - Projects - 오른쪽 상단의 ‘+’ 클릭

  • SCM TYPE을 Git 으로 선택
  • SCM URL은 Github 리포지토리의 SSH Clone 주소를 복붙
  • SCM BRANCH/TAG/COMMIT은 Github 리포지토리의 기본 브랜치를 입력
  • SCM CREDENTIAL은 방금 만든 Credential을 선택

프로젝트를 생성하면 github 리포지토리와 연동을 확인하게 된다 (녹색 원이 나타나면 연동 성공)

참고자료

Ansible Tower/AWX Project and Github Connection Setup(Youtube)

ANSIBLE TOWER - Projects

프로비저닝 자동화를 위한 Ansible AWX, 설치부터 엔터프라이즈 환경 적용까지 - 1

Tags: ,

Categories:

Published:

Updated: