Anthos 비공개 모드 인프라 설치

이 페이지는 인프라 운영자용으로 작성되었습니다.

Anthos 비공개 모드는 인터넷과 물리적으로 차단된 환경에서 인터넷과 완전히 격리된 Anthos 버전입니다. Anthos 비공개 모드를 사용하면 규제가 심한 워크로드를 온프레미스에서 실행하는 동시에 클라우드 기반 인프라의 다양한 이점을 활용할 수 있습니다.

소개

Anthos 비공개 모드 아키텍처는 연결된 버전의 Anthos on bare metal 아키텍처와 유사합니다. 즉, 사용자 클러스터를 만들고 관리하는 데 사용하는 관리자 클러스터가 있습니다. 워크로드가 사용자 클러스터에서 실행됩니다. Anthos 비공개 모드 배포를 설치하고 관리하는 데 필요한 도구가 포함된 단일 머신인 관리자 워크스테이션도 있습니다.

연결된 버전의 Anthos on bare metal과 비교할 경우 Anthos 비공개 모드는 구성요소 3개를 추가로 제공합니다.

  • 모든 Anthos 컨테이너 이미지를 저장하기 위해 관리자 워크스테이션에서 실행되는 선택적 Container Registry(Container Registry에 대한 액세스 권한이 없는 시나리오에서 필요함)
  • Anthos 비공개 모드를 설치하고 기타 관리 태스크를 수행하는 데 도움이 되는 actl 명령줄 도구
  • 승인 및 인증, 관측 가능성, 멀티 클러스터 Anthos 기능 관리를 도와주는 Anthos 관리 센터입니다. 관리 센터에는 관리 클러스터에서 실행되는 웹 기반 Console이 포함됩니다. 관리 센터 콘솔의 사용자 인터페이스를 사용하면 머신, 주소 풀, 사용자 클러스터를 포함하여 Anthos 배포를 구성하는 모든 리소스를 관리할 수 있습니다. 또한 관리 센터 콘솔을 사용하여 Anthos 기능을 관리하고 워크로드를 모니터링할 수 있습니다.

Anthos 비공개 모드 아키텍처를 설명하는 다이어그램

그림: Anthos 비공개 모드 아키텍처 그림

환경 준비

제품 출시에 대해 액세스 권한을 얻고, 최신 버전을 다운로드하고, 모든 종속 항목을 설치합니다.

시작하기 전에

이 페이지의 안내를 살펴보기 전에 Anthos 비공개 모드에 대한 기술 요구사항이 충족되었는지 확인하세요.

Anthos 비공개 모드 액세스

Google에서 Anthos 비공개 모드 출시 버전에 대한 액세스 권한을 부여해야 합니다. 다운로드 저장소에 대한 액세스 권한을 부여할 수 있도록 각 테스터의 이메일 주소를 Google 담당자에게 제공합니다. 이러한 이메일 주소는 Google 계정이어야 합니다.

Google 담당자는 사용자에게 Anthos 비공개 모드 출시 버전에 대한 액세스 권한이 있음을 확인한 후 다음 명령어를 실행하여 Anthos 비공개 모드 출시 버전을 다운로드할 수 있는 권한이 있는지 확인합니다.

gsutil ls gs://anthos-private-mode-release/

오류가 발생할 경우 gcloud auth list 명령어를 실행하여 gsutil에서 Google 담당자에게 제공된 것과 동일한 Google 계정을 사용하고 있는지 확인합니다.

또는 최신 출시 버킷으로 이동하여 올바른 권한이 있는지 확인할 수 있습니다. 이전에 제공한 Google 계정으로 로그인해야 합니다.

Anthos 비공개 모드 출시 버전에 액세스하는 데 문제가 있으면 Google 담당자에게 문의하세요.

Anthos 비공개 모드 다운로드

이 섹션에서는 각각 여러 기가바이트의 여러 파일에 포함된 Anthos 비공개 모드 출시 버전을 다운로드합니다. 인터넷 연결 상태에 따라 다운로드하는 데 시간이 오래 걸릴 수 있습니다.

Anthos 비공개 모드 다운로드

관리자 워크스테이션에서 다음 명령어를 실행합니다.

# Login with the account granted access to Anthos private mode
gcloud auth login

# Download the script which helps download all the latest components
export VERSION=1.9.3-gke.0

# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.9/installing/infrastructure#download
export INSTALLER_DIGEST=ad410b7450e8ecaaa94821592dd0f49a1ade75e460e9ab18205c3b1364c6e910
export INSTALLER=get-anthos-private-mode-$VERSION.sh
gsutil cp gs://anthos-private-mode-release/$VERSION/$INSTALLER .
if [[ -n "$INSTALLER_DIGEST" ]]; then echo "$INSTALLER_DIGEST $INSTALLER" | sha256sum -c; fi && chmod +x $INSTALLER && ./$INSTALLER

# If you are working on a workstation shared with other users,
# we recommend that you revoke your credentials after downloading the release.
gcloud auth revoke YOUR_EMAIL_ADDRESS

남은 종속 항목 설치

Anthos 비공개 모드 다운로드가 완료되면 다음 명령어를 실행합니다.

cd anthos-baremetal-private-mode

# Add actl command line tool and tools directory to the PATH
export PATH=$PWD/bin:$PATH

# Download Harbor offline installer
curl -SL \
  https://github.com/goharbor/harbor/releases/download/v2.2.0/harbor-offline-installer-v2.2.0.tgz \
  --output "local-registry/harbor-offline-installer.tgz"

# Install docker-compose
curl -SL \
  https://github.com/docker/compose/releases/download/1.28.5/docker-compose-Linux-x86_64 \
  --output "local-registry/docker-compose"

유일하게 인터넷 연결이 필요한 두 단계입니다. 인터넷에서 완전히 격리된 환경에 Anthos 비공개 모드를 설치하는 경우 다음 중 하나를 수행할 수 있습니다.

  • 먼저 위와 같이 관리자 워크스테이션을 인터넷에 연결하고 출시 버전을 다운로드합니다. 그런 다음 워크스테이션의 인터넷 연결을 해제하고 인터넷과 물리적으로 차단된 환경에 연결합니다.
  • 인터넷에 연결된 개발자 워크스테이션에서 출시 버전을 다운로드하고, 휴대용 스토리지 기기에 복사하고, 이 휴대용 스토리지 기기를 인터넷과 물리적으로 차단된 관리자 워크스테이션으로 이동합니다.

Anthos 비공개 모드 출시 버전의 콘텐츠를 살펴볼 수 있습니다.

./anthos-baremetal-private-mode
├── actl-workspace
│   └── admin
│       └── admin.yaml
├── baremetal
│   ├── images
│   └── package-spec.yaml
├── bin
│   ├── actl
│   ├── istioctl
│   └── nomos
├── local-registry
│   ├── cleanup.sh
│   ├── docker-compose
│   ├── generate-certs.sh
│   ├── harbor-offline-installer.tgz
│   └── install.sh
├── managementcenter
│   ├── images
│   └── management-center.yaml
├── services
│   ├── anthos-config-management
│   ├── anthos-service-mesh
│   └── images
├── third_party
└── updatecenter
    └── images
  • local-registry 디렉터리에는 로컬 Container Registry를 설정하기 위한 리소스가 포함되어 있습니다.
  • managementcenter, services, baremetal 같은 다른 디렉터리에는 관리자 클러스터 및 Anthos 관리 센터를 설치하는 데 필요한 모든 항목이 포함됩니다.

선택사항: actl 셸 자동 완성 사용 설정

actl 명령줄 도구는 Bash, Zsh, Fish에 대한 셸 자동 완성을 지원합니다. Ubuntu/Debian, bash 등에서 다음과 같이 actl help completion의 안내에 따라 셸에 완성 기능을 설정할 수 있습니다.

# One time setup: install bash-completion
sudo apt update && sudo apt install bash-completion

# In ~/.bashrc
source /etc/profile.d/bash_completion.sh
source <(actl completion bash)

Container Registry 설정

Anthos 비공개 모드는 Anthos 컨테이너 이미지를 로컬 Container Registry에 저장하면 작동합니다. 자체 기존 Container Registry를 사용하거나 Anthos 비공개 모드 번들 Container Registry를 사용할 수 있습니다.

다음 환경 변수를 내보냅니다.

export REGISTRY_HOST=REGISTRY_HOST
export REGISTRY_PASSWORD=REGISTRY_PASSWORD

# By default, a public project called 'library' is created,
# and you can also create other public or private projects with the container registry portal.
export PRIVATE_REGISTRY=${REGISTRY_HOST}/library

다음을 바꿉니다.

  • REGISTRY_HOST는 레지스트리 IP 주소입니다. 관리자 워크스테이션의 Anthos 비공개 모드 Container Registry를 설치 및 사용하려면 여기에서 관리자 워크스테이션 IP 주소를 사용합니다.

  • REGISTRY_PASSWORD는 레지스트리 비밀번호에 설정한 값입니다.

