인터넷 제한 환경 준비

인터넷에 연결되지 않은 환경에서 다음과 같은 Tanzu Kubernetes Grid 관리 클러스터 및 워크로드 클러스터를 배포할 수 있습니다.

  • 프록시가 지정된 환경
  • 물리적 인터넷 연결이 없는 에어갭 환경

이 항목에서는 vSphere 또는 AWS에서 인터넷 제한 환경에 관리 클러스터를 배포하는 방법을 설명합니다. 외부 인터넷 연결을 통해 이미지를 끌어올 수 있는 연결된 환경에서 Tanzu Kubernetes Grid를 사용하는 경우에는 이러한 절차를 따를 필요가 없습니다.

참고

이 문서에서는 에어갭 환경에 Tanzu Kubernetes Grid 관리 및 워크로드 클러스터를 배포하는 일반적인 단계를 설명합니다. 에어갭 환경에서 검증된 특정 구성으로 관리 및 워크로드 클러스터를 배포하려면 VMware Tanzu 참조 아키텍처 설명서를 참조하십시오. TKG v2.1 참조 설계는 TKG v2.1 및 v2.2 모두에 적용됩니다.

이 절차를 수행하려면 단일 시스템 또는 다른 시스템을 온라인 및 오프라인 환경의 부트스트랩 시스템으로 사용할 수 있습니다.

(선택 사항) Harbor OVA 다운로드

Harbor 레지스트리를 설치하려면 Harbor OVA 파일을 다운로드합니다.

  1. VMware Customer Connect로 이동한 후 VMware Customer Connect 자격 증명을 사용하여 로그인합니다.
  2. Tanzu Kubernetes Grid 다운로드 페이지를 방문합니다.
  3. VMware Tanzu Kubernetes Grid 행에서 다운로드로 이동(Go to Downloads)을 클릭합니다.
  4. 버전 선택(Select Version) 드롭다운에서 2.2.0을 선택합니다.
  5. 제품 다운로드(Product Downloads)에서 Harbor OVA 섹션으로 스크롤한 후 지금 다운로드(Download)를 클릭합니다.
  6. (선택 사항) 다운로드한 파일이 원래 파일과 달라지지 않는지 확인합니다. VMware는 각 다운로드에 SHA-1, SHA-256, MD5 체크섬을 제공합니다. 이러한 체크섬을 가져오려면 다운로드하려는 항목 아래에서 자세히 읽기(Read More)를 클릭합니다. 자세한 내용은 암호화 해시 사용을 참조하십시오.

일반적인 사전 요구 사항

인터넷이 제한된 환경에서 관리 클러스터 및 워크로드 클러스터를 배포하려면 먼저 다음이 있어야 합니다.

  • 다음과 같은 인터넷 연결 Linux 부트스트랩 시스템:
    • 인터넷이 제한된 환경에 있지 않거나 프록시 서버 허용 목록에 있는 도메인에 액세스할 수 있습니다.
    • 최소 2GB RAM, vCPU 2개, 45GB 하드 디스크 공간이 있습니다.
    • Tanzu CLI가 설치되어 있습니다. Tanzu CLI 및 기타 도구 설치를 참조하여 인터넷 연결 시스템에 Tanzu CLI 바이너리를 다운로드하고, 압축을 풀고, 설치합니다.
  • 클러스터 VM이 개인 레지스트리의 이미지에 액세스하는 방법:
    • 프록시가 지정된 환경: 클러스터 VM이 레지스트리에 액세스할 수 있도록 하는 송신 프록시 서버입니다.
      • 프록시 설정된 환경에서 관리 클러스터를 배포할 때 클러스터 구성 파일의 TKG_*_PROXY 변수를 프록시 서버의 주소로 설정하고 인증서가 자체 서명된 경우 프록시 서버의 CA에 TKG_PROXY_CA_CERT를 설정합니다. 프록시 구성을 참조하십시오.
    • 에어갭 환경: 레지스트리가 이미지로 채워진 후 개인 레지스트리를 에어갭 뒤에 가져오기 위한 USB 썸 드라이브 또는 기타 매체입니다.
  • USB 썸 드라이브 또는 기타 휴대용 오프라인 스토리지 디바이스.

vSphere 사전 요구 사항 및 아키텍처

