이전 버전의 GKE On-Prem 문서를 보고 있습니다. 최신 문서 보기

실행 전 검사 실행

이 주제에서는GKE On-Prem 구성 파일에 대해 실행 전 확인을 실행하는 방법을 설명합니다.

개요

설치 중에 gkectl create-config를 실행하여 GKE On-Prem 구성 파일을 생성합니다. 구성 파일을 통해 설치를 유도할 수 있습니다. 즉, 사용자는 vSphere 환경, 네트워크 및 부하 분산기, 클러스터의 모양을 제공합니다. 관리 워크스테이션을 만들기 전이나 후에 구성 파일을 생성할 수 있습니다. 특정 검사를 통과하려면 관리 워크스테이션에서 검사를 수행해야 합니다.

환경 및 클러스터 요구 사항에 맞게 파일을 수정한 후 파일을 사용하여 온프렘 환경에서 클러스터를 만듭니다.

클러스터를 만들기 전에 gkectl check-config를 실행하여 여러 실행 전 검사로 구성 파일의 유효성을 검사합니다.

실행 전 검사 모드 및 유효성 검사 건너뛰기

gkectl check-config의 기본 모드와 빠른 모드는 다음과 같습니다.

  • 기본 모드에서 이 명령어는 각 필드를 포괄적으로 검증합니다. 또한 기본 모드는 유효성 검사의 일환으로 임시 vSphere 가상 머신(VM)을 생성하므로 시간이 더 걸릴 수 있습니다.
  • 빠른 모드에서는 이 명령어가 테스트 VM을 만드는 검사를 건너뛰고 빠른 검사만 실행합니다. --fast 플래그를 전달하여 빠른 모드를 사용 설정합니다.

gkectl check-config --help에 설명된 다른 플래그를 전달하여 특정 유효성 검사를 건너뛸 수 있습니다.

실행 전 검사는 언제 실행해야 하나요?

실행 전 검사는 클러스터를 만들기 전에 미리 실행하는 것이 좋습니다. 실행 전 검사를 미리 실행하면 vSphere 환경과 네트워크를 올바르게 구성했는지 확인할 수 있습니다.

GKE On-Prem 버전 1.2.0-gke.6을 사용하는 경우 gkectl check-config를 두 번 실행합니다.

  1. gkectl check-config --fast를 실행합니다.

  2. gkectl prepare를 실행합니다.

  3. --fast 플래그 없이 gkectl check-config를 다시 실행합니다.

두 번 실행하는 이유는 gkectl prepare가 클러스터 노드 OS 이미지의 VM 템플릿을 사용자의 vSphere 환경에 업로드하기 때문입니다. 전체 유효성 검사 집합을 실행하기 전에 VM 템플릿이 있어야 합니다.

GKE On-Prem 버전 1.2.1 이상에서 check-config 명령어 자체는 VM 템플릿을 업로드하므로 gkectl prepare를 실행하기 전에 전체 유효성 검사 세트를 실행할 수 있습니다.

  1. --fast 플래그 없이 gkectl check-config를 실행합니다.

  2. gkectl prepare를 실행합니다.

실행 전 검사는 파일에 제공된 값의 유효성을 검사합니다. 파일에 대한 실행 전 검사를 실행하기 위해 구성 파일의 모든 필드를 채울 필요는 없습니다. 대신 필드를 채울 때 파일을 반복적으로 검증할 수 있습니다. 예를 들어 vCenter 구성만 확인하려는 경우에는 vcenter 필드만 채우고 해당 필드에 대한 검사를 실행할 수 있습니다.

클러스터를 만든 후에는 GKE On-Prem 구성을 변경할 수 없습니다. 실행 전 검사를 실행하면 클러스터를 만들기 전에 구성에서 문제를 찾고 해결할 수 있습니다.

디버깅을 위해 테스트 VM 보존

GKE On-Prem 버전 1.2.1부터 gkectl check-config 명령어에 --cleanup 플래그가 있습니다.

gkectl check-config가 전체 유효성 검사를 수행하면 테스트 VM과 관련 SSH 키가 생성됩니다. 테스트 VM 및 SSH 키를 디버깅 목적으로 보존하려면 --cleanup를 false로 설정합니다.

--cleanup의 기본값은 참입니다.

실행 전 검사 목록

실행 전 검사는 구성 파일의 각 필드를 검사합니다. 현재 검사는 다음과 같습니다.

카테고리 설명
구성 파일

일반적으로 각 필드와 사양에 예상 형식 및 값이 있는지 확인합니다.

--skip-validation-config 플래그로 건너뜁니다.

--skip-validation-proxy 플래그를 사용하여 proxy 필드 유효성 검사를 건너뜁니다.

인터넷

필수 도메인에 대한 인터넷 액세스를 확인합니다. gkectl을 실행하는 위치에 따라 프록시 구성의 유효성을 검사합니다.

--skip-validation-internet 플래그로 건너뜁니다.

