설치 기본 요건 개요

Anthos clusters on bare metal의 설치 기본 요건은 다음과 같습니다.

  • bmctl 도구를 실행하는 워크스테이션 머신의 기본 요건
  • Anthos clusters on bare metal 배포에 포함된 노드 머신의 기본 요건
  • 부하 분산기 머신의 기본 요건
  • Google Cloud 프로젝트의 기본 요건
  • 서비스 계정의 기본 요건

워크스테이션 머신을 클러스터 노드 머신으로 사용하는 경우 두 머신의 기본 요건을 충족해야 합니다.

시작하기 전에

설치 중에 다음 사용자 인증 정보를 제공해야 합니다.

  • 클러스터 노드 머신에 액세스하는 데 필요한 비공개 SSH 키
  • root를 사용하지 않는 경우 클러스터 노드 머신 로그인 이름
  • Google Cloud 서비스 계정 키. 자세한 내용은 서비스 계정 키 만들기 및 관리를 참조하세요.

Anthos clusters on bare metal을 설치하기 전에 필요한 사용자 인증 정보가 있는지 확인하세요.

gcloud에 로그인

  1. gcloud auth application-default 로그인을 사용하여 gcloud에 사용자로 로그인합니다.
  2. gcloud auth application-default login
    
    아래에 설명된 자동 API 사용 설정 및 서비스 계정 생성 기능을 사용하려면 프로젝트 소유자/편집자 역할이 있어야 합니다. 또한 다음 IAM 역할을 사용자에게 추가할 수 있습니다.
    • 서비스 계정 관리자
    • 서비스 계정 키 관리자
    • 프로젝트 IAM 관리자
    • Compute 뷰어
    • 서비스 사용량 관리자
    또는 해당 역할이 할당된 서비스 계정이 이미 있는 경우 다음을 실행합니다.
    export GOOGLE_APPLICATION_CREDENTIALS=JSON_KEY_FILE
    
    JSON_KEY_FILE은 서비스 계정 JSON 키 파일의 경로를 지정합니다.
  3. 클러스터 생성 시 사용할 Google Cloud 프로젝트 ID를 가져옵니다.
  4. export CLOUD_PROJECT_ID=$(gcloud config get-value project)
    

워크스테이션 기본 요건

bmctl 워크스테이션은 다음 기본 요건을 충족해야 합니다.

  • 운영체제가 클러스터 노드 머신에서 실행되는 것과 동일한 지원되는 Linux 배포판입니다.
  • Docker 버전 19.03 이상 설치됨
  • 루트가 아닌 사용자는 docker 그룹의 구성원입니다. 자세한 내용은 루트가 아닌 사용자로 Docker 관리를 참조하세요.
  • gcloud 설치됨
  • 50GB가 넘는 여유 디스크 공간
  • 모든 클러스터 노드 머신에 대한 L3 연결
  • 비밀번호 없이 루트 액세스 권한이 있는 비공개 키로 SSH를 통해 모든 클러스터 노드 머신에 액세스. 직접 또는 sudo를 통해 액세스 가능
  • 제어 영역 VIP에 액세스

노드 머신 기본 요건

