1장. 머신 관리 개요
머신 관리를 사용하여 AWS(Amazon Web Services), Microsoft Azure, GCP(Google Cloud Platform), RHOSP(Red Hat OpenStack Platform) 및 VMware vSphere와 같은 기본 인프라에서 유연하게 작업하여 OpenShift Container Platform 클러스터를 관리할 수 있습니다. 특정 워크로드 정책에 따라 클러스터를 제어하고 클러스터 확장 및 축소와 같은 자동 확장을 수행할 수 있습니다.
워크로드 변경에 적합한 클러스터를 사용하는 것이 중요합니다. 로드가 증가하거나 감소하면 OpenShift Container Platform 클러스터는 수평으로 확장 및 축소할 수 있습니다.
			머신 관리는 CRD(사용자 정의 리소스 정의 )로 구현됩니다. CRD 오브젝트는 클러스터에서 새로운 고유한 오브젝트 Kind를 정의하고 Kubernetes API 서버에서 오브젝트의 전체 라이프사이클을 처리할 수 있습니다.
		
Machine API Operator는 다음 리소스를 프로비저닝합니다.
- 
					MachineSet
- 
					머신
- 
					ClusterAutoscaler
- 
					MachineAutoscaler
- 
					MachineHealthCheck
1.1. Machine API 개요
Machine API는 업스트림 Cluster API 프로젝트 및 사용자 정의 OpenShift Container Platform 리소스를 기반으로 하는 주요 리소스의 조합입니다.
OpenShift Container Platform 4.16 클러스터의 경우 Machine API는 클러스터 설치가 완료된 후 모든 노드 호스트 프로비저닝 관리 작업을 수행합니다. 이 시스템으로 인해 OpenShift Container Platform 4.16은 퍼블릭 또는 프라이빗 클라우드 인프라에 더하여 탄력적이고 동적인 프로비저닝 방법을 제공합니다.
두 가지 주요 리소스는 다음과 같습니다.
- Machine
- 
							노드의 호스트를 설명하는 기본 단위입니다. 머신에는 providerSpec사양이 있으며 이는 다른 클라우드 플랫폼에 제공되는 컴퓨팅 노드 유형을 설명합니다. 예를 들어 컴퓨팅 노드의 머신 유형은 특정 시스템 유형과 필수 메타데이터를 정의할 수 있습니다.
- 머신 세트
- MachineSet리소스는 컴퓨팅 머신 그룹입니다. 컴퓨팅 머신 세트는 컴퓨팅 머신에 연관되어 있고 복제본 세트는 pod에 연관되어 있습니다. 더 많은 컴퓨팅 머신이 필요하거나 확장해야 하는 경우 컴퓨팅 요구 사항에 맞게- MachineSet리소스의- replicas필드를 변경합니다.주의- 컨트롤 플레인 시스템은 컴퓨팅 머신 세트로 관리할 수 없습니다. - 컨트롤 플레인 머신 세트는 컴퓨팅 머신에 제공하는 컴퓨팅 머신 세트와 유사한 지원되는 컨트롤 플레인 시스템에 대한 관리 기능을 제공합니다. - 자세한 내용은 "컨트롤 플레인 머신 관리"를 참조하십시오. 
다음 사용자 지정 리소스는 클러스터에 더 많은 기능을 추가할 수 있습니다.
- 머신 자동 스케일러
- MachineAutoscaler리소스는 클라우드에서 컴퓨팅 머신을 자동으로 확장합니다. 지정된 컴퓨팅 머신 세트에서 노드의 최소 및 최대 스케일링 경계를 설정할 수 있으며 머신 자동 스케일러는 해당 노드 범위를 유지합니다.- MachineAutoscaler객체는- ClusterAutoscaler객체를 설정한 후에 사용할 수 있습니다.- ClusterAutoscaler및- MachineAutoscaler리소스는 모두- ClusterAutoscalerOperator오브젝트에서 사용 가능합니다.
- Cluster autoscaler
- 이 리소스는 업스트림 클러스터 자동 스케일러 프로젝트를 기반으로 합니다. OpenShift Container Platform 구현에서는 컴퓨팅 머신 세트 API를 확장하여 Machine API와 통합됩니다. 클러스터 자동 스케일러를 사용하여 다음과 같은 방법으로 클러스터를 관리할 수 있습니다. - 코어, 노드, 메모리, GPU와 같은 리소스에 대한 클러스터 전체 스케일링 제한을 설정합니다.
- 중요도가 낮은 Pod에 대해 클러스터가 Pod 및 새 노드가 온라인 상태가 되지 않도록 우선 순위를 설정합니다.
- 노드를 확장할 수는 있지만 축소할 수 없도록 스케일링 정책을 설정합니다.
 
- 머신 상태 점검
- 
							MachineHealthCheck리소스는 머신의 비정상적인 상태를 감지하여 삭제한 후 지원되는 플랫폼에서 새 머신을 생성합니다.
OpenShift Container Platform 버전 3.11에서는 클러스터가 머신 프로비저닝을 관리하지 않았기 때문에 다중 영역 아키텍처를 쉽게 롤아웃할 수 없었습니다. OpenShift Container Platform 버전 4.1부터 이러한 프로세스가 더 쉬워졌습니다. 각 컴퓨팅 머신 세트의 범위는 단일 영역으로 지정되므로 설치 프로그램은 사용자를 대신하여 가용성 영역 전체에 컴퓨팅 머신 세트를 보냅니다. 또한 계산이 동적이고 영역 장애가 발생하여 머신을 재조정해야하는 경우 처리할 수 있는 영역을 확보할 수 있습니다. 여러 가용성 영역이 없는 글로벌 Azure 리전에서는 가용성 세트를 사용하여 고가용성을 보장할 수 있습니다. Autoscaler는 클러스터의 수명 기간 동안 최적의 균형을 유지합니다.