이 문서에서는 에어갭 환경의 vSphere 네트워킹에 Tanzu Kubernetes Grid 관리 및 워크로드 클러스터를 배포하는 일반적인 단계를 설명합니다. 에어갭 환경의 vSphere 네트워킹에서 특정하고 검증된 구성으로 클러스터를 배포하려면 VMware Tanzu Kubernetes Grid 2.1 에어갭 참조 설계 및 배포 문서의 에어갭 환경에서 VMware Tanzu Kubernetes Grid on vSphere 네트워킹 참조 설계에어갭 환경의 vSphere 네트워킹에 Tanzu Kubernetes Grid 배포를 참조하십시오. TKG v2.1 참조 설계는 TKG v2.1 및 v2.2 모두에 적용됩니다.

vSphere 아키텍처

vSphere에 인터넷 제한 Tanzu Kubernetes Grid 설치에는 여기에 표시된 대로 주요 구성 요소 간의 방화벽과 통신이 있습니다.

참고

다음 다이어그램에서는 온라인 및 오프라인 환경에서 서로 다른 부트스트랩 시스템이 사용되는 시나리오에 대해 설명합니다.

다이어그램: vSphere에서 에어갭 TKG

vSphere에서 위의 일반 사전 요구 사항 외에 다음을 수행해야 합니다.

  • 노드 VM이 생성된 OVA를 vSphere로 업로드합니다. vSphere에 관리 클러스터 배포의 기본 이미지 템플릿을 vSphere로 가져오기를 참조하십시오.

    VM이 생성된 후 기본 사용자 이름/암호를 사용하여 로그인할 수 없는 경우 Photon OS의 경우 분실한 루트 암호 재설정에 설명된 대로 Gnu GRUB를 사용하여 암호를 재설정합니다.

  • jumpbox에 루트로 로그인하고 다음과 같이 원격 ssh를 사용하도록 설정합니다.

    1. editor. nano /etc/ssh/sshd_config에서 /etc/ssh/sshd_config 파일을 엽니다.
    2. 파일의 인증 섹션에 PermitRootLogin yes라는 라인을 추가합니다. 이 경우 라인이 존재합니다. "#"을 제거합니다.
    3. 업데이트된 /etc/ssh/sshd_config 파일을 저장합니다.
    4. service sshd restart를 사용하여 sshd 서버를 다시 시작합니다.
  • 다음과 같이 Harbor, Docker 또는 Artifactory와 같은 개인 Docker 호환 컨테이너 레지스트리를 설치하고 구성합니다. 이 레지스트리는 Tanzu Kubernetes Grid 외부에서 실행되며 클러스터의 공유 서비스로 배포된 레지스트리와는 별개입니다.

    • 방화벽에 레지스트리를 설치합니다.
    • 신뢰할 수 있는 CA에서 서명한 SSL 인증서 또는 자체 서명된 인증서를 사용하여 컨테이너 레지스트리를 구성할 수 있습니다.
    • 레지스트리는 사용자 인증을 구현하지 않아야 합니다. 예를 들어 Harbor 레지스트리를 사용하는 경우 프로젝트는 비공개가 아닌 공용 프로젝트여야 합니다.
    • vSphere에 Harbor을 설치하려면 다음을 수행합니다.
  • 인터넷이 제한된 환경으로 사용할 오프라인 서브넷을 구성하고 jumpbox와 연결합니다.

  • 사설 IP를 새 인스턴스에 할당하도록 DHCP 서버를 설정합니다.

  • 데이터 센터에 vSphere Distributed Switch를 생성하여 여러 호스트의 네트워킹 구성을 중앙 위치에서 한 번에 처리할 수 있습니다.

AWS 사전 요구 사항 및 아키텍처

이 문서에서는 에어갭 환경의 AWS에 Tanzu Kubernetes Grid 관리 및 워크로드 클러스터를 배포하는 일반적인 단계를 설명합니다. 에어갭 환경의 AWS에서 특정하고 검증된 구성으로 클러스터를 배포하려면 VMware Tanzu Kubernetes Grid 2.1 에어갭 참조 설계 및 배포 문서의 VMware Tanzu Kubernetes Grid on AWS 에어갭 참조 설계에어갭 환경의 AWS에 Tanzu Kubernetes Grid 배포를 참조하십시오. TKG v2.1 참조 설계는 TKG v2.1 및 v2.2 모두에 적용됩니다.

