SUSE Multi-Linux Manager 프록시를 가상 머신으로 배포 - KVM

이 장에서는 SUSE Multi-Linux Manager 5.1 프록시의 이미지를 배포하기 위한 가상 머신 설정을 제공합니다. KVM은 이 설치를 위한 샌드박스로 Virtual Machine Manager (virt-manager)와 결합됩니다.

1. 사용 가능한 이미지

SUSE Multi-Linux Manager 프록시를 배포하는 가장 권장되는 방법은 다음의 사용 가능한 이미지 중 하나를 사용하는 것입니다. 모든 도구는 이러한 이미지에 포함되어 있어 배포를 단순화합니다.

SUSE Multi-Linux Manager 5.1 프록시에 대한 이미지는 SUSE Multi-Linux Manager 5.1 VM 이미지에서 사용할 수 있습니다.

맞춤형 SUSE Multi-Linux Manager 5.1 VM 이미지는 오직 SL Micro 6.1에 대해서만 제공됩니다. SUSE Linux Enterprise Server 15 SP7에서 제품을 실행하려면, https://www.suse.com/download/sles/에서 제공되는 표준 SUSE Linux Enterprise Server 15 SP7 설치 미디어를 사용하고, 그 위에 SUSE Multi-Linux Manager 5.1 확장 프로그램을 활성화하십시오.

Table 1. 사용할 수 있는 프록시 이미지
아키텍처 이미지 형식

aarch64

qcow2, vmdk

x86_64

qcow2, vmdk, raw, 자체 설치 프로그램

2. 가상 머신 관리자(virt-manager) 설정

*virt-manager*를 사용하여 새 가상 머신을 생성할 때 다음 설정을 입력합니다.

이 표에는 최소 요구 사항이 명시되어 있습니다. 이는 단일 클라이언트를 대상으로 한 프록시의 빠른 테스트 설치에 적합합니다.

생산 환경을 사용하고 디스크 공간에 대한 배경 정보가 필요한 경우 하드웨어 요구사항을 참조하십시오.

KVM 설정

설치 방법

기존 디스크 이미지 가져오기

OS:

Linux

버전:

SUSE Multi-Linux Manager-Proxy.x86_64-5.1.*.qcow2

메모리:

최소 *)

CPU의:

최소 *)

스토리지 형식:

.qcow2 40 GB (기본값) 루트 파티션

이름:

테스트 설정

네트워크

브리지 br0

/var/lib/containers/storage/volumes 최소 100 GB. 스토리지 요구사항은 사용할 ISO 배포 이미지, 컨테이너 및 부팅 리포지토리 수에 따라 계산해야 합니다.

3. 초기 KVM 설정

설정은 가상 머신 관리자(virt-manager) 설정을 참조하십시오.

절차 초기 설정 생성 중
  1. 다운로드한 Minimal KVM 이미지를 사용하여 새 가상 머신을 생성하고 `Import existing disk image`를 선택합니다.

  2. RAM 및 CPU 수(RAM 16GB 및 CPU 4개 이상)를 구성합니다.

  3. KVM 머신의 이름을 지정하고 Customize configuration before install 확인란을 선택합니다.

  4. 설치 시작을 클릭하여 이미지에서 부팅합니다.

  5. JeOS 첫 부팅 화면에서 시작을 선택하여 계속합니다.

    jeos firstboot
  6. 키보드 레이아웃을 선택합니다.

    select keyboard
  7. 라이선스 계약에 동의합니다.

    accept license agreement
  8. 시간대를 선택합니다.

    enter timezone
  9. 루트의 비밀번호를 입력합니다.

    root password
  10. 설치가 완료되면 루트로 로그인합니다.

  11. 다음 섹션을 진행합니다.

4. SL Micro 및 SUSE Multi-Linux Manager 5.1 프록시 등록

절차 SL Micro 및 SUSE Multi-Linux Manager 5.1 프록시 등록 중
  1. 가상 머신을 부팅합니다.

  2. `root`로 로그인합니다.

  3. SCC에 SL Micro 등록

    transactional-update register -r <REGCODE> -e <your_email>
  4. 재부팅합니다.

  5. SUSE Multi-Linux Manager 5.1 프록시를 SUSE Customer Center에 등록

    transactional-update register -p Multi-Linux-Manager-Proxy/5.1/x86_64 -r <REGCODE>
  6. 재부팅합니다.

  7. 시스템 업데이트:

    transactional-update
  8. 업데이트가 적용된 경우 재부팅합니다.

  9. 이 단계는 선택 사항입니다. 그러나 인프라에 사용자 정의 영구 스토리지가 필요한 경우 mgr-storage-proxy 도구를 사용하십시오.

    • 자세한 내용은 `mgr-storage-proxy --help`을 참조하십시오. 이 도구는 컨테이너 볼륨 생성 과정을 간소화합니다.

    • 다음 방법으로 명령 사용:

      mgr-storage-proxy <storage-disk-device>

      예:

      mgr-storage-proxy /dev/nvme1n1

      이 명령은 `/var/lib/containers/storage/volumes`에 있는 영구 스토리지 볼륨을 지정된 스토리지 장치로 이동합니다.

      자세한 내용은 다음을 참조하십시오.

