인프라 설치

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

소개

이 문서에서는 베어 메탈 머신, 네트워킹, 스토리지 및 운영체제와 같은 인프라 레이어를 담당하는 인프라 운영자에게 Anthos 비공개 모드 설치를 설명합니다. 이 프로세스를 수행하려면 이전 Kubernetes 및 시스템 관리 환경이 필요합니다.

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

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

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

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

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

이 문서를 읽은 후 Anthos 비공개 모드 환경의 설치에 대한 자세한 정보는 Anthos 관리 센터 설치를 참조하세요.

환경 준비

기본 요건

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

Anthos 비공개 모드에 대한 액세스 권한 획득

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

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

오류가 발생할 경우 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=0.9.0-gke.1
gsutil cp gs://anthos-private-mode-release/$VERSION/get-anthos-private-mode.sh .
chmod +x get-anthos-private-mode.sh
./get-anthos-private-mode.sh

# 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]

남은 종속 항목 설치

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

cd anthos-baremetal-private-mode

# Add actl command line tool and bin 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
├── baremetal
   ├── images
   └── package-spec.yaml
├── bin
   ├── actl
   ├── istioctl
   └── nomos
├── bmctl-workspace
   └── admin
       └── admin.yaml
├── 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를 사용하거나 Anthos 비공개 모드 번들 Container Registry를 사용할 수 있습니다.

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

    export REGISTRY_IP=[YOUR_REGISTRY_IP]
    export REGISTRY_PASSWORD=[YOUR_REGISTRY_PASSWORD]
    
    # By default, a "library" public project is created,
    # and you can also create other private projects via the Harbor portal.
    export PRIVATE_REGISTRY=${REGISTRY_IP}/library
    

    각 항목의 의미는 다음과 같습니다.

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

  3. [YOUR_REGISTRY_PASSWORD]는 기존 레지스트리의 비밀번호 또는 새 비밀번호(새 Container Registry를 만드는 경우)입니다.

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

Anthos 비공개 모드 컨테이너 레지스트리 설정

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

  1. 자체 비공개 컨테이너 레지스트리가 없으면 Anthos 비공개 모드 컨테이너 레지스트리를 설치합니다.

    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
    

참고:

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

다음으로 레지스트리에 로그인하여 액세스 권한이 있는지 확인합니다. 오류가 발생하면 몇 초 정도 기다려야 할 수 있습니다.

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

Container Registry에 이미지 업로드

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

  1. Anthos 비공개 모드 컨테이너 이미지를 준비하여 컨테이너 레지스트리에 업로드합니다. 메시지가 표시되면 Use that credential 옵션을 선택합니다.

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