7.4. Ansible을 사용하여 구성 변경


이 섹션에서는 Ansible에 대해 익숙한 것으로 가정합니다.

사용 가능한 호스트 구성 옵션의 일부만 Ansible에 노출됩니다. OpenShift Container Platform을 설치한 후 Ansible은 대체된 일부 값을 사용하여 인벤토리 파일을 생성합니다. 이 인벤토리 파일을 수정하고 Ansible 설치 프로그램 플레이북을 다시 실행하는 방법은 OpenShift Container Platform 클러스터를 사용자 지정하는 방법입니다.

OpenShift Container Platform은 Ansible 플레이북 및 인벤토리 파일을 사용하여 클러스터 설치를 위해 Ansible 사용을 지원하지만 Puppet,Chef 또는 Salt 등의 다른 관리 툴도 사용할 수 있습니다.

사용 사례: HTPasswd 인증을 사용하도록 클러스터 구성

참고
  • 이 사용 사례에서는 플레이북에서 참조하는 모든 노드에 SSH 키를 이미 설정했다고 가정합니다.
  • htpasswd 유틸리티는 httpd-tools 패키지에 있습니다.

    # yum install httpd-tools

Ansible 인벤토리를 수정하고 구성을 변경하려면 다음을 수행합니다.

  1. ./hosts 인벤토리 파일을 엽니다.
  2. 파일의 [OSEv3:vars] 섹션에 다음 새 변수를 추가합니다.

    # htpasswd auth
    openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]
    # Defining htpasswd users
    #openshift_master_htpasswd_users={'<name>': '<hashed-password>', '<name>': '<hashed-password>'}
    # or
    #openshift_master_htpasswd_file=/etc/origin/master/htpasswd

    HTPasswd 인증의 경우 openshift_master_identity_providers 변수는 인증 유형을 활성화합니다. HTPasswd를 사용하는 세 가지 인증 옵션을 구성할 수 있습니다.

    • /etc/origin/ master/htpasswd가 이미 구성되어 있으며 호스트에 있는 경우 openshift_master _identity_providers 만 지정합니다.
    • 로컬 htpasswd 파일을 호스트에 복사하려면 openshift_master_identity _providers 및 openshift_master_htpasswd_file 을 둘 다 지정합니다.
    • openshift_master_identity_providersopenshift_master_htpasswd_users 를 둘 다 지정하여 호스트에서 새 htpasswd 파일을 생성합니다.

    OpenShift Container Platform에는 HTPasswd 인증을 구성하는 데 해시된 암호가 필요하므로 다음 섹션에 표시된 대로 htpasswd 명령을 사용하여 사용자의 해시된 암호를 생성하거나 사용자와 연결된 해시된 암호를 사용하여 플랫 파일을 생성할 수 있습니다.

    다음 예제에서는 인증 방법을 기본에서 모든 설정을 거부하고, 지정된 파일을 사용하여 jsmithbloblaw 사용자에 대한 사용자 ID 및 암호를 생성합니다.

    # htpasswd auth
    openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]
    # Defining htpasswd users
    openshift_master_htpasswd_users={'jsmith': '$apr1$wIwXkFLI$bAygtKGmPOqaJftB', 'bloblaw': '7IRJ$2ODmeLoxf4I6sUEKfiA$2aDJqLJe'}
    # or
    #openshift_master_htpasswd_file=/etc/origin/master/htpasswd
  3. 이러한 수정 사항을 적용하기 위해 ansible 플레이북을 다시 실행합니다.

    $ ansible-playbook -b -i ./hosts ~/src/openshift-ansible/playbooks/deploy_cluster.yml

    플레이북은 구성을 업데이트하고 OpenShift Container Platform 마스터 서비스를 다시 시작하여 변경 사항을 적용합니다.

이제 Ansible을 사용하여 마스터 및 노드 구성 파일을 수정했지만 간단한 사용 사례일 뿐입니다. 여기에서 Ansible에 노출되는 마스터 및 노드 구성 옵션을 확인하고 고유한 Ansible 인벤토리를 사용자 지정할 수 있습니다.

7.4.1. htpasswd 명령 사용

HTPasswd 인증을 사용하도록 OpenShift Container Platform 클러스터를 구성하려면 인벤토리 파일에 포함하려면 해시된 암호가 있는 사용자가 하나 이상 필요합니다.

다음을 수행할 수 있습니다.

사용자 및 해시된 암호를 생성하려면 다음을 수행합니다.

  1. 다음 명령을 실행하여 지정된 사용자를 추가합니다.

    $ htpasswd -n <user_name>
    참고

    명령줄에 암호를 제공하기 위해 -b 옵션을 포함할 수 있습니다.

    $ htpasswd -nb <user_name> <password>
  2. 사용자에 대해 일반 텍스트 암호를 입력하고 확인합니다.

    예를 들면 다음과 같습니다.

    $ htpasswd -n myuser
    New password:
    Re-type new password:
    myuser:$apr1$vdW.cI3j$WSKIOzUPs6Q

    이 명령에서는 해시된 버전의 암호를 생성합니다.

그런 다음 HTPasswd 인증을 구성할 때 해시된 암호를 사용할 수 있습니다. 해시된 암호는 : 뒤에 있는 문자열입니다. 위의 예에서 다음을 입력합니다.

openshift_master_htpasswd_users={'myuser': '$apr1$wIwXkFLI$bAygtISk2eKGmqaJftB'}

사용자 이름과 해시된 암호로 플랫 파일을 생성하려면 다음을 수행합니다.

  1. 다음 명령을 실행합니다.

    $ htpasswd -c /etc/origin/master/htpasswd <user_name>
    참고

    명령줄에 암호를 제공하기 위해 -b 옵션을 포함할 수 있습니다.

    $ htpasswd -c -b <user_name> <password>
  2. 사용자에 대해 일반 텍스트 암호를 입력하고 확인합니다.

    예를 들면 다음과 같습니다.

    htpasswd -c /etc/origin/master/htpasswd user1
    New password:
    Re-type new password:
    Adding password for user user1

    명령은 사용자 이름과 해시된 사용자 암호의 버전을 포함하는 파일을 생성합니다.

그런 다음 HTPasswd 인증을 구성할 때 암호 파일을 사용할 수 있습니다.

참고

htpasswd 명령에 대한 자세한 내용은 HTPasswd Identity Provider 를 참조하십시오.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.