부트스트랩 스크립트로 클라이언트 등록

1. 소개

부트스트랩 스크립트로 클라이언트를 등록하면 파라미터를 제어할 수 있고, 다수의 클라이언트를 한 번에 등록해야 하는 경우 도움이 됩니다.

부트스트랩 스크립트를 사용하여 클라이언트를 등록하려면, 시작하기 위해 템플릿 부트스트랩 스크립트를 생성하는 것이 좋으며, 이를 복사하고 수정할 수 있습니다. 생성한 부트스트랩 스크립트는 클라이언트가 등록될 때 실행되며, 클라이언트에 필요한 모든 패키지가 배포되도록 보장합니다. 부트스트랩 스크립트의 일부 매개변수는 클라이언트 시스템이 활성화 키와 GPG 키를 사용하여 기본 채널에 할당될 수 있도록 보장합니다.

리포지토리 정보가 기본 채널 리포지토리와 일치하는지 확인하는 것이 중요합니다. 리포지토리 정보가 정확히 일치하지 않으면 부트스트랩 스크립트가 올바른 패키지를 다운로드할 수 없습니다.

추가 고려 사항:

  • 모든 클라이언트는 부트스트랩 리포지토리가 필요합니다. 제품이 동기화될 때 SUSE Multi-Linux Manager 서버에서 자동으로 생성되고 재생성됩니다. 부트스트랩 리포지토리에는 클라이언트에 Salt를 설치하고 클라이언트를 등록하기 위한 패키지가 포함됩니다. 부트스트랩 리포지토리 생성에 대한 자세한 내용은 부트스트랩 리포지토리을 참조하십시오.

  • openSUSE Leap 15 및 SLE 15는 기본적으로 Python 3을 사용합니다. Python 2를 기반으로 한 부트스트랩 스크립트는 openSUSE Leap 15 및 SLE 15 시스템에 대해 다시 생성해야 합니다. Python 2를 사용하여 openSUSE Leap 15 또는 SLE 15 시스템을 등록하면 부트스트랩 스크립트가 실패합니다.

SUSE Multi-Linux Manager의 이전 버전에서 최신 버전으로 마이그레이션한 후에는 잠재적인 문제를 방지하기 위해 새 시스템을 온보딩하기 전에 부트스트랩 스크립트를 다시 생성하는 것이 적극 권장됩니다.

서버 컨테이너 내부의 셸에 액세스하려면 컨테이너 호스트에서 `mgrctl term`을(를) 실행하십시오. 거기에서 CLI 도구를 평소처럼 실행할 수 있습니다.

2. mgr-bootstrap(으)로 부팅 스크립트를 생성하십시오.

mgr-bootstrap 명령은 사용자 지정 부팅 스크립트를 생성합니다. 부트스트랩 스크립트는 SUSE Multi-Linux Manager 클라이언트 시스템에서 초기 등록 및 구성을 간소화하는 데 사용됩니다.

--activation-keys--script 인수는 필수 인수입니다. SUSE Multi-Linux Manager 서버에서 루트 사용자로 명령줄에서 필수 인수와 함께 실행하십시오. <ACTIVATION_KEY 및 `<EDITED_NAME>`을(를) 귀하의 값으로 교체하십시오.

  1. SUSE Multi-Linux Manager 컨테이너 호스트의 명령 프롬프트에서 루트 사용자로 다음 명령어를 실행하여 서버 컨테이너에 진입합니다.

    mgrctl term
  2. 다음 명령을 실행합니다(필요에 따라 값 조정).

    mgr-bootstrap --activation-keys=<ACTIVATION_KEY> --script=bootstrap-<EDITED_NAME>.sh

mgr-bootstrap 명령은 특정 호스트 이름을 설정하고, 특정 GPG 키를 설정하며, 등록 방식(salt-minion 또는 salt-bundle)을 설정하는 기능 등 몇 가지 다른 옵션을 제공합니다.

  • 프록시에 등록하기 위한 부트스트랩 스크립트를 생성하려면 서버 컨테이너에서 다음 명령을 사용합니다.

    mgr-boostrap --hostname <PROXY_FQDN>

    이 명령은 기본 이름 bootstrap.sh(으)로 새 부팅 스크립트를 생성하며, 서버에 사용 중인 기존 bootstrap.sh 파일을 덮어씁니다.

  • 다른 스크립트를 지정하려면 다음 명령을 실행합니다.

    mgr-bootstrap --hostname <PROXY_FQDN> --script=boostrap-<PROXY-SCRIPT>.sh

