10장. 프로비저닝 [metal3.io/v1alpha1]
- 설명
- 프로비저닝에는 프로비저닝 서비스(Ironic)에서 baremetal 호스트를 프로비저닝하는 데 사용하는 구성이 포함되어 있습니다. 프로비저닝은 프로비저닝 네트워크에 대한 정보와 PXE 부팅에 사용할 수 있는 서버의 NIC에 대한 admin 또는 사용자가 제공한 OpenShift 설치 프로그램에 의해 생성됩니다. 이 CR은 설치 프로그램에서 생성한 싱글톤이며 현재 metal3 클러스터에서 컨테이너를 가져오고 업데이트하기 위해 cluster-baremetal-operator에서만 사용합니다.
- 유형
-
object
10.1. 사양
속성 | 유형 | 설명 |
---|---|---|
|
| APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 표준 오브젝트의 메타데이터입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| ProvisioningSpec은 원하는 프로비저닝 상태를 정의합니다. |
|
| ProvisioningStatus는 Provisioning의 관찰 상태를 정의합니다. |
10.1.1. .spec
- 설명
- ProvisioningSpec은 원하는 프로비저닝 상태를 정의합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| BootIsoSource는 iso 이미지가 노드를 부팅할 위치를 설정하는 방법을 제공합니다. 기본적으로 부팅 iso 이미지는 로컬에 캐시되고 보조 httpd 서버를 사용하여 프로비저닝 서비스(Ironic) 노드에서 제공됩니다. iso 이미지가 httpd 서버에서 이미 제공되는 경우 이 옵션을 http로 설정하면 이미지를 직접 제공할 수 있습니다. 이 경우 부팅을 호스팅하는 httpd 서버가 metal3 pod에서 액세스할 수 있어야 하는 네트워크(내부 또는 외부)입니다. |
|
| DisableVirtualMediaTLS는 가상 미디어 서버에서 TLS를 끕니다. 이 서버는 HTTPS 링크를 수락할 수 없는 하드웨어에 필요할 수 있습니다. |
|
| PreprovisioningOSDownloadURLs는 가상 미디어 또는 PXE를 사용하여 작업자를 프로비저닝하는 데 필요한 CoreOS Live URL 세트입니다. |
|
| ProvisioningDHCPExternal는 provisioning DHCP 범위의 IP 주소에 대한 DHCP 서버가 metal3 클러스터 내에 있는지 또는 외부에 있는지 여부를 나타냅니다. 이 필드는 provisioningNetwork 대신 더 이상 사용되지 않습니다. |
|
| provisioningDHCPRange는 ProvisioningDHCPExternal와 함께 해석되어야 합니다. provisioningDHCPExternal의 값이 False로 설정된 경우 ProvisioningDHCPRange는 baremetal 서버를 프로비저닝하는 동안 metal3 클러스터 내에서 실행 중인 DHCP 서버에서 사용할 수 있는 IP 주소 범위를 나타냅니다. ProvisioningDHCPExternal 값을 True로 설정하면 ProvisioningDHCPRange 값이 무시됩니다. ProvisioningDHCPExternal의 값이 False로 설정되어 내부 DHCP 서버와 ProvisioningDHCPRange 값을 나타내는 경우 DHCP 범위는 ProvisioningNetworkCIDR의 .10에서 .100으로 이동하는 기본 범위로 간주됩니다. 이는 설치 프로그램에서 CR을 생성한 후 변경할 수 있는 모든 프로비저닝 구성의 유일한 값입니다. 이 값은 ProvisioningNetworkCIDR 내에서 쉼표로 구분된 IP 주소여야 합니다. 여기서 첫 번째 주소는 범위 시작을 나타내며 두 번째 주소는 범위에서 마지막으로 사용 가능한 주소를 나타냅니다. |
|
| ProvisioningDNS를 사용하면 provisionig 네트워크에서 DHCP를 통해 DNS 정보를 보낼 수 있습니다. 프로비저닝 서비스 자체(Ironic)에는 DNS가 필요하지 않지만 계층화된 제품(예: ZTP)에 유용할 수 있으므로 기본적으로 꺼져 있습니다. |
|
| provisioningIP는 baremetal 서버의 provisioningInterface에 할당된 IP 주소입니다. 이 IP 주소는 프로비저닝 서브넷 내에 있어야 하며 DHCP 범위 외부에 있어야 합니다. |
|
| provisioningInterface는 provisioning 네트워크에 대한 baremetal 서버의 네트워크 인터페이스 이름입니다. eth1 또는 ens3과 같은 값을 가질 수 있습니다. |
|
| provisioningMacAddresses는 provisioning 네트워크에 대한 baremetal 서버의 네트워크 인터페이스의 mac 주소 목록입니다. ProvisioningInterface 대신 이를 사용하여 다른 이름의 인터페이스를 허용합니다. 제공되지 않으면 각 마스터의 BMH.Spec.BootMacAddress에 의해 채워집니다. |
|
|
provisioningNetwork는 provisioning 네트워크에 대한 기본 네트워크 구성의 상태를 나타내는 방법을 제공합니다. 이 필드에는 베어 메탈 IPI 솔루션이 프로비저닝 네트워크를 완전히 관리하는 경우 |
|
| provisioningNetworkCIDR는 baremetal 노드가 프로비저닝되는 네트워크입니다. dhcpRange의 provisioningIP 및 IP는 모두 이 네트워크 내에서 제공됩니다. 베어 메탈 IPI 솔루션에서 관리하는 IPv6 및 네트워크를 사용하는 경우 /64보다 큰 네트워크가 될 수 없습니다. |
|
| provisioningOSDownloadURL은 OS 이미지가 baremetal 호스트 머신을 부팅하는 데 사용되는 위치입니다. metal3 클러스터에서 다운로드할 수 있습니다. |
|
| "true"로 설정할 때 virtualMediaViaExternalNetwork 플래그를 사용하면 작업자가 가상 미디어를 통해 부팅하고 외부 네트워크를 통해 metal3에 연결할 수 있습니다. 플래그가 "false"(기본값)로 설정된 경우에도 Managed 모드에서 외부 네트워크 및 프로비저닝 네트워크를 통해 Disabled 모드에서, 프로비저닝 네트워크를 통해 ProvisioningNetwork에 지정된 구성에 따라 가상 미디어 배포가 계속 발생할 수 있습니다. PXE 배포는 항상 프로비저닝 네트워크를 사용하며 이 플래그의 영향을 받지 않습니다. |
|
| watchAllNameSpaces는 모든 네임스페이스에서 이 프로비저닝 구성을 명시적으로 사용할 수 있는 방법을 제공합니다. 기본값은 false로 설정되며 해당 상태에서는 openshift-machine-api 네임스페이스에서만 baremetal 호스트를 프로비저닝하는 데 사용됩니다. true로 설정하면 이 프로비저닝 구성이 모든 네임스페이스의 baremetal 호스트에 사용됩니다. |
10.1.2. .spec.preProvisioningOSDownloadURLs
- 설명
- PreprovisioningOSDownloadURLs는 가상 미디어 또는 PXE를 사용하여 작업자를 프로비저닝하는 데 필요한 CoreOS Live URL 세트입니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| PXE 배포에 사용할 InitramfsURL 이미지 URL |
|
| 라이브 ISO 배포에 사용할 IsoURL 이미지 URL |
|
| KernelURL은 PXE 배포에 사용할 이미지 URL입니다. |
|
| PXE 배포에 사용할 RootfsURL 이미지 URL |
10.1.3. .status
- 설명
- ProvisioningStatus는 Provisioning의 관찰 상태를 정의합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| conditions는 조건 및 상태 목록입니다. |
|
| OperatorCondition은 표준 조건 필드입니다. |
|
| 세대는 항목이 조정되어야 하거나 반응이 필요한 방식으로 변경된 시기를 결정하는 데 사용됩니다. |
|
| GenerationStatus는 지정된 리소스의 생성을 추적하여 강제 업데이트에 대한 결정을 내릴 수 있습니다. |
|
| observedGeneration은 귀하가 다루는 마지막 세대의 변경 사항입니다. |
|
| readyReplicas는 준비된 복제본 수와 원하는 상태를 나타냅니다. |
|
| 버전이 이 가용성이 적용되는 수준입니다. |
10.1.4. .status.conditions
- 설명
- conditions는 조건 및 상태 목록입니다.
- 유형
-
array
10.1.5. .status.conditions[]
- 설명
- OperatorCondition은 표준 조건 필드입니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
|
10.1.6. .status.generations
- 설명
- 세대는 항목이 조정되어야 하거나 반응이 필요한 방식으로 변경된 시기를 결정하는 데 사용됩니다.
- 유형
-
array
10.1.7. .status.generations[]
- 설명
- GenerationStatus는 지정된 리소스의 생성을 추적하여 강제 업데이트에 대한 결정을 내릴 수 있습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| 그룹은 추적 중인 항목의 그룹입니다. |
|
| hash는 시크릿 및 configmaps와 같이 민감한 콘텐츠인 생성이 없는 리소스에 대해 설정된 선택적 필드입니다. |
|
| lastGeneration은 관련된 워크로드 컨트롤러의 마지막 생성입니다. |
|
| 추적 중인 항목의 이름입니다.Is the name of the item you are tracking |
|
| namespace is where you're tracking is where you're tracking is where you're tracking is where you're tracking |
|
| 리소스는 추적 중인 항목의 리소스 유형입니다. |