Google Cloud
프로젝트 ID
[*].projectid
구성의 다양한 필드에 제공된 프로젝트 ID의 유효성을 검사합니다. 프로젝트 ID가 누락되면 검증을 건너뜁니다.
등록 서비스 계정
registerserviceaccountkeypath
서비스 계정이 필요한 Cloud IAM 역할을 보유하고 있는지 확인합니다. 필요한 API가 사용 설정되었는지 확인합니다.
연결 서비스 계정
agentserviceaccountkeypath
서비스 계정이 필요한 Cloud IAM 역할을 보유하고 있는지 확인합니다. 필요한 API가 사용 설정되었는지 확인합니다.
Google Cloud의 작업 제품군 서비스 계정
stackdriver.serviceaccountkeypath
서비스 계정이 필요한 Cloud IAM 역할을 보유하고 있는지 확인합니다. 필요한 API가 사용 설정되었는지 확인합니다.
--skip-validation-gcp 플래그로 건너뜁니다.
gcr.io/gke-on-prem-release 액세스 Container Registry에서 호스팅되는 GKE On-Prem의 컨테이너 이미지 레지스트리에 대한 액세스를 검증합니다.

--skip-validation-docker 플래그로 건너뜁니다.

Docker 레지스트리
privateregistryconfig
구성된 경우 Docker 레지스트리에 대한 액세스의 유효성을 검증합니다.

--skip-validation-docker 플래그로 건너뜁니다.

vCenter 모든 vcenter 필드가 있는지 확인하고 다음 사항도 확인합니다.
사용자 인증 정보
vcenter.credentials.[*]
제공된 사용자 인증 정보를 사용하여 vCenter Server 인증의 유효성을 확인합니다.
vSphere 버전 vSphere가 버전 6.5 또는 6.7 업데이트 3인지 확인합니다.
Datacenter(데이터 센터)
vcenter.datacenter
vSphere 데이터 센터가 있는지 확인합니다.
데이터 저장소
vcenter.datastore
vSphere Datastore가 있는지 확인합니다.
데이터 디스크
vcenter.datadisk
vSphere 가상 머신 디스크(VMDK)가 vSphere에 아직 없는지 확인합니다.
리소스 풀
vcenter.resourcepool
vSphere 리소스 풀이 있는지 확인합니다.
네트워크
vcenter.network
vSphere 네트워크가 있는지 확인합니다.

--skip-validation-infra 플래그로 건너뜁니다.

부하 분산기

부하 분산 구성의 유효성을 검사합니다.

  • 부하 분산 모드가 통합된 경우(lbmode: Integrated) 모든 bigip 필드가 adminclusterusercluster 사양에 있는지 확인합니다.
  • 부하 분산 모드가 수동(lbmode: Manual)인 경우 모든 manuallbspec 필드가 adminclusterusercluster 사양에 있는지 확인합니다.
통합 부하 분산
bigip.credentials.[*] F5 BIG-IP 사용자 인증 정보를 확인합니다.
bigip.partition 제공된 파티션이 존재하는지 확인합니다.
F5 BIG-IP 사용자 역할 제공된 F5 BIG-IP 사용자에게 관리자 또는 리소스 관리자 역할이 있는지 확인합니다.
bigip.vips.[*] 제공된 VIP를 확인합니다.

--fast 또는 --skip-validation-load-balancer 플래그로 건너뜁니다.

수동 부하 분산
네트워킹 구성 VIP, 노드 IP 등을 확인합니다.

--fast 또는 --skip-validation-load-balancer 플래그로 건너뜁니다.

[*].manuallbspec.[*] 제공된 노드 포트를 검증합니다.
--skip-validation-load-balancer 플래그로 건너뜁니다.
네트워킹

제공된 CIDR 범위, VIP, 고정 IP(구성된 경우)를 사용할 수 있는지 확인합니다. IP 주소가 겹치지 않는지 검사합니다.

--skip-validation-net-config 플래그로 건너뜁니다.

DNS

제공된 DNS 서버를 사용할 수 있는지 확인합니다.

--skip-validation-dns 플래그로 건너뜁니다.

NTP

제공된 네트워크 시간 프로토콜(NTP) 서버를 사용할 수 있는지 확인합니다.

--skip-validation-tod 플래그로 건너뜁니다.

VIP

제공된 VIP를 핑합니다. 핑에 실패하면 이 VIP가 정상적으로 수행되지 않은 것입니다.

--skip-validation-vips 플래그로 건너뜁니다.

노드 IP

제공된 노드 IP 주소를 핑합니다. 핑이 실패하면 node IP가 아직 가져오지 않았음을 나타내는 이 검사가 성공한 것입니다.

--skip-validation-node-ips 플래그로 건너뜁니다.

실행 전 검사 결과

실행 전 검사는 다음과 같은 결과를 반환할 수 있습니다.

성공
필드와 필드 값이 검사를 통과했습니다.
실패
필드 또는 그 값이 확인을 통과하지 못했습니다. 검사 결과 FAILURE 메시지가 반환되면 문제를 해결하고 파일의 유효성을 다시 검사합니다.
건너뜀

검사가 구성과 관련이 없기 때문에 검사를 건너뛰었습니다. 예를 들어 DHCP 서버를 사용하는 경우 고정 IP 구성과 관련된 DNS 및 노드 IP 검사는 건너뜁니다.