자체 Container Registry를 사용하려면 Container Registry에 이미지 업로드 섹션으로 건너뜁니다.

Anthos 비공개 모드 Container Registry 설정

이 섹션에서는 관리자 워크스테이션에 비공개 Container Registry를 설정합니다. 관리자 워크스테이션에서 아래의 모든 명령어를 실행합니다.

  1. 자체 비공개 Container Registry가 없으면 Anthos 비공개 모드 Container Registry를 설치합니다.

    cd ~/anthos-baremetal-private-mode
    
    # Move it to a path under $PATH
    chmod a+x local-registry/docker-compose
    sudo cp local-registry/docker-compose /usr/bin
    
    # Install local registry
    ./local-registry/install.sh
    
  2. 레지스트리에 로그인하여 액세스 권한이 있는지 확인합니다. 오류가 발생하면 몇 초 정도 기다려야 할 수 있습니다.

    docker login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
    

참고:

  • Anthos 비공개 모드 Container Registry는 Anthos 비공개 모드의 설치에만 사용됩니다. 아직은 프로덕션 용도로 사용할 수 없습니다.
  • 기본 공개 레지스트리 프로젝트는 library이며 기본적으로 사용할 수 있습니다. 그러나 원하는 경우 레지스트리에 로그인하고 새 프로젝트를 만들 수 있습니다.
  • Container Registry는 서비스가 시작된 후 https://REGISTRY_HOST/에서 사용할 수 있습니다. 로그인 사용자 인증 정보는 사용자 이름 admin 및 비밀번호용 REGISTRY_PASSWORD입니다.
  • 사용자 인증 정보는 암호화되지 않은 상태로 /home/<USER>/.docker/config.json에 저장됩니다.

Container Registry에 이미지 업로드

이 섹션에서는 Anthos 비공개 모드 컨테이너 이미지를 Container Registry에 업로드합니다.

Anthos 비공개 모드 컨테이너 이미지를 준비하여 Container Registry에 업로드합니다. 메시지가 표시되면 Use that credential 옵션을 선택하거나 새 사용자 인증 정보를 입력합니다.

actl images push --private-registry=${PRIVATE_REGISTRY} \
    --images ~/anthos-baremetal-private-mode

참고: 워크스테이션에서 HTTP 프록시를 사용하는 경우 actl images push 명령어가 작동하려면 다음 환경 변수를 설정 해제해야 할 수 있습니다.

unset http_proxy
unset https_proxy
unset HTTP_PROXY
unset HTTPS_PROXY

선택사항: Helm 차트를 Container Registry에 업로드

이 섹션에서는 선택사항인 Anthos 비공개 모드 Helm 차트를 Container Registry에 업로드합니다. Anthos 비공개 모드 버전 1.9에는 두 가지 Google Cloud Marketplace 솔루션인 PostgreSQL 및 Redis에 대한 번들 Helm 차트가 포함됩니다. 이러한 인기 있는 오픈소스 소프트웨어 스택이 Google에서 패키징되었으며 연결이 해제된 환경에서 실행되도록 설계되었습니다.

  1. Anthos 비공개 모드 Helm 차트를 준비하고 Container Registry에 업로드합니다. 메시지가 표시되면 Use that credential 옵션을 선택하거나 새 사용자 인증 정보를 입력합니다.

    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-postgresql/package-spec.yaml
    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-redis-ha/package-spec.yaml
    
  2. Container Registry에서 Anthos 비공개 모드 Helm 차트를 가져오려면 Helm 실험용 OCI 지원을 사용 설정합니다.

    export HELM_EXPERIMENTAL_OCI=1
    
  3. 비공개 레지스트리에 자체 서명 인증서가 사용되는 경우 시스템에서 인증 기관(CA) 인증서도 업데이트해야 합니다. 자세한 내용은 이 Helm 문제를 참조하세요.

    sudo cp local-registry/ca.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
  4. 레지스트리에 로그인하여 액세스 권한이 있는지 확인합니다.

    helm registry login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
    
  5. Container Registry에서 Anthos 비공개 모드 Helm 차트를 가져오고 내보냅니다.

    helm chart pull ${PRIVATE_REGISTRY}/<CHART>:<TAG>
    helm chart export ${PRIVATE_REGISTRY}/<CHART>:<TAG> .
    

다음 단계