노드 머신의 기본 요건은 다음과 같습니다.

  • 운영체제가 지원되는 Linux 배포판 중 하나입니다.
  • 최소 하드웨어 요구사항을 충족합니다.
  • 인터넷 액세스
  • 모든 다른 클러스터 노드 머신에 대한 L3 연결
  • 제어 영역 VIP에 액세스
  • 올바르게 구성된 DNS 네임서버
  • 중복된 호스트 이름이 없습니다.
  • 다음 NTP 서비스 중 하나가 사용 설정되어 작동합니다.
    • chrony
    • ntp
    • ntpdate
    • systemd-timesyncd
  • 작동하는 패키지 관리자: apt, dnf 등
  • SELinux가 비활성 상태입니다. /etc/selinux/config 파일에서 SELINUX=disabled 또는 SELINUX=permissive를 구성하여 머신을 재부팅합니다.
  • CentOS/RHEL에서 firewalld가 비활성 상태입니다. systemctl disable firewalld를 실행하여 사용 중지합니다.
  • Ubuntu에서는 AppArmor 및 UFW(Uncomplicated Firewall)이 비활성화됩니다. systemctl stop apparmor ufw를 실행하여 사용 중지합니다.
  • 노드 머신에 Docker를 설치하지 않았거나 이전 버전이 설치되어 있는 경우 클러스터를 만들 때 Anthos on bare metal 19.03.13 이상을 설치합니다.
  • 다음 디렉터리를 지원하는 파일 시스템에 필요한 용량이 있는지와 Anthos clusters on bare metal을 설치하거나 다시 설치할 때마다 사용률이 90% 미만인지 확인하세요. 설치 프로세스는 필요한 경우 다음과 같은 디렉터리를 만듭니다.
    • /var/lib/docker: 30GiB
    • /var/lib/kubelet: 10GiB
    • /mnt/anthos-system: 25GiB
    • /: 20GiB
    • /var/lib/etcd: 20GiB(제어 영역 노드에만 해당)
  • /var/lib/etcd/etc/kubernetes 디렉터리가 없거나 않거나 비어 있습니다.

Anthos clusters on bare metal을 설치하고 실행하기 위한 기본 요건 외에도 고객은 산업 또는 비즈니스 세그먼트에 적용되는 관련 표준(예: 신용카드를 처리하는 비즈니스에 대한 PCI DSS 요구사항 또는 방위 산업의 비즈니스에 대한 보안 기술 구현 가이드(STIG))을 준수해야 합니다.

부하 분산기 머신 기본 요건

배포에 특수 부하 분산기 노드 풀이 없으면 작업자 노드 또는 제어 영역 노드가 부하 분산기 노드 풀을 빌드하도록 할 수 있습니다. 이 경우 다음과 같은 추가 기본 요건이 적용됩니다.

  • 머신이 동일한 L2 서브넷에 있습니다.
  • 모든 VIP는 부하 분산기 노드 서브넷에 있으며 서브넷의 게이트웨이에서 라우팅할 수 있습니다.
  • 부하 분산기 서브넷의 게이트웨이는 불필요한 ARP를 리슨하여 패킷을 마스터 부하 분산기로 전달해야 합니다.

Google Cloud 프로젝트 기본 요건

Anthos clusters on bare metal을 설치하기 전에 연결된 GCP 프로젝트에 다음 서비스를 사용 설정합니다.

  • anthos.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com
  • monitoring.googleapis.com
  • logging.googleapis.com

bmctl 도구를 사용하여 이러한 서비스를 사용 설정할 수도 있습니다.

서비스 계정 기본 요건

프로덕션 환경에서는 용도별로 서비스 계정을 만들어야 합니다. 베어메탈용 Anthos 클러스터에는 용도에 따라 다음과 같이 다양한 유형의 Google Cloud 서비스 계정이 필요합니다.

  • Container Registry(gcr.io)에 액세스할 때는 특별한 역할이 없어도 됩니다.
  • Fleet에 클러스터를 등록하려면 Google Cloud 프로젝트의 서비스 계정에 roles/gkehub.admin IAM 역할을 부여합니다.
  • Fleet에 연결하려면 Google Cloud 프로젝트의 서비스 계정에 roles/gkehub.connect IAM 역할을 부여합니다.
  • Google Cloud 운영 제품군에 로그 및 측정항목을 전송하려면 Google Cloud 프로젝트의 서비스 계정에 다음 IAM 역할을 부여합니다.

    • roles/logging.logWriter
    • roles/monitoring.metricWriter
    • roles/stackdriver.resourceMetadata.writer
    • roles/monitoring.dashboardEditor

bmctl 도구를 사용하여 이러한 서비스 계정을 만들 수도 있습니다.