AWS 아키텍처

AWS(Amazon Web Services)에 프록시된 Tanzu Kubernetes Grid 설치에는 여기에 표시된 대로 주요 구성 요소 간에 방화벽과 통신이 있습니다. SG(보안 그룹)는 제어부와 워크로드 도메인 간에, 그리고 워크로드 구성 요소와 제어부 구성 요소 간에 자동으로 생성됩니다.

다이어그램: AWS에서 에어갭 TKG

위의 일반 사전 요구 사항 외에 AWS에 프록시가 지정된 상태로 설치하는 경우 다음도 필요합니다.

  • 아래 설명된 대로 인터넷 게이트웨이("오프라인 VPC")가 없는 AWS VPC입니다.
    • 인터넷에 연결된 부트스트랩 시스템이 이 오프라인 VPC 내의 IP 주소에 액세스할 수 있어야 합니다. 자세한 내용은 VPC 피어링을 참조하십시오.
  • 다음과 같이 Harbor, Docker 또는 Artifactory와 같은 개인 Docker 호환 컨테이너 레지스트리가 설치되고 구성되어 있습니다. 이 레지스트리는 Tanzu Kubernetes Grid 외부에서 실행되며 클러스터의 공유 서비스로 배포된 레지스트리와는 별개입니다.
    • 방화벽에 레지스트리를 설치합니다.
    • 신뢰할 수 있는 CA에서 서명한 SSL 인증서 또는 자체 서명된 인증서를 사용하여 컨테이너 레지스트리를 구성할 수 있습니다.
    • 레지스트리는 사용자 인증을 구현하지 않아야 합니다. 예를 들어 Harbor 레지스트리를 사용하는 경우 프로젝트는 비공개가 아닌 공용 프로젝트여야 합니다.
    • Harbor를 설치하려면 다음을 수행합니다.
      1. Harbor OVA를 다운로드합니다.
      2. Harbor 설명서의 Harbor 설치 및 구성 지침을 따릅니다.
  • 오프라인 VPC 내에서 실행되는 Linux 부트스트랩 VM은 위의 인터넷 연결 시스템과 유사하게 프로비저닝됩니다.
    • 오프라인 부트스트랩 VM은 프록시 없이 Tanzu Kubernetes Grid에서 직접 생성된 클러스터 VM에 연결할 수 있어야 합니다.

오프라인 VPC를 생성한 후에는 다음 끝점을 추가해야 합니다(VPC 끝점은 VPC와 지원되는 AWS 서비스 간에 개인 연결을 사용하도록 설정합니다).

  • 서비스 끝점:
    • sts
    • ssm
    • ec2
    • ec2messages
    • elasticloadbalancing
    • secretsmanager
    • ssmmessages

서비스 끝점을 VPC에 추가하려면 다음을 수행합니다.

  1. AWS 콘솔에서 VPC 대시보드(VPC Dashboard) > 끝점(Endpoints)으로 이동합니다.
  2. 위의 각 서비스에 대해
    1. 끝점 생성(Create Endpoint)을 클릭합니다.
    2. 서비스를 검색하고 서비스 이름(Service Name) 아래에서 서비스를 선택합니다.
    3. VPC서브넷(Subnets)을 선택합니다.
    4. 끝점에 DNS 이름 사용(Enable DNS Name)을 선택합니다.
    5. VPC의 VM이 끝점에 액세스할 수 있도록 허용하는 보안 그룹(Security group)을 선택합니다.
    6. 정책(Policy) > 모든 권한(Full Access)을 선택합니다.
    7. 끝점 생성(Create endpoint)을 클릭합니다.

인터넷 제한 환경 준비

Tanzu Kubernetes Grid를 배포하기 위한 인터넷 제한 환경을 준비하려면 다음 옵션 중 하나를 선택할 수 있습니다.

  • 온라인 및 오프라인 환경을 위한 단일 부트스트랩 시스템.

  • 온라인 및 오프라인 환경을 위한 서로 다른 부트스트랩 시스템.

선택하는 옵션에 따라 다음 표에 설명된 단계를 따르십시오.