자세한 내용은 mgr-bootstrap man 페이지를 참조하거나 `mgr-bootstrap --help`을(를) 실행하십시오.

3. Web UI에서 부트스트랩 스크립트를 생성하십시오.

편집 가능한 부트스트랩 스크립트를 생성하려면 SUSE Multi-Linux Manager Web UI를 사용할 수 있습니다.

절차 부트스트랩 스크립트 생성
  1. SUSE Multi-Linux Manager Web UI에서 Admin  Manager Configuration  Bootstrap Script로 이동하십시오.

  2. 필수 필드는 이전의 설치 단계에서 얻은 값으로 미리 채워져 있습니다. 각 설정에 대한 자세한 내용은 Bootstrap Script을 참조하십시오.

  3. 스크립트를 생성하려면 Update를 클릭하십시오.

  4. 부팅 스크립트가 생성되어 서버의 /srv/www/htdocs/pub/bootstrap 디렉토리에 저장됩니다. 또는 HTTPS를 통해 부트스트랩 스크립트에 접근할 수 있습니다. `<example.com>`를 귀하의 SUSE Multi-Linux Manager 서버의 호스트 이름으로 교체하십시오.

    https://<example.com>/pub/bootstrap/bootstrap.sh

부트스트랩 스크립트에서 SSL을 비활성화하지 마십시오. Web UI에서 Enable SSL`이(가) 선택되어 있는지, 또는 부팅 스크립트에 `USING_SSL=1 설정이 존재하는지 확인하십시오. SSL을 비활성화하면 등록 프로세스에 사용자 지정 SSL 인증서가 필요합니다.

사용자 지정 인증서에 대한 자세한 내용은 SSL 인증서을 참조하십시오.

4. 부트스트랩 스크립트 편집

사용자가 만든 템플릿 부트스트랩 스크립트를 복사하고 수정하여 사용자 정의할 수 있습니다. SUSE Multi-Linux Manager과 함께 사용하기 위해 부트스트랩 스크립트를 수정할 때 최소 요구 사항은 활성화 키를 포함하는 것입니다. 대부분의 패키지는 GPG로 서명되므로 설치하려면 시스템에 신뢰할 수 있는 GPG 키가 필요합니다.

이 절차에서는 활성화 키의 정확한 이름을 알아야 합니다. Home  Overview(으)로 이동한 다음 Tasks 상자에서 `Manage Activation Keys`을(를) 클릭하십시오. 채널에 대해 생성된 모든 키는 이 페이지에 나열됩니다. 부트스트랩 스크립트에서 사용하려는 키의 전체 이름을 키 필드에 표시된 대로 정확히 입력해야 합니다. 활성화 키에 대한 자세한 내용은 활성화 키을 참조하십시오.

절차 부트스트랩 스크립트 수정
  1. SUSE Multi-Linux Manager 컨테이너 호스트의 명령 프롬프트에서 루트 사용자로 다음 명령어를 실행하여 서버 컨테이너에 진입합니다.

    mgrctl term
  2. SUSE Multi-Linux Manager 서버에서 명령줄의 루트 사용자로 다음과 같이 부트스트랩 디렉토리로 변경합니다:

    cd /srv/www/htdocs/pub/bootstrap/
  3. 각 클라이언트에서 사용할 템플릿 부트스트랩 스크립트 사본 2개를 생성하여 이름을 변경합니다.

    cp bootstrap.sh bootstrap-sles12.sh
    cp bootstrap.sh bootstrap-sles15.sh
  4. 수정을 위해 bootstrap-sles15.sh`을(를) 여십시오. 아래에 표시된 텍스트가 보일 때까지 아래로 스크롤합니다. 파일에 `exit 1`이(가) 존재하면, 해당 줄의 시작 부분에 해시 또는 파운드 기호(#)를 입력하여 주석 처리하십시오. 이것은 스크립트를 활성화합니다. 이 스크립트에 대한 키의 이름을 `ACTIVATION_KEYS= 필드에 입력하십시오.

    echo "Enable this script: comment (with #'s) this block (or, at least just"
    echo "the exit below)"
    echo
    #exit 1
    
    # can be edited, but probably correct (unless created during initial install):
    # NOTE: ACTIVATION_KEYS *must* be used to bootstrap a client machine.
    ACTIVATION_KEYS=1-sles15
    ORG_GPG_KEY=

    스크립트를 수작업으로 편집하는 대신, 사용자는 실행 시점에 다음 환경 변수를 전달할 수 있습니다.

    • ACTIVATION_KEYS: 등록에 사용할 활성화 키

    • ORG_GPG_KEY: GPG 키의 경로 또는 식별자

    • REACTIVATION_KEY: 이전에 등록된 시스템의 재활성화 키

    • MGR_SERVER_HOSTNAME: 클라이언트를 등록할 서버 또는 프록시의 호스트 이름

    환경 변수를 사용하면 런타임에 동적 입력을 허용하고 여러 시스템이나 환경에서 동일한 부트스트랩 스크립트를 쉽게 재사용할 수 있습니다.

  5. 완료한 후 파일을 저장하고 두 번째 부트스트랩 스크립트에 대해 이 절차를 반복하십시오.