유효성 검사를 건너뛰는 플래그를 전달하면 건너뛴 검사는 건너뜀 결과를 반환하지 않습니다. 오히려 유효성 검사가 실행되지 않고 명령어 결과에 전혀 표시되지 않습니다.

알 수 없음

건너뛰기가 0이 아닌 코드를 반환했습니다. 알 수 없음 결과를 실패한 것으로 간주할 수 있습니다. 알 수 없음은 일반적으로 검사에서 nslookup 실행 실패 또는 gcloud 실행 실패와 같은 일부 시스템 패키지를 실행하지 못했음을 나타냅니다.

출시 예정

다음 버전에서는 다음과 같은 실행 전 검사가 추가됩니다.

  • NTP 서버

실행 전 검사 실행

다음 명령을 실행하여 실행 전 검사를 실행합니다.

gkectl check-config --config [CONFIG]

여기서 [CONFIG]는 GKE On-Prem 구성 파일의 경로입니다.

빠른 모드에서 실행

원하는 경우 부하 분산 VIP 및 노드 IP 유효성 검사와 같은 임시 테스트 VM을 만드는 유효성 검사를 건너뛰는 '빠른 모드'에서 실행 전 검사를 실행할 수 있습니다. 이렇게 하려면 --fast를 전달합니다.

gkectl check-config --config [CONFIG] --fast

특정 유효성 검사 건너뛰기

플래그를 전달하여 DNS, 프록시, 네트워킹과 같은 특정 유효성 검사를 세부적으로 건너뛸 수 있습니다. 각 건너뛰기 플래그의 프리픽스는 --skip-[VALIDATION]입니다.

사용 가능한 건너뛰기 플래그에 대해 알아보려면 다음 명령어를 실행하세요. 원하는 경우 gkectl check-config 참조를 참조하세요.

gkectl check-config --help

예를 들어 부하 분산기 유효성 검사를 건너뛰려면 다음 안내를 따르세요.

gkectl check-config --config my-config.yaml --skip-validation-load-balancer 

실행 전 검사 취소

실행 전 검사를 실행하고 취소하려면 CTRL + C를 두 번 누릅니다. 실행 전 검사에서 테스트 VM을 만든 경우 VM을 자동으로 삭제해야 합니다.

테스트 VM 삭제

실행 전 확인이 완료된 후 테스트 VM이 남은 경우 vCenter에서 VM을 삭제할 수 있습니다. 테스트 VM의 이름은 다음과 같습니다.

check-config-[dhcp|static]-[random number]

VM을 삭제하려면 다음 안내를 따르세요.

  1. VM을 마우스 오른쪽 버튼으로 클릭하고 전원 + 전원 끄기를 클릭합니다.

  2. VM 종료 후 VM을 마우스 오른쪽 버튼으로 다시 클릭하고 디스크에서 삭제를 클릭합니다.

다음은 명령어 동작의 예시입니다. 이 예시에서 유효성을 검사하는 구성은 통합된 부하 분산 모드와 외부 Docker 레지스트리가 없는 고정 IP를 사용합니다.

gkectl check-config --config config.yaml
- Validation Category: Config Check
    - [SUCCESS] Config

- Validation Category: Internet Access
    - [SUCCESS] Internet access to required domains

- Validation Category: GCP
    - [SUCCESS] GCP Service
    - [SUCCESS] GCP Service Account

- Validation Category: Docker Registry
    - [SUCCESS] gcr.io/gke-on-prem-release access

- Validation Category: vCenter
    - [SUCCESS] Credentials
    - [SUCCESS] Version
    - [SUCCESS] Datacenter
    - [SUCCESS] Datastore
    - [SUCCESS] Data Disk
    - [SUCCESS] Resource Pool
    - [SUCCESS] Network

- Validation Category: F5 BIG-IP
    - [SUCCESS] Admin Cluster F5 (credentials, partition and user role)
    - [SUCCESS] User Cluster F5 (credentials, partition and user role)

- Validation Category: Network Configuration
    - [SUCCESS] CIDR, VIP and static IP (availability and overlapping)

- Validation Category: DNS
    - [SUCCESS] DNS (availability)

- Validation Category: VIPs
    - [SUCCESS] ping (availability)

- Validation Category: Node IPs
    - [SUCCESS] ping (availability)

Now running slow validation checks (creates test VM); use flag --fast to disable.
- Validation Category: F5 BIG-IP
    - [SUCCESS] Admin Cluster VIP and NodeIP
    - [SUCCESS] User Cluster VIP and NodeIP

All validation results were SUCCESS.

알려진 문제

GKE On-Prem 버전 1.2.0-gke.6에서 중첩된 리소스 풀 또는 기본 리소스 풀을 사용하는 경우 전체 유효성 검사를 시도할 경우 gkectl check-config가 실패합니다. 그러나 --fast 플래그를 전달하여 더 작은 유효성 검사 세트를 수행할 수 있습니다.

gkectl check-config --config [CONFIG] --fast

이 문제는 버전 1.2.1에서 해결될 예정입니다.

다음 단계