5. 프록시용 활성화 키 생성

절차 활성화 키 생성
  1. 시스템  활성화 키로 이동한 후, 키 생성을 클릭합니다.

  2. 프록시 호스트에 대해 SL Micro 6.1 또는 SUSE Linux Enterprise Server 15 SP7를 부모 채널로 하여 활성화 키를 생성합니다. 이 키에는 모든 권장 채널과 프록시를 확장 하위 채널로 포함해야 합니다.

  3. 프록시 호스트를 default 클라이언트로 부트스트래핑합니다.

프록시가 원래 공급업체 채널에만 할당되도록 합니다.

복제된 채널 할당은 현재 지원되지 않습니다.

6. 프록시 구성 생성

SUSE Multi-Linux Manager 프록시의 구성 아카이브는 SUSE Multi-Linux Manager 서버에 의해 생성됩니다. 각 추가 프록시는 자체 구성 아카이브가 필요합니다.

컨테이너화된 SUSE Multi-Linux Manager 프록시의 경우, 새로운 프록시 구성 파일을 작성한 후 변경 사항이 적용되도록 컨테이너를 다시 배포해야 합니다. 이는 SSL 인증서를 포함한 설정을 업데이트하는 과정입니다.

Podman 배포의 경우, SUSE Multi-Linux Manager 프록시의 컨테이너 호스트는 이 프록시 구성을 생성하기 전에 SUSE Multi-Linux Manager 서버에 클라이언트로 등록되어 있어야 합니다.

등록된 클라이언트가 아닌 프록시 FQDN을 사용하여 프록시 컨테이너 구성을 생성하는 경우(예: Kubernetes 사용 사례), 시스템 목록에 새로운 시스템 항목이 나타납니다. 이 새로운 항목은 이전에 입력된 프록시 FQDN 값 아래에 표시되며 Foreign 시스템 유형이 됩니다.

주변 서버는 항상 타사 SSL 인증서를 사용합니다. 허브 서버가 주변 서버를 위한 인증서를 생성한 경우, 각 프록시의 인증서도 생성해야 합니다. 다음 명령을 실행하여 이를 수행할 수 있습니다.

mgrctl exec -ti -- rhn-ssl-tool --gen-server --dir="/root/ssl-build" --set-country="COUNTRY" \
  --set-state="STATE" --set-city="CITY" --set-org="ORGANIZATION" \
  --set-org-unit="ORGANIZATION UNIT" --set-email="name@example.com" \
  --set-hostname=PROXY --set-cname="proxy.example.com"

사용할 파일은
* `/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT`는 루트 CA로,
* `/root/ssl-build/<hostname>/server.crt`는 프록시 인증서로,
* `/root/ssl-build/<hostname>/server.key`는 프록시 인증서의 키로 사용됩니다.

6.1. Web UI을 사용하여 프록시 구성 생성

절차 Web UI을 사용하여 프록시 컨테이너 구성 생성
  1. Web UI에서 시스템  프록시 구성으로 이동하여 필요한 데이터를 입력합니다.

  2. Proxy FQDN 필드에 프록시의 정규화된 도메인 이름을 입력합니다.

  3. Parent FQDN 필드에 SUSE Multi-Linux Manager 서버 또는 다른 SUSE Multi-Linux Manager 프록시의 정규화된 도메인 이름을 입력합니다.

  4. Proxy SSH port 필드에 SUSE Multi-Linux Manager 프록시에서 SSH 서비스가 수신 대기하는 SSH 포트를 입력합니다. 기본값인 8022를 유지하는 것이 좋습니다.

  5. Max Squid cache size [MB] 필드에 Squid 캐시에 대해 허용되는 최대 크기를 입력합니다. 컨테이너에 대해 사용 가능한 저장소의 최대 80%를 사용하는 것이 좋습니다.

    2 GB는 기본 프록시 Squid 캐시 크기를 나타냅니다. 이것은 귀하의 환경에 맞게 조정해야 합니다.

  6. SSL certificate 선택 목록에서 SUSE Multi-Linux Manager 프록시에 대해 새 서버 인증서를 생성할지 기존 인증서를 사용할지 선택합니다. 생성된 인증서는 SUSE Multi-Linux Manager 내장(자체 서명) 인증서로 간주할 수 있습니다.

    선택에 따라 새 인증서를 생성하기 위해 CA 인증서에 서명할 경로 또는 프록시 인증서로 사용할 기존 인증서 및 해당 키에 대한 경로를 입력하십시오.

    서버에서 생성된 CA 인증서는 /var/lib/containers/storage/volumes/root/_data/ssl-build 디렉토리에 저장됩니다.

    기존 또는 사용자 정의 인증서와 기업 및 중간 인증서의 개념에 대한 자세한 내용은 SSL 인증서 임포트에서 확인하십시오.

  7. 생성을 클릭하여 SUSE Multi-Linux Manager 서버에 새 프록시 FQDN을 등록하고 컨테이너 호스트에 대한 세부사항이 포함된 구성 아카이브(config.tar.gz)를 생성합니다.

  8. 잠시 후 다운로드할 파일이 표시됩니다. 이 파일을 로컬에 저장하십시오.

