이 페이지에서는 베어메탈용 GKE 클러스터 구성 파일에서 지원되는 필드를 설명합니다. 다음 표에서는 각 필드가 필수인지 확인합니다. 또한 표에서는 변경 가능한 필드를 보여줍니다. 즉, 클러스터를 만든 후에 변경할 수 있는 필드를 나타냅니다. 표에 명시된 대로 일부 변경 가능한 필드는 클러스터 업그레이드 중에만 변경될 수 있습니다.
클러스터 구성 파일 템플릿 생성
bmctl create config 명령어를 사용하여 클러스터 구성 파일을 만들 수 있습니다. 일부 필드에는 기본값이 있고 다른 필드(예: metadata.name)는 자동으로 입력될 수 있지만 이 YAML 형식 구성 파일은 클러스터에 대한 정보를 지정하기 위한 템플릿입니다.
새 클러스터 구성 파일을 만들려면 /baremetal 폴더에서 다음 명령어를 사용합니다.
bmctl create config -c CLUSTER_NAME
CLUSTER_NAME을 만들려는 클러스터의 이름으로 바꿉니다. bmctl에 대한 자세한 내용은 bmctl 도구를 참조하세요.
생성된 클러스터 구성 파일의 예시는 클러스터 구성 파일 샘플을 참조하세요.
구성 파일 작성
클러스터를 만들거나 업그레이드하기 전에 다음 필드 참조 표에 설명된 대로 구성 파일에 필드 값을 입력합니다.
클러스터 구성 필드
입력란 이름
리소스 유형
필수 여부
변경 가능 여부
anthosBareMetalVersion
필수. 문자열. 클러스터 버전입니다. 이 값은 클러스터 생성 및 클러스터 업그레이드에 대해 설정됩니다.
변경 가능성: 기존 클러스터의 값은 수정할 수 없습니다.
클러스터 업그레이드 프로세스를 통해서만 버전을 업데이트할 수 있습니다.
클러스터 리소스
필수
변경 가능
authentication
이 섹션에는 OpenID Connect(OIDC)를 사용하는 데 필요한 설정이 포함되어 있습니다.
OIDC를 사용하면 기존의 ID 공급업체를 통해 베어메탈용 Anthos 클러스터에서 사용자 및 그룹 인증을 관리할 수 있습니다.
클러스터 리소스
—
—
authentication.oidc.certificateAuthorityData
선택사항. OIDC 제공업체의 base64로 인코딩된 PEM 인코딩 인증서입니다. 문자열을 만들려면 헤더를 포함하여 인증서를 base64로 인코딩합니다. certificateAuthorityData에 결과 문자열을 단일 줄로 포함합니다.
선택사항. 문자열. OpenID 제공업체에 인증을 요청하는 클라이언트 애플리케이션의 ID입니다.
클러스터 리소스
선택사항
변경 불가
authentication.oidc.clientSecret
선택사항. 문자열. OIDC 클라이언트 애플리케이션과 OIDC 제공업체 간에 공유된 보안 비밀입니다.
클러스터 리소스
선택사항
변경 불가
authentication.oidc.deployCloudConsoleProxy
선택사항. 부울(true|false). 인터넷을 통해 공개적으로 액세스할 수 없는 온프레미스 ID 공급업체에 Google Cloud 콘솔을 연결하기 위해 클러스터에 역방향 프록시를 배포할지 여부를 지정합니다. 공개 인터넷을 통해 ID 공급업체에 연결할 수 없는 경우 이 필드를 true로 설정하여 Google Cloud 콘솔에서 인증합니다. 기본적으로 이 값은 false로 설정됩니다.
클러스터 리소스
선택사항
변경 불가
authentication.oidc.extraParams
선택사항. 쉼표로 구분된 목록입니다. OpenID 제공업체에 전송할 추가적인 키-값 매개변수입니다.
클러스터 리소스
선택사항
변경 불가
authentication.oidc.groupPrefix
선택사항. 문자열. 기존 이름과 충돌을 방지하기 위해 그룹 클레임에 추가된 프리픽스입니다. 예를 들어 그룹이 dev이고 프리픽스가 oidc:이면 oidc:dev가 됩니다.
선택사항. URL 문자열. 승인 요청이 OpenID로 전송되는 URL입니다(예: https://example.com/adfs). Kubernetes API 서버는 이 URL을 사용하여 토큰을 확인할 수 있도록 공개 키를 검색합니다. URL은 HTTPS를 사용해야 합니다.
클러스터 리소스
선택사항
변경 불가
authentication.oidc.kubectlRedirectURL
선택사항. URL 문자열. 승인을 위해 kubectl에서 사용하는 리디렉션 URL입니다. OIDC를 사용 설정할 때 kubectlRedirectURL 값을 지정해야 합니다.
클러스터 리소스
선택사항
변경 불가
authentication.oidc.proxy
선택사항. URL 문자열. 해당되는 경우 클러스터가 OIDC 제공업체에 연결하는 데 사용할 프록시 서버입니다. 값에 호스트 이름/IP 주소가 포함되어야 하며 선택적으로 포트, 사용자 이름, 비밀번호를 포함할 수 있습니다. 예를 들면 다음과 같습니다. http://user:password@10.10.10.10:8888.
클러스터 리소스
선택사항
변경 불가
authentication.oidc.scopes
선택사항. 쉼표로 구분된 목록입니다. OpenID 제공업체에 전송할 추가적인 범위입니다. Microsoft Azure 및 Okta에는 offline_access 범위가 필요합니다.
클러스터 리소스
선택사항
변경 불가
authentication.oidc.usernamePrefix
선택사항. 문자열. 사용자 이름 클레임에 추가되는 프리픽스입니다.
클러스터 리소스
선택사항
변경 불가
authentication.oidc.username
선택사항. 문자열.
사용자 이름으로 사용할 JWT 클레임입니다. 지정되지 않은 경우 기본값은 sub입니다.
클러스터 리소스
선택사항
변경 불가
bypassPreflightCheck
선택사항. 부울(true|false). true로 설정하면 기존 클러스터에 리소스를 적용할 때 내부 실행 전 검사가 무시됩니다. 기본값은 false입니다.
변경 가능성:bmctl update 명령어를 사용하여 기존 클러스터에 대해 이 값을 수정할 수 있습니다.
클러스터 리소스
선택사항
변경 가능
clusterNetwork
이 섹션에는 클러스터의 네트워크 설정이 포함됩니다.
클러스터 리소스
필수
변경 가능
clusterNetwork.advancedNetworking
불리언. 이 필드를 true로 설정하여 BGP 또는 이그레스 NAT 게이트웨이를 사용하는 번들 부하 분산과 같은 고급 네트워킹 기능을 사용 설정합니다. 두 기능 모두 Anthos Network Gateway를 사용합니다. Anthos Network Gateway는 GKE Enterprise 및 Google Kubernetes Engine(GKE)에서 고급 네트워킹 기능을 사용 설정하는 데 필요한 핵심 구성요소입니다. Anthos Network Gateway의 주요 이점 중 하나는 `NetworkGatewayGroup` 커스텀 리소스에 지정한 주소 집합에서 유동 IP 주소를 동적으로 할당할 수 있다는 점입니다.
부울. 이 필드를 false로 설정하여 베어메탈용 GKE와 번들로 제공되는 인그레스 기능을 사용 중지합니다. 클러스터의 번들 인그레스 기능은 인그레스만 지원합니다. 완전한 기능의 서비스 메시가 갖는 추가 이점을 얻기 위해 Istio 또는 Anthos Service Mesh와 통합하는 경우 번들 인그레스를 중지하는 것이 좋습니다. 이 필드는 기본적으로 true로 설정됩니다. 이 필드는 생성된 클러스터 구성 파일에 제공되지 않습니다. 버전 1.13.0 클러스터 이상에만 번들 인그레스를 중지할 수 있습니다.
불리언. 플랫 모드 클러스터 네트워킹 모델을 사용 설정하려면 이 필드를 true로 설정합니다. 플랫 모드의 각 포드에는 고유한 IP 주소가 있습니다. 포드는 중간 게이트웨이나 네트워크 주소 변환(NAT)을 사용할 필요 없이 서로 직접 통신할 수 있습니다.
flatIPv4는 기본적으로 false입니다. 클러스터 생성 중에만 플랫 모드를 사용 설정할 수 있습니다. 클러스터에 플랫 모드를 사용 설정하면 중지할 수 없습니다.
클러스터 리소스
선택사항
변경 불가
clusterNetwork.multipleNetworkInterfaces
선택사항. 불리언. 이 필드를 true로 설정하면 포드에 여러 네트워크 인터페이스를 사용 설정할 수 있습니다.
필수. CIDR 블록 형식의 IPv4 주소 범위입니다. 포드는 포드 네트워크가 할당된 IP 범위를 지정합니다.
최소 포드 CIDR 범위: 14비트 크기(16,384개 IP 주소)에 해당하는 /18의 마스크 값입니다.
최대 포드 CIDR 범위: 24비트 크기(16,777,216개 IP 주소)에 해당하는 /8의 마스크 값입니다.
예를 들면 다음과 같습니다.
pods:
cidrBlocks:
- 192.168.0.0/16
클러스터 리소스
필수
변경 불가
clusterNetwork.sriovOperator
선택사항. 불리언. 이 필드를 true로 설정하여 클러스터의 SR-IOV 네트워킹을 사용 설정합니다.
SR-IOV 네트워킹 구성 및 사용에 대한 자세한 내용은 SR-IOV 네트워킹 문서를 참조하세요.
클러스터 리소스
선택사항
변경 가능
clusterNetwork.services.cidrBlocks
필수. CIDR 블록 형식의 IPv4 주소 범위입니다. 서비스 가상 IP(VIP) 주소가 할당되는 IP 주소 범위를 지정합니다. 범위는 네트워크에서 연결할 수 있는 서브넷과 겹치지 않아야 합니다. 비공개 인터넷 주소 할당에 대한 자세한 내용은 RFC 1918을 참조하세요.
최소 서비스 CIDR 범위: 8비트 크기(256개 주소)에 해당하는 /24의 마스크 값입니다.
최대 서비스 CIDR 범위: 20비트 크기(1,048,576개 IP 주소)에 해당하는 /12의 마스크 값입니다.
예를 들면 다음과 같습니다.
services:
cidrBlocks:
- 10.96.0.0/12
클러스터 리소스
필수
변경 불가
clusterOperations
이 섹션에서는 Cloud Logging 및 Cloud Monitoring에 대한 정보를 제공합니다.
클러스터 리소스
필수
변경 가능
clusterOperations.enableApplication
불리언. Kubernetes 제어 영역 또는 클러스터 관리 에이전트와 같은 시스템 구성요소에 해당하는 시스템 로그/측정항목의 기본 컬렉션 외에 애플리케이션 로그/측정항목을 수집하려면 true로 설정합니다. 이 값은 언제든지 변경할 수 있습니다.
클러스터 리소스
선택사항
변경 가능
clusterOperations.disableCloudAuditLogging
불리언. Cloud 감사 로그는 의심스러운 API 요청을 조사하고 통계를 수집하는 데 유용합니다. Cloud 감사 로그는 기본적으로 사용 설정(disableCloudAuditLogging: false)됩니다. Cloud 감사 로그를 중지하려면 true로 설정합니다.
문자열. Logging 로그와 Monitoring 측정항목을 저장할 Google Cloud 리전입니다.
온프레미스 데이터센터 근처에 있는 리전을 선택하는 것이 좋습니다. 자세한 내용은 글로벌 위치를 참조하세요.
예를 들면 다음과 같습니다.
location: us-central1
클러스터 리소스
필수
변경 불가
clusterOperations.projectID
문자열. 로그 및 측정항목을 보려는 Google Cloud 프로젝트의 프로젝트 ID입니다.
클러스터 리소스
필수
변경 불가
controlPlane
이 섹션에서는 제어 영역과 구성요소에 대한 정보를 제공합니다.
클러스터 리소스
필수
변경 가능
controlPlane.nodePoolSpec
이 섹션에서는 제어 영역 및 구성요소에 사용되는 노드 풀의 IP 주소를 지정합니다. 제어 영역 노드 풀 사양(예: 부하 분산기 노드 풀 사양)은 특수합니다. 이 사양은 중요한 클러스터 리소스를 선언하고 제어합니다. 이 리소스의 표준 소스는 클러스터 구성 파일의 이 섹션입니다. 최상위 제어 영역 노드 풀 리소스를 직접 수정하지 마세요. 그 대신 클러스터 구성 파일에서 연결된 섹션을 수정하세요.
클러스터 리소스
필수
변경 가능
controlPlane.nodePoolSpec.nodes
필수. IP 주소 배열. 일반적으로 이 배열은 단일 머신의 IP 주소이거나 고가용성(HA) 배포를 위한 세 머신의 IP 주소입니다.
지원이 중단되었습니다. 출시 버전 1.11.2부터는 VMRuntime 커스텀 리소스만 업데이트하여 Google Distributed Cloud의 VM 런타임을 사용 설정하거나 중지할 수 있습니다.
불리언. 소프트웨어 에뮬레이션을 사용하여 가상 머신을 실행할지 여부를 결정합니다. 노드에서 하드웨어 가상화를 지원하는 경우 성능 향상을 위해 useEmulation을 false로 설정합니다. 하드웨어 가상화가 지원되지 않거나 확실하지 않은 경우 true로 설정합니다.
클러스터 리소스
선택사항
변경 가능
loadBalancer
이 섹션에는 클러스터 부하 분산을 위한 설정이 포함되어 있습니다.
클러스터 리소스
필수
변경 가능
loadBalancer.addressPools
객체. 클러스터 부하 분산기 풀의 이름과 IP 주소 배열입니다. 주소 풀 구성은 관리자가 아닌 클러스터의 bundled LB 모드에서만 유효합니다. 언제든지 새 주소 풀을 추가할 수 있지만 기존 주소 풀을 수정하거나 삭제할 수는 없습니다.
클러스터 리소스
선택사항
변경 불가
loadBalancer.addressPools.addresses
IP 주소 범위의 배열. 데이터 영역 부하 분산기의 겹치지 않는 IP 범위 목록을 지정합니다. 모든 주소는 부하 분산기 노드와 동일한 서브넷에 있어야 합니다.
선택사항. 부울(true | false). true인 경우 풀은 .0 및 .255로 끝나는 IP 주소를 생략합니다.
일부 네트워크 하드웨어는 이 특수 주소에 대한 트래픽을 삭제합니다. 이 필드를 생략할 수 있으며 기본값은 false입니다.
클러스터 리소스
선택사항
변경 불가
loadBalancer.addressPools.manualAssign
선택사항. 부울(true | false). true인 경우 이 풀의 주소는 Kubernetes 서비스에 자동으로 할당되지 않습니다. true이면 이 풀의 IP 주소는 서비스에서 명시적으로 지정된 경우에만 사용됩니다. 이 필드를 생략할 수 있으며 기본값은 false입니다.
클러스터 리소스
선택사항
변경 가능
loadBalancer.mode
필수. 문자열. 부하 분산 모드를 지정합니다. bundled 모드에서 베어메탈용 GKE는 클러스터 생성 중에 부하 분산기 노드에 부하 분산기를 설치합니다. manual 모드에서 클러스터는 수동으로 구성된 외부 부하 분산기를 사용합니다. 자세한 내용은 부하 분산기 개요를 참조하세요.
허용되는 값: bundled | manual
클러스터 리소스
필수
변경 불가
loadBalancer.type
선택사항. 문자열. 사용된 번들 부하 분산의 유형, 즉 Layer 2 또는 경계 게이트웨이 프로토콜(BGP)을 지정합니다. 표준 번들 부하 분산을 사용하는 경우 type을 layer2로 설정합니다. BGP를 사용한 번들 부하 분산을 사용하는 경우 type를 bgp로 설정합니다. type을 설정하지 않으면 기본값은 layer2입니다.
허용되는 값: layer2 | bgp
클러스터 리소스
선택사항
변경 불가
loadBalancer.nodePoolSpec
선택사항. 이 섹션을 사용하여 부하 분산기 노드 풀을 구성합니다. 지정한 노드는 Kubernetes 클러스터의 일부이며 일반 워크로드와 부하 분산기를 실행합니다. 노드 풀을 지정하지 않으면 제어 영역 노드가 부하 분산에 사용됩니다. 이 섹션은 부하 분산 모드가 bundled로 설정된 경우에만 적용됩니다.
클러스터 리소스
선택사항
변경 가능
loadBalancer.nodePoolSpec.nodes
이 섹션에는 부하 분산기 노드 풀에 있는 노드의 IP 주소 배열이 포함됩니다.
클러스터 리소스
선택사항
변경 가능
loadBalancer.nodePoolSpec.nodes.address
선택사항. 문자열(IPv4 주소). 노드의 IP 주소입니다.
클러스터 리소스
선택사항
변경 가능
loadBalancer.ports.controlPlaneLBPort
숫자. Kubernetes 제어 영역(Kubernetes API 서버)으로 전송되는 트래픽에 사용되는 대상 포트입니다.
선택사항. 문자열(IPv4 주소). 인그레스 트래픽을 위해 부하 분산기에서 구성하도록 선택한 IP 주소입니다.
클러스터 리소스
선택사항
변경 불가
loadBalancer.localASN
선택사항. 문자열. 생성 중인 클러스터의 자율 시스템 번호(ASN)를 지정합니다. 이 필드는 경계 게이트웨이 프로토콜(BGP)을 사용하는 번들 부하 분산 솔루션을 설정할 때 사용됩니다.
자세한 내용은 BGP로 번들 부하 분산기 구성을 참조하세요.
클러스터 리소스
선택사항
변경 가능
loadBalancer.bgpPeers
선택사항. 객체(매핑 목록). 이 섹션에서는 클러스터 외부에 있는 로컬 네트워크에서 하나 이상의 경계 게이트웨이 프로토콜(BGP) 피어를 지정합니다. BGP를 사용하는 번들 부하 분산 솔루션의 제어 영역 부하 분산 부분을 설정할 때 BGP 피어를 지정합니다. 각 피어는 IP 주소, 자율 시스템 번호(ASN), 제어 영역 노드에 대한 하나 이상의 IP 주소 목록(선택사항)으로 구성된 매핑으로 지정됩니다. 클러스터를 만든 후에는 제어 영역 부하 분산의 BGP 피어링 구성을 업데이트할 수 없습니다.
선택사항. 문자열(IPv4 주소). 로컬 네트워크의 외부 피어링 기기 IP 주소입니다.
자세한 내용은 BGP로 번들 부하 분산기 구성을 참조하세요.
클러스터 리소스
선택사항
변경 가능
loadBalancer.bgpPeers.asn
선택사항. 문자열. 외부 피어 기기가 포함된 네트워크의 자율 시스템 번호(ASN)입니다. BGP를 사용하는 번들 부하 분산 솔루션을 설정할 때 제어 영역 부하 분산에 설정하는 모든 BGP 피어에 ASN을 지정합니다.
자세한 내용은 BGP로 번들 부하 분산기 구성을 참조하세요.
클러스터 리소스
선택사항
변경 가능
loadBalancer.bgpPeers.controlPlaneNodes
선택사항. IP(IPv4) 주소의 배열. BGP를 사용하는 번들 부하 분산 솔루션을 설정할 때 외부 BGP 피어에 연결되는 제어 영역 노드의 IP 주소 하나 이상입니다. 제어 영역 노드를 지정하지 않으면 모든 제어 영역 노드가 외부 피어에 연결됩니다. IP 주소를 하나 이상 지정하면 지정된 노드만 피어링 세션에 참가합니다.
자세한 내용은 BGP로 번들 부하 분산기 구성을 참조하세요.
클러스터 리소스
선택사항
변경 가능
maintenanceBlocks.cidrBlocks
선택사항. 단일 IPv4 주소 또는 IPv4 주소 범위. 유지보수 모드로 설정할 노드 머신의 IP 주소를 지정합니다. 자세한 내용은 노드를 유지보수 모드로 전환을 참조하세요.
예를 들면 다음과 같습니다.
maintenanceBlocks:
cidrBlocks:
- 192.168.1.200 # Single machine
- 192.168.1.100-192.168.1.109 # Ten machines
클러스터 리소스
선택사항
변경 가능
nodeAccess.loginUser
선택사항. 문자열. 클러스터의 노드 머신에 대한 비밀번호가 없는 SUDO 기능 액세스에 사용할 루트가 아닌 사용자 이름을 지정합니다. 지정된 사용자에 대해 SSH 키 sshPrivateKeyPath가 작동해야 합니다. 클러스터 만들기 및 업데이트 작업은 노드 머신에 지정된 사용자 및 SSH 키로 액세스할 수 있는지 확인합니다.
클러스터 리소스
선택사항
변경 가능
osEnvironmentConfig.addPackageRepo
선택사항. 불리언(true|false). 베어메탈 머신을 초기화할 때 패키지 저장소를 추가할지 여부를 지정합니다.
클러스터 리소스
선택사항
변경 불가
nodeConfig
이 섹션에는 클러스터 노드 구성에 대한 설정이 포함되어 있습니다.
클러스터 리소스
선택사항
변경 가능(업그레이드만 해당)
nodeConfig.containerRuntime(지원 중단됨)
지원이 중단되었습니다. 출시 버전 1.13.0부터 베어메탈용 GKE는 컨테이너 런타임으로만 containerd를 지원합니다. containerRuntime 필드는 지원 중단되었으며 생성된 클러스터 구성 파일에서 삭제되었습니다. 베어메탈용 GKE 버전 1.13.0 이상에서 클러스터 구성 파일에 이 필드가 포함된 경우 값은 containerd여야 합니다.
클러스터 리소스
선택사항
변경 가능(업그레이드만 해당)
nodeConfig.podDensity
이 섹션에서는 포드 밀도 구성을 지정합니다.
클러스터 리소스
선택사항
변경 불가
nodeConfig.podDensity.maxPodsPerNode
선택사항. 정수. 단일 노드에서 실행할 수 있는 최대 포드 수를 지정합니다. 자체 관리형 클러스터의 경우 maxPodsPerNode에 허용되는 값은 고가용성 (HA)클러스터의 경우 32~250, 비 HA 클러스터의 경우 64~250입니다. 사용자 클러스터의 경우 maxPodsPerNode에 허용되는 값은 32~250입니다. 지정하지 않으면 기본값은 110입니다. 클러스터가 생성된 후에는 이 값을 업데이트할 수 없습니다.
Kubernetes는 각 포드가 고유 IP 주소를 가질 수 있도록 각 노드에 클래스 없는 도메인 간 라우팅(CIDR) 블록을 할당합니다. CIDR 블록의 크기는 노드당 최대 포드 수에 해당합니다.
노드당 최대 포드 수를 설정하는 방법에 대한 자세한 내용은 포드 네트워킹을 참조하세요.
클러스터 리소스
선택사항
변경 불가
profile
선택사항. 문자열. 독립형 클러스터에서 profile을 edge로 설정하면 클러스터의 리소스 소비를 최소화합니다. 에지 프로필은 독립형 클러스터에만 제공됩니다.
이 프로필에서는 시스템 리소스 요구사항이 줄어들었으며 리소스 제약조건이 높은 에지 기기에 권장됩니다.
에지 프로필 관련 하드웨어 요구사항은 에지 프로필을 사용하는 독립형 클러스터의 리소스 요구사항을 참조하세요.
클러스터 리소스
선택사항
변경 불가
proxy
네트워크가 프록시 서버 뒤에 있는 경우 이 섹션을 입력합니다.
그렇지 않으면 이 섹션을 삭제하세요.
클러스터 리소스
선택사항
변경 가능
proxy.noProxy
문자열. IP 주소, IP 주소 범위, 호스트 이름 그리고 프록시 서버를 거치지 않아야 하는 도메인 이름의 쉼표로 구분된 목록입니다. 베어메탈용 GKE가 이러한 주소, 호스트 또는 도메인 중 하나에 요청을 보내면 요청이 직접 전송됩니다.
클러스터 리소스
선택사항
변경 불가
proxy.url
문자열. 프록시 서버의 HTTP 주소입니다. 포트 번호가 스키마의 기본 포트와 동일하더라도 포함합니다.
선택사항. 불리언(true|false). 클러스터 전체 'seccomp'를 사용 설정 또는 사용 중지합니다. 이 필드를 사용 중지하면 클러스터 구성 파일에 'seccomp' 프로필이 없는 컨테이너가 제한되지 않고 실행됩니다. 이 필드가 사용 설정되면 컨테이너 런타임의 기본 'seccomp' 프로필을 사용하여 동일한 컨테이너가 보호됩니다. 이 기능은 기본적으로 사용하도록 설정되어 있습니다. 클러스터를 만든 후에는 업그레이드 중에만 이 필드를 전환할 수 있습니다. 자세한 내용은 seccomp를 사용하여 컨테이너 제한을 참조하세요.
클러스터 리소스
선택사항
변경 가능(업그레이드만 해당)
clusterSecurity.enableRootlessContainers
선택사항. 불리언(true|false). 루트가 없는 베어메탈 시스템 컨테이너를 사용 설정 또는 사용 중지합니다. 이 필드가 사용 설정되면 베어메탈 시스템 컨테이너가 루트가 아닌 사용자(2000~5000 범위의 사용자 ID)로 실행됩니다. 사용 중지되면 베어메탈 시스템 컨테이너가 루트 사용자로 실행됩니다. 기본적으로 이 기능은 사용 설정되어 있습니다. 컨테이너를 루트 사용자로 실행하면 보안 위험이 발생할 수 있으므로 이 기능을 사용 중지하는 것은 권장되지 않습니다. 클러스터를 만든 후에는 업그레이드 중에만 이 필드를 전환할 수 있습니다. 자세한 내용은 루트 사용자로 컨테이너 실행 안 함을 참조하세요.
선택사항. gcpAccounts 필드는 Kubernetes 역할 기반 액세스 제어(RBAC) 역할 clusterrole/cluster-admin이 부여된 계정 목록을 지정합니다. 이 역할을 가진 계정은 모든 네임스페이스의 클러스터에 있는 모든 리소스에 대한 전체 액세스 권한을 갖습니다. 이 필드는 지정된 계정이 Connect 게이트웨이를 사용하여 클러스터에 대해 kubectl 명령어를 실행하도록 허용하는 RBAC 정책도 구성합니다. 특히 GKE 및 온프레미스 클러스터가 모두 포함된 하이브리드 환경에서 관리할 클러스터가 여러 개 있는 경우에 편리합니다.
이 필드는 계정 이름의 배열을 사용합니다. 사용자 계정 및 서비스 계정이 지원됩니다. 사용자의 경우 Google Cloud 계정 이메일 주소를 지정합니다. 서비스 계정의 경우 SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com 형식으로 이메일 주소를 지정합니다.
예를 들면 다음과 같습니다.
계정을 추가하기 위해 클러스터를 업데이트할 때 업데이트 명령어가 업데이트에서 지정한 대로 목록을 덮어쓰게 되므로 목록에 모든 계정(기존 계정 및 새 계정 모두)을 포함해야 합니다.
이 필드는 워크로드를 실행할 수 있는 클러스터에만 적용됩니다. 예를 들어 관리자 클러스터에 gcpAccounts를 지정할 수 없습니다.
클러스터 리소스
선택사항
변경 가능
storage.lvpNodeMounts.path
필수. 문자열. 마운트된 디스크를 검색할 수 있는 호스트 머신 경로를 지정하려면 path 필드를 사용합니다. 각 마운트마다 로컬 PersistentVolume(PV)이 생성됩니다. 기본 경로는 /mnt/localpv-share입니다. 노드 마운트 구성에 대한 자세한 내용은 LVP 노드 마운트 구성을 참조하세요.
클러스터 리소스
필수
변경 불가
storage
이 섹션에는 클러스터 스토리지에 대한 설정이 포함되어 있습니다.
클러스터 리소스
필수
변경 불가
storage.lvpNodeMounts
이 섹션에서는 마운트된 디스크가 지원하는 로컬 영구 볼륨의 구성(경로)을 지정합니다. 직접 디스크를 포맷하고 마운트해야 합니다. 이 작업은 클러스터를 만들기 전이나 후에 수행할 수 있습니다. 자세한 내용은 LVP 노드 마운트를 참조하세요.
클러스터 리소스
필수
변경 불가
storage.lvpShare
이 섹션에서는 공유 파일 시스템의 하위 디렉터리가 지원하는 로컬 영구 볼륨의 구성을 지정합니다. 이러한 하위 디렉터리는 클러스터 생성 중에 자동으로 생성됩니다.
자세한 내용은 LVP 공유를 참조하세요.
클러스터 리소스
필수
변경 불가
storage.lvpShare.path
필수. 문자열. 하위 디렉터리를 만들 수 있는 호스트 머신 경로를 지정하려면 path 필드를 사용합니다. 각 하위 디렉터리에 대해 로컬 PersistentVolume(PV)이 생성됩니다. LVP 공유를 구성하는 방법은 LVP 공유 구성을 참조하세요.
클러스터 리소스
필수
변경 불가
storage.lvpShare.numPVUnderSharedPath
필수. 문자열. lvpShare.path 아래에 만들 하위 디렉터리의 수를 지정합니다. 기본값은 5입니다. LVP 공유를 구성하는 방법은 LVP 공유 구성을 참조하세요.
클러스터 리소스
필수
변경 불가
storage.lvpShare.storageClassName
필수. 문자열. 영구 볼륨을 만드는 데 사용할 StorageClass를 지정합니다. StorageClass는 클러스터 생성 중에 생성됩니다. 기본값은 local-shared입니다. LVP 공유를 구성하는 방법은 LVP 공유 구성을 참조하세요.
클러스터 리소스
선택사항
변경 불가
type
필수. 문자열. 클러스터 유형을 지정합니다. 표준 배포 모델은 단일 관리자 클러스터와 관리자 클러스터에서 관리하는 하나 이상의 사용자 클러스터로 구성됩니다. 베어메탈용 GKE는 다음 유형의 클러스터를 지원합니다.
관리자 - 사용자 클러스터를 관리하는 데 사용되는 클러스터
사용자 - 워크로드를 실행하는 데 사용되는 클러스터입니다.
하이브리드 - 사용자 클러스터도 관리할 수 있는 관리자와 워크로드에 대한 단일 클러스터
독립형 - 사용자가 직접 관리할 수 있으며 워크로드를 실행할 수 있지만 다른 사용자 클러스터를 만들거나 관리할 수 없는 단일 클러스터입니다.
클러스터 유형은 클러스터를 만들 때 지정되며 업데이트 또는 업그레이드를 위해 변경할 수 없습니다. 클러스터를 만드는 방법에 대한 자세한 내용은 클러스터 만들기: 개요를 참조하세요.
허용되는 값: admin | user | hybrid | standalone
기존 클러스터의 값은 수정할 수 없습니다.
클러스터 리소스
필수
변경 불가
name
필수. 문자열. 일반적으로 네임스페이스 이름은 cluster-CLUSTER_NAME 패턴을 사용하지만 베어메탈용 GKE 출시 버전 1.7.2 이후 cluster- 프리픽스가 반드시 필요하지는 않습니다.
기존 클러스터의 값은 수정할 수 없습니다.
네임스페이스 리소스
필수
변경 불가
clusterName
문자열. 필수. 노드 풀을 추가할 클러스터의 이름입니다. 연결된 클러스터와 동일한 네임스페이스에 노드 풀 리소스를 만들고 이 필드의 클러스터 이름을 참조합니다. 자세한 내용은 클러스터의 노드 풀 추가 및 삭제를 참조하세요.
선택사항. 문자열(IPv4 주소). 노드에 대한 하나 이상의 IP 주소이며, 워커 노드의 풀을 만듭니다.
NodePool 리소스
선택사항
변경 가능
taints
선택사항. 객체. 노드 taint를 사용하면 스케줄러가 특정 포드에 대한 노드 사용을 방지하도록 노드에 표시를 할 수 있습니다. taint는 키-값 쌍과 관련 효과로 구성됩니다. key 및 value 값은 taint를 식별하는 데 사용하는 문자열이며 effect 값은 노드에 대해 포드가 처리되는 방법을 지정합니다. taints 객체에는 여러 개의 taint가 있을 수 있습니다.
effect 필드는 다음 값 중 하나를 사용할 수 있습니다.
NoSchedule - 일치하는 톨러레이션(toleration)이 없으면 포드를 노드에 예약할 수 없습니다.
PreferNoSchedule - 시스템이 노드에서 taint를 허용하지 않는 포드를 배치하지 않지만 필수는 아닙니다.
NoExecute - taint를 허용하지 않는 포드는 즉시 제거되며 taint를 허용하는 포드는 제거되지 않습니다.
베어메탈용 GKE의 경우 baremetal.cluster.gke.io/label-taint-no-sync 주석이 클러스터에 적용되지 않으면 taint가 노드 풀의 노드에 맞게 조정됩니다. taint에 대한 자세한 내용은 taint 및 톨러레이션(toleration)을 참조하세요.
예를 들면 다음과 같습니다.
taints:
- key: status
value: testpool
effect: NoSchedule
NodePool 리소스
선택사항
변경 가능
labels
선택사항. 매핑(키-값 쌍).
baremetal.cluster.gke.io/label-taint-no-sync 주석이 클러스터에 적용되지 않으면 라벨이 노드 풀의 노드에 맞게 조정됩니다. 라벨에 대한 자세한 내용은 라벨 및 선택기를 참조하세요.
NodePool 리소스
선택사항
변경 가능
registryMirrors
선택사항입니다. 이 섹션을 사용하여 Container Registry(gcr.io) 대신 클러스터 설치에 사용할 레지스트리 미러를 지정합니다. 레지스트리 미러를 사용하는 방법에 대한 자세한 내용은 레지스트리 미러를 사용하여 베어메탈용 GKE 설치를 참조하세요.
문자열. 레지스트리 서버 IP 주소와 포트 번호로 구성된 미러의 엔드포인트입니다. 원하는 경우 레지스트리 서버에서 루트 네임스페이스 대신 자체 네임스페이스를 사용할 수 있습니다. 네임스페이스가 없으면 엔드포인트 형식은 REGISTRY_IP:PORT입니다. 네임스페이스를 사용할 경우 엔드포인트 형식은 REGISTRY_IP:PORT/v2/NAMESPACE입니다.
네임스페이스 지정 시 /v2가 필요합니다.
레지스트리 미러를 지정할 때 endpoint 필드가 필요합니다. 여러 미러/엔드포인트를 지정할 수 있습니다.
선택사항. 문자열. 레지스트리 서버에 비공개 TLS 인증서가 사용되는 경우 CA 인증서 파일(서버 루트 CA)의 경로입니다. 로컬 레지스트리에 비공개 TLS 인증서가 필요하지 않으면 이 필드를 생략할 수 있습니다.
레지스트리 미러
선택사항
변경 가능
registryMirrors.pullCredentialConfigPath
선택사항. 문자열. Docker CLI 구성 파일인 config.json의 경로입니다. Docker는 구성 파일에 인증 설정을 저장합니다. 이 필드는 레지스트리 미러를 사용하는 경우에만 적용됩니다. 레지스트리 서버에 인증에 대한 Docker 구성 파일이 필요하지 않으면 이 필드를 생략할 수 있습니다.
선택사항. 지정된 레지스트리 미러(endpoint)에 대해 로컬로 미러링된 호스트의 도메인 이름 배열입니다. 컨테이너 런타임에서 지정된 호스트의 이미지에 대해 pull 요청이 발생하면 로컬 레지스트리 미러를 먼저 확인합니다. 자세한 내용은 레지스트리 미러에서 클러스터 만들기를 참조하세요.
베어메탈용 GKE에 대해 bmctl로 생성된 클러스터 구성 파일에는 로컬 파일 시스템의 사용자 인증 정보 및 키 파일에 대한 경로를 지정하는 필드가 있습니다. 이러한 사용자 인증 정보 및 키는 클러스터를 서로 연결하고 Google Cloud 프로젝트에 연결하는 데 필요합니다.
IPv4 CIDR 범위 구성을 정의합니다. ClusterCidrConfig 리소스에 대해 하나 이상의 ipv4 또는 ipv6 필드를 제공해야 합니다.
ClusterCIDRConfig 리소스
선택사항
변경 불가
ipv4.cidr
문자열. IPv4 노드 CIDR 블록을 설정합니다. 노드에는 각 계열의 범위 하나만 있을 수 있습니다. 이 CIDR 블록은 Cluster 리소스에 설명된 포드 CIDR과 일치해야 합니다.
예를 들면 다음과 같습니다.
ipv4:
cidr: "10.1.0.0/16"
ClusterCIDRConfig 리소스
필수
변경 불가
ipv4.perNodeMaskSize
정수. 노드 IPv4 CIDR 블록의 마스크 크기를 정의합니다. 예를 들어 값 24는 넷마스크 /24로 변환됩니다. 노드의 CIDR 블록 넷마스크가 kubelet의 --max-pods 플래그에 정의된 kubelet이 예약할 수 있는 최대 포드 수보다 큰지 확인합니다.
ClusterCIDRConfig 리소스
필수
변경 불가
ipv6
IPv6 CIDR 범위 구성을 정의합니다. ClusterCidrConfig 리소스에 대해 하나 이상의 ipv4 또는 ipv6 필드를 제공해야 합니다.
ClusterCIDRConfig 리소스
선택사항
변경 불가
ipv6.cidr
문자열. IPv6 노드 CIDR 블록을 설정합니다. 노드에는 각 계열의 범위 하나만 있을 수 있습니다.
예를 들면 다음과 같습니다.
ipv6:
cidr: "2620:0:1000:2631:3:10:3:0/112"
ClusterCIDRConfig 리소스
필수
변경 불가
ipv6.perNodeMaskSize
정수. 노드 IPv6 CIDR 블록의 마스크 크기를 정의합니다. 예를 들어 값 120는 넷마스크 /120로 변환됩니다. 노드의 CIDR 블록 넷마스크가 kubelet의 --max-pods 플래그에 정의된 kubelet이 예약할 수 있는 최대 포드 수보다 큰지 확인합니다.
ClusterCIDRConfig 리소스
필수
변경 불가
nodeSelector.matchLabels
CIDR 구성을 적용할 노드를 정의합니다. 빈 노드 선택기는 모든 노드에 적용되는 기본값으로 작동합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2023-12-08(UTC)"],[],[]]