연결 해제 모드에서 실행 중인 Anthos 인프라 설치

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

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

소개

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

연결된 버전의 Anthos on bare metal과 비교하여, 연결 해제 모드에서 실행되는 Anthos에는 세 가지 추가 구성 요소가 있습니다.

  • 모든 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 running in disconnected mode
gcloud auth login

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

# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.11/installing/infrastructure#download
export INSTALLER_DIGEST=1b8b1a8a596c0cbadd8aa2c0fc1bb2217d2f22d3d1f27f19b76e3f158e394e54
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는 로컬 Container Registry에 Anthos 컨테이너 이미지를 저장하여 작동합니다. 자체 기존 Container Registry를 사용하거나 연결 해제 모드의 번들 Container Registry에서 실행되는 Anthos를 사용할 수 있습니다.

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

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 주소입니다. 관리 워크스테이션의 연결 해제 모드 Container Registry에서 실행 중인 Anthos를 설치하고 사용하려면 여기에서 관리자 워크스테이션 IP 주소를 사용합니다.

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

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

연결 해제 모드 Container Registry에서 실행되는 Anthos 설정

이 섹션에서는 관리자 워크스테이션에 비공개 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.10에는 세 가지 Google Cloud Marketplace 솔루션인 PostgreSQL, Redis, Kafka를 위한 번들로 묶인 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
    actl packages push --private-registry=${PRIVATE_REGISTRY} \
      ~/anthos-baremetal-private-mode/services/third_party-kafka/package-spec.yaml
    
  2. 연결 해제 모드로 실행되는 Anthos Helm 차트를 Container Registry에서 가져오려면 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에서 연결 해제된 모드 Helm 차트로 실행 중인 Anthos를 가져오고 내보냅니다.

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

다음 단계