6.2. spacecmd 및 자체 서명 인증서를 사용하여 프록시 구성 생성

`spacecmd`를 사용하여 프록시 구성을 생성할 수 있습니다.

절차 spacecmd 및 자체 서명 인증서를 사용하여 프록시 구성 생성
  1. 컨테이너 호스트에 SSH로 연결합니다.

  2. 서버 및 프록시 FQDN을 바꾸는 다음 명령을 실행합니다.

    mgrctl exec -ti 'spacecmd proxy_container_config_generate_cert -- dev-pxy.example.com dev-srv.example.com 2048 email@example.com -o /tmp/config.tar.gz'
  3. 서버 컨테이너에서 생성된 구성을 복사합니다.

    mgrctl cp server:/tmp/config.tar.gz .

6.3. spacecmd 및 사용자 정의 인증서를 사용하여 프록시 구성 생성

기본 자체 서명 인증서가 아닌 사용자 정의 인증서에 대해 `spacecmd`를 사용하여 프록시 구성을 생성할 수 있습니다.

절차 spacecmd 및 사용자 정의 인증서를 사용하여 프록시 구성 생성
  1. 서버 컨테이너 호스트에 SSH로 연결합니다.

  2. 서버 및 프록시 FQDN을 바꾸는 다음 명령을 실행합니다.

    for f in ca.crt proxy.crt proxy.key; do
      mgrctl cp $f server:/tmp/$f
    done
    mgrctl exec -ti 'spacecmd proxy_container_config -- -p 8022 pxy.example.com srv.example.com 2048 email@example.com /tmp/ca.crt /tmp/proxy.crt /tmp/proxy.key -o /tmp/config.tar.gz'
  3. 설정에서 중간 CA를 사용하는 경우, 이를 복사하여 -i 옵션과 함께 명령에 포함시킵니다(필요한 경우 여러 번 제공 가능).

    mgrctl cp intermediateCA.pem server:/tmp/intermediateCA.pem
    mgrctl exec -ti 'spacecmd proxy_container_config -- -p 8022 -i /tmp/intermediateCA.pem pxy.example.com srv.example.com 2048 email@example.com /tmp/ca.crt /tmp/proxy.crt /tmp/proxy.key -o /tmp/config.tar.gz'
  4. 서버 컨테이너에서 생성된 구성을 복사합니다.

    mgrctl cp server:/tmp/config.tar.gz .

7. 프록시 구성 전송

Web UI은 구성 아카이브를 생성합니다. 이 아카이브는 프록시 컨테이너 호스트에서 사용할 수 있어야 합니다.

절차 프록시 구성 복사
  1. 아직 완료하지 않았다면, 이전 단계에서 생성된 구성 아카이브(config.tar.gz)를 서버 컨테이너에서 서버 호스트로 복사하세요.

    mgrctl cp server:/root/config.tar.gz .
  2. 아직 완료하지 않은 경우 서버 호스트에서 프록시 호스트로 파일을 복사합니다.

    scp config.tar.gz <proxy-FQDN>:/root

8. SUSE Multi-Linux Manager 5.1 프록시 시작

이제 mgrpxy 명령으로 컨테이너를 시작할 수 있습니다:

절차 프록시 시작 및 상태 확인
  1. 다음을 호출하여 프록시 시작:

    mgrpxy start
  2. 다음을 호출하여 컨테이너 상태 확인:

    mgrpxy status

    5개의 SUSE Multi-Linux Manager 프록시 컨테이너가 있어야 하며, proxy-pod 컨테이너 파드의 일부여야 합니다:

    • proxy-salt-broker

    • proxy-httpd

    • proxy-tftpd

    • proxy-squid

    • proxy-ssh

8.1. 서비스에 사용자 정의 컨테이너 이미지 사용

기본적으로 SUSE Multi-Linux Manager 프록시 스위트는 각 서비스에 대해 동일한 이미지 버전과 레지스트리 경로를 사용하도록 설정되어 있습니다. 그러나 -tag 및 `-image`으로 끝나는 설치 매개변수를 사용하여 특정 서비스에 대한 기본값을 재정의할 수 있습니다.

예를 들어, 다음과 같이 사용합니다.

mgrpxy install podman --httpd-tag 0.1.0 --httpd-image registry.opensuse.org/uyuni/proxy-httpd /path/to/config.tar.gz

httpd 서비스에 대한 구성 파일을 조정하며, 여기서 `registry.opensuse.org/uyuni/proxy-httpds`은(는) 사용할 이미지이고 `0.1.0`은(는) 버전 태그이며, 그 후 서비스를 다시 시작합니다.

값을 기본값으로 재설정하려면 해당 파라미터 없이 설치 명령을 다시 실행합니다.

mgrpxy install podman /path/to/config.tar.gz

이 명령은 먼저 모든 서비스의 구성을 전역 기본값으로 재설정한 다음 다시 로드합니다.