기본적으로 부팅 스크립트는 부팅 리포지토리에 venv-salt-minion`이(가) 있는 경우 이를 설치하려고 시도하며, 부팅 리포지토리에 `salt-minion 번들이 없는 경우 Salt을(를) 설치합니다. 어떤 이유로든 Salt 번들을 설치하지 않고 `salt-minion`을(를) 계속 사용해야 하는 경우 그렇게 할 수 있습니다.

자세한 내용은 Salt Bundle을(를) 참조하십시오.

5. 부트스트랩 스크립트를 실행하는 클라이언트 등록

스크립트 생성을 완료했으면 이 스크립트를 사용해 클라이언트를 등록할 수 있습니다.

절차 부트스트랩 스크립트 실행
  1. SUSE Multi-Linux Manager 컨테이너 호스트의 명령 프롬프트에서 루트 사용자로 다음 명령어를 실행하여 서버 컨테이너에 진입합니다.

    mgrctl term
  2. SUSE Multi-Linux Manager 서버에서 부트스트랩 디렉토리로 변경합니다:

    cd /srv/www/htdocs/pub/bootstrap/
  3. 다음 명령을 실행하여 클라이언트에서 부팅 스크립트를 실행하고, `EXAMPLE.COM`을(를) 클라이언트의 호스트 이름으로 교체하십시오.

    cat bootstrap-sles15.sh | ssh root@EXAMPLE.COM /bin/bash
  4. 또는 클라이언트에서 다음 명령을 실행합니다.

    ACTIVATION_KEYS="17-someactivationkey" \
    MGR_SERVER_HOSTNAME="proxy.example.com" \
    ORG_GPG_KEY="mykey" \
    REACTIVATION_KEY=my-reactivation-key \
    curl -Sks https://server_hostname/pub/bootstrap/bootstrap.sh | /bin/bash

    값을 재정의할 필요가 없는 경우 다음과 같이 환경 변수를 완전히 생략할 수 있습니다.

    curl -Sks https://server_hostname/pub/bootstrap/bootstrap.sh | /bin/bash

    문제를 방지하려면 `bash`을(를) 사용하여 부팅 스크립트를 실행하십시오.

    이 스크립트는 앞서 생성한 리포지토리 디렉토리에 있는 필수 종속성을 다운로드합니다.

  5. 스크립트 실행이 완료되면 클라이언트가 올바르게 등록되었는지 확인할 수 있습니다. SUSE Multi-Linux Manager Web UI를 열고 시스템  개요로 이동하여 새 클라이언트가 나열되어 있는지 확인합니다. 클라이언트가 나열되지 않으면 SUSE Multi-Linux Manager Web UI에서 Salt  로 이동하여 클라이언트 키가 수락되었는지 확인합니다.

클라이언트에서 SUSE Multi-Linux Manager을(를) 사용하여 새 패키지나 업데이트가 설치되면 모든 최종 사용자 사용권 계약(EULA)이 자동으로 수락됩니다. 패키지 사용 조건을 검토하려면 Web UI에서 패키지 세부 정보 페이지를 엽니다.