단일 부트스트랩 시스템 다른 부트스트랩 시스템
1단계: 온라인 시스템에 격리된 클러스터 플러그인 설치

2단계: 온라인 시스템에 이미지 다운로드

3단계: 온라인 시스템에 Linux용 Tanzu CLI 이미지 다운로드 아니요

4단계: 파일을 오프라인 시스템에 복사 아니요

5단계: 오프라인 시스템에서 파일 압축 풀기 아니요

6단계: 오프라인 시스템에 격리된 클러스터 플러그인 설치 아니요


7단계: 오프라인 시스템의 개인 레지스트리에 로그인

8단계: 개인 레지스트리에 이미지 업로드

1단계: 온라인 시스템에 격리된 클러스터 플러그인 설치

온라인 시스템에서 tanzu plugin sync 명령을 실행하여 isolated-cluster 플러그인을 설치하지 않은 경우에만 이 단계를 수행합니다.

  1. 인터넷에 연결된 Linux 부트스트랩 시스템에 로그인합니다.
  2. isolated-cluster 시스템을 설치합니다.

    tanzu plugin sync
    

2단계: 온라인 시스템에 이미지 다운로드

중요

이 단계를 수행하기 전에 이미지를 다운로드하는 디스크 파티션에 45GB의 사용 가능한 공간이 있는지 확인합니다.

인터넷 연결 Linux 부트스트랩 시스템에서 이미지 번들을 다운로드합니다.

tanzu isolated-cluster download-bundle --source-repo <SOURCE-REGISTRY> --tkg-version <TKG-VERSION> --ca-certificate <SECURITY-CERTIFICATE>

여기서:

  • SOURCE-REGISTRY는 이미지가 저장된 레지스트리의 IP 주소 또는 호스트 이름입니다.
  • TKG-VERSION은 프록시 또는 에어갭 환경에서 배포하려는 Tanzu Kubernetes Grid 버전입니다.
  • SECURITY-CERTIFICATE는 이미지가 저장된 레지스트리의 보안 인증서입니다. 보안 인증서 유효성 검사를 우회하려면 --ca-certificate 대신 --insecure를 사용합니다. 두 문자열은 모두 선택 사항입니다. 값을 지정하지 않으면 시스템에서 기본 서버 보안 인증서의 유효성을 검사합니다.

    예제는 다음과 같습니다.

    tanzu isolated-cluster download-bundle --source-repo projects.registry.vmware.com/tkg --tkg-version v2.2.0
    
    

TAR 파일 형식의 이미지 번들과 publish-images-fromtar.yaml 파일이 온라인 시스템에 다운로드됩니다. YAML 파일은 이미지와 TAR 파일 간의 매핑을 정의합니다.

3단계: 온라인 시스템에 Linux용 Tanzu CLI 이미지 다운로드

온라인 시스템에 Linux용 Tanzu CLI 이미지(ZIP 파일) 다운로드:

  1. 온라인 시스템에서 VMware Customer Connect로 이동하여 VMware Customer Connect 자격 증명으로 로그인합니다.
  2. Tanzu Kubernetes Grid 다운로드 페이지를 방문합니다.
  3. VMware Tanzu Kubernetes Grid 행에서 다운로드로 이동(Go to Downloads)을 클릭합니다.
  4. 버전 선택(Select Version) 드롭다운에서 2.2.0을 선택합니다.
  5. 제품 다운로드(Product Downloads)에서 VMware Tanzu CLI 2.2 CLI 레이블이 지정된 섹션으로 스크롤한 후 Linux용 VMware Tanzu CLI(VMware Tanzu CLI for Linux)를 찾습니다.

  6. 지금 다운로드(Download Now)를 클릭합니다. tanzu-cli-bundle-linux-amd64.tar.gz ZIP 파일이 로컬 시스템에 다운로드됩니다.

  7. (선택 사항) 다운로드한 파일이 원래 파일과 달라지지 않는지 확인합니다. VMware는 각 다운로드에 SHA-1, SHA-256, MD5 체크섬을 제공합니다. 이러한 체크섬을 가져오려면 다운로드하려는 항목 아래에서 자세히 읽기(Read More)를 클릭합니다. 자세한 내용은 암호화 해시 사용을 참조하십시오.

4단계: 파일을 오프라인 시스템에 복사

USB 썸 드라이브 또는 기타 스토리지 매체를 통해 프록시 또는 에어갭 환경의 부트스트랩 시스템인 오프라인 시스템에 다음 파일을 복사합니다.

  • 이미지 TAR 파일
  • YAML 파일
  • tanzu-cli-bundle-linux-amd64.tar.gz ZIP 파일

5단계: 오프라인 시스템에서 파일 압축 풀기

오프라인 부트스트랩 시스템에서 TAR 파일의 압축을 tanzu 디렉토리로 풉니다.

tar -xvf tanzu-cli-bundle-linux-amd64.tar.gz -C $HOME/tanzu
cd $HOME/tanzu/cli
sudo install core/v0.29.0/tanzu-core-linux_amd64 /usr/local/bin/tanzu
tar -xvf tanzu-framework-plugins-standalone-linux-amd64.tar.gz

6단계: 오프라인 시스템에 격리된 클러스터 플러그인 설치

오프라인 부트스트랩 시스템에 isolated-cluster 플러그인을 설치합니다.

tanzu plugin install isolated-cluster --local standalone-plugins/

7단계: 오프라인 시스템의 개인 레지스트리에 로그인

Docker를 통해 오프라인 시스템의 개인 레지스트리에 로그인합니다.

docker login <URL>

여기서 URL 이미지가 프록시 또는 에어갭 환경에 저장되는 개인 저장소의 URL입니다.

8단계: 개인 레지스트리에 이미지 업로드

이미지 번들을 오프라인 시스템에 업로드합니다.

tanzu isolated-cluster upload-bundle --source-directory <SOURCE-DIRECTORY> --destination-repo <DESTINATION-REGISTRY> --ca-certificate <SECURITY-CERTIFICATE>

여기서:

  • SOURCE-DIRECTORY는 이미지 TAR 파일이 저장되는 위치의 경로입니다.
  • DESTINATION-REGISTRY는 이미지가 에어갭 환경에서 호스팅되는 개인 레지스트리의 경로입니다.
  • SECURITY-CERTIFICATE는 이미지가 프록시 또는 에어갭 환경에서 호스팅되는 개인 레지스트리의 보안 인증서입니다. 보안 인증서 유효성 검사를 우회하려면 --ca-certificate 대신 --insecure를 사용합니다. 두 문자열은 모두 선택 사항입니다. 값을 지정하지 않으면 시스템에서 기본 서버 보안 인증서의 유효성을 검사합니다.

예제는 다음과 같습니다.

tanzu isolated-cluster upload-bundle --source-directory ./ --destination-repo hostname1 --ca-certificate /tmp/registryca.crt

후속 작업

다음 구성 파일 참조 변수를 사용하여 이미지를 이동한 위치로 레지스트리를 구성합니다.

  • TKG_CUSTOM_IMAGE_REPOSITORY
  • TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE 또는 TKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY.

이러한 구성 변수에 대한 자세한 내용은 개인 이미지 레지스트리 구성을 참조하십시오.

참고: tanzu config set env.CONFIG-VARIABLE 명령은 나중에 Tanzu CLI를 사용할 때 레지스트리를 구성하고 환경 변수를 유지합니다. 자세한 내용은 Tanzu CLI 참조의 tanzu config set을 참조하십시오.

이제 인터넷이 제한된 환경에서 Tanzu Kubernetes Grid 관리 클러스터를 배포 또는 업그레이드하고 vSphere 또는 AWS에서 워크로드 클러스터 배포를 시작할 준비가 되었습니다.

에어갭 환경에서 검증된 특정 구성으로 관리 및 워크로드 클러스터를 배포하려면 VMware Tanzu 참조 아키텍처 설명서를 참조하십시오. TKG v2.1 참조 설계는 TKG v2.1 및 v2.2 모두에 적용됩니다.

구성 파일을 사용하여 관리 클러스터를 배포하려면 구성 파일에서 관리 클러스터 배포를 참조하십시오.

업그레이드의 일부로 이 절차를 수행한 경우 Tanzu Kubernetes Grid 업그레이드를 참조하십시오.

check-circle-line exclamation-circle-line close-line
Scroll to top icon