3장. 설치 및 업데이트
3.1. OpenShift Container Platform 설치 정보
OpenShift Container Platform 설치 프로그램의 유연성을 활용하여 클러스터를 설치할 수 있습니다. 다음과 같은 방법으로 프로그램을 사용할 수 있습니다.
- 프로비저닝된 인프라에 클러스터를 배포합니다.
- 준비 및 유지 관리하는 인프라에 클러스터를 배포합니다.
다음 목록에서는 기본 OpenShift Container Platform 클러스터의 두 가지 유형을 자세히 설명합니다.
- 설치 프로그램에서 제공하는 인프라 클러스터입니다.
- 사용자 프로비저닝 인프라 클러스터입니다.
두 클러스터 유형 모두 다음과 같은 특징이 있습니다.
- 기본적으로 사용 가능한 단일 장애 지점이 없는 고가용성 인프라입니다.
- 관리자는 업데이트 메커니즘 및 일정과 같은 업데이트를 제어할 수 있습니다.
3.1.1. 설치 프로그램 정보
설치 프로그램을 사용하여 각 유형의 클러스터를 배포할 수 있습니다. 설치 프로그램은 부트스트랩, 컨트롤 플레인 및 컴퓨팅 머신의 Ignition 구성 파일과 같은 주요 자산을 생성합니다. 인프라를 올바르게 구성한 경우 세 가지 머신 구성으로 OpenShift Container Platform 클러스터를 시작할 수 있습니다.
OpenShift Container Platform 설치 프로그램은 일련의 대상 및 종속 항목을 사용하여 클러스터 설치를 관리합니다. 설치 프로그램에는 달성해야 할 대상 세트가 있으며 각 대상에는 종속 항목 세트가 있습니다. 각 대상은 자체 종속 항목에만 관련되므로 설치 프로그램은 최종 대상과 동시에 여러 대상을 실행 중인 클러스터가 되도록 할 수 있습니다. 설치 프로그램은 종속성을 충족하기 때문에 명령을 실행하여 다시 생성하는 대신 기존 구성 요소를 인식하고 사용합니다.
그림 3.1. OpenShift Container Platform 설치 대상 및 종속 항목
3.1.2. RHCOS(Red Hat Enterprise Linux CoreOS) 정보
설치 후 각 클러스터 시스템은 운영 체제로 RHCOS (Red Hat Enterprise Linux CoreOS)를 사용합니다. RHCOS는 RHEL(Red Hat Enterprise Linux)의 변경 불가능한 컨테이너 호스트 버전이며 기본적으로 SELinux가 활성화된 RHEL 커널을 제공합니다. RHCOS에는 Kubernetes 노드 에이전트인 kubelet
과 Kubernetes에 최적화된 CRI-O 컨테이너 런타임이 포함됩니다.
OpenShift Container Platform 4.11 클러스터의 모든 컨트롤 플레인 시스템은 Ignition이라는 중요한 최초 부팅 프로비저닝 도구를 포함하는 RHCOS를 사용해야 합니다. 이 도구를 사용하면 클러스터가 머신을 구성할 수 있습니다. 운영 체제 업데이트는 OSTree 를 백엔드로 사용하여 Machine Config Operator에 의해 클러스터 전체에 배포되는 부팅 가능한 컨테이너 이미지로 제공됩니다. 실제 운영 체제 변경은 rpm-ostree 를 사용하여 각 머신에서 원자 작업으로 수행됩니다. 이러한 기술을 함께 사용하면 OpenShift Container Platform에서 전체 플랫폼을 최신 상태로 유지하는 인플레이스 업그레이드를 통해 클러스터의 다른 애플리케이션을 관리하는 것처럼 운영 체제를 관리할 수 있습니다. 이러한 내부 업데이트는 운영 팀의 부담을 줄일 수 있습니다.
모든 클러스터 머신의 운영 체제로 RHCOS를 사용하는 경우 클러스터가 운영 체제를 포함한 구성 요소 및 머신의 모든 측면을 관리합니다. 그러면 설치 프로그램 및 Machine Config Operator만 머신을 변경할 수 있습니다. 설치 프로그램에서는 Ignition 구성 파일을 사용하여 각 머신의 정확한 상태를 설정하고 Machine Config Operator는 설치 후 새 인증서 또는 키 적용과 같은 머신에 대한 추가 변경을 완료합니다.
3.1.3. OpenShift Container Platform 클러스터에서 지원되는 플랫폼
OpenShift Container Platform 4.11에서는 다음 플랫폼에서 설치 관리자 프로비저닝 인프라를 사용하는 클러스터를 설치할 수 있습니다.
- Alibaba Cloud
- AWS(Amazon Web Services)
- 베어 메탈
- GCP(Google Cloud Platform)
- IBM Cloud® VPC
- Microsoft Azure
- Microsoft Azure Stack Hub
- Nutanix
Red Hat OpenStack Platform (RHOSP)
- 최신 OpenShift Container Platform 릴리스는 최신 RHOSP 긴 수명 릴리스 및 중간 릴리스를 모두 지원합니다. 완전한 RHOSP 릴리스 호환성에 대해서는 RHOSP의 OpenShift Container Platform on RHOSP 지원 매트릭스를 참조하십시오.
- AWS의 VMware Cloud (VMC)
- VMware vSphere
이러한 클러스터의 경우, 설치 프로세스를 실행하는 컴퓨터를 포함한 모든 머신은 플랫폼 컨테이너의 이미지를 가져오고 원격 분석 데이터를 Red Hat에 제공하기 위해 인터넷에 직접 액세스할 수 있어야 합니다.
설치 후 다음 변경 사항은 지원되지 않습니다.
- 클라우드 공급자 플랫폼 혼합.
- 클라우드 공급자 구성 요소 혼합. 예를 들어 클러스터를 설치한 플랫폼의 다른 플랫폼의 영구 스토리지 프레임워크를 사용합니다.
OpenShift Container Platform 4.11에서는 다음 플랫폼에서 사용자 프로비저닝 인프라를 사용하는 클러스터를 설치할 수 있습니다.
- AWS
- Azure
- Azure Stack Hub
- 베어 메탈
- GCP
- IBM Power
- IBM Z 또는 IBM® LinuxONE
RHOSP
- 최신 OpenShift Container Platform 릴리스는 최신 RHOSP 긴 수명 릴리스 및 중간 릴리스를 모두 지원합니다. 완전한 RHOSP 릴리스 호환성에 대해서는 RHOSP의 OpenShift Container Platform on RHOSP 지원 매트릭스를 참조하십시오.
- AWS의 VMware Cloud
- VMware vSphere
플랫폼의 지원되는 사례에 따라 사용자 프로비저닝 인프라에서 설치를 수행하여 완전한 인터넷 액세스 권한이 있는 머신을 실행하거나 클러스터를 프록시 뒤에 배치하거나, 연결이 끊긴 설치를 수행할 수 있습니다.
연결이 끊긴 설치에서는 클러스터를 설치하는 데 필요한 이미지를 다운로드하여 미러 레지스트리에 배치한 다음 해당 데이터를 사용하여 클러스터를 설치할 수 있습니다. vSphere 또는 베어 메탈 인프라에 연결이 끊긴 설치와 함께 플랫폼 컨테이너의 이미지를 가져오려면 인터넷 액세스가 필요하지만 클러스터 시스템에는 직접 인터넷 액세스가 필요하지 않습니다.
다른 플랫폼의 통합 테스트에 대한 자세한 내용은 OpenShift Container Platform 4.x 통합 테스트 페이지를 참조하십시오.
3.1.4. 설치 프로세스
OpenShift Container Platform 클러스터를 설치할 때 OpenShift Cluster Manager Hybrid Cloud Console의 적절한 Cluster Type 페이지에서 설치 프로그램을 다운로드합니다. 이 콘솔은 다음을 관리합니다.
- 계정용 REST API.
- 필수 구성 요소를 가져오는 데 사용하는 풀 시크릿인 레지스트리 토큰입니다.
- 사용 지표 수집이 용이하도록 클러스터 ID를 Red Hat 계정에 연결하는 클러스터 등록.
OpenShift Container Platform 4.11에서 설치 프로그램은 자산 세트에서 일련의 파일 변환을 수행하는 Go 바이너리 파일입니다. 설치 프로그램과 상호 작용하는 방법은 설치 유형에 따라 다릅니다. 다음 설치 사용 사례를 고려하십시오.
- 설치 관리자 프로비저닝 인프라가 있는 클러스터의 경우 인프라 부트스트랩 및 프로비저닝을 직접 수행하는 대신 설치 프로그램에 위임합니다. 설치 프로그램은 클러스터를 지원하는 데 필요한 모든 네트워킹, 머신 및 운영 체제를 생성합니다.
- 클러스터의 인프라를 프로비저닝하고 관리하는 경우 부트스트랩 머신, 네트워킹, 부하 분산, 스토리지 및 개별 클러스터 머신을 포함한 모든 클러스터 인프라 및 리소스를 제공해야 합니다.
설치하는 동안 install-config.yaml
이라는 설치 구성 파일, Kubernetes 매니페스트 및 머신 유형에 맞는 Ignition 구성 파일의 세 가지 파일 세트를 사용합니다.
설치 중에 기본 RHCOS 운영 체제를 제어하는 Kubernetes 및 Ignition 구성 파일을 수정할 수 있습니다. 그러나 이러한 오브젝트를 수정한 내용이 적합한지 확인할 수 있는 유효성 검사는 없습니다. 이러한 오브젝트를 수정하면 클러스터가 작동하지 않을 수 있습니다. 이 위험 때문에 문서화된 절차를 따르거나 Red Hat 지원 부서에서 지시하지 않는 한 Kubernetes 및 Ignition 구성 파일 수정은 지원되지 않습니다.
설치 구성 파일은 Kubernetes 매니페스트로 변환된 다음 매니페스트가 Ignition 구성 파일로 래핑됩니다. 설치 프로그램은 이러한 Ignition 구성 파일을 사용하여 클러스터를 생성합니다.
설치 프로그램을 실행할 때 설치 구성 파일이 모두 정리되므로 다시 사용하려는 모든 구성 파일을 백업하십시오.
설치 중에 설정한 매개변수는 수정할 수 없지만 설치 후에는 많은 클러스터 속성을 수정할 수 있습니다.
설치 관리자가 프로비저닝한 인프라를 사용하는 설치 프로세스
기본 설치 유형에서는 설치 관리자 프로비저닝 인프라를 사용합니다. 기본적으로 설치 프로그램은 설치 마법사 역할을 하여 자체적으로 결정할 수 없는 값을 입력하라는 메시지를 표시하고 나머지 매개변수에 대한 적절한 기본값을 제공합니다. 고급 인프라 시나리오를 지원하도록 설치 프로세스를 사용자 정의할 수도 있습니다. 설치 프로그램은 클러스터의 기본 인프라를 프로비저닝합니다.
표준 클러스터 또는 사용자 정의된 클러스터를 설치할 수 있습니다. 표준 클러스터에서는 클러스터를 설치하는 데 필요한 최소 세부 정보를 제공합니다. 사용자 지정 클러스터를 사용하면 컨트롤 플레인에서 사용하는 머신 수, 클러스터가 배포하는 가상 머신 유형 또는 Kubernetes 서비스 네트워크의 CIDR 범위와 같은 플랫폼에 대한 세부 정보를 지정할 수 있습니다.
가능하면 이 기능을 사용하여 클러스터 인프라를 프로비저닝 및 유지보수하지 않아도 됩니다. 다른 모든 환경에서는 설치 프로그램을 사용하여 클러스터 인프라를 프로비저닝하는 데 필요한 자산을 생성합니다.
OpenShift Container Platform은 설치 프로그램에서 프로비저닝한 인프라 클러스터를 통해 운영 체제 자체를 포함하여 클러스터의 모든 측면을 관리합니다. 각 머신은 결합하는 클러스터에서 호스팅되는 리소스를 참조하는 구성으로 부팅됩니다. 이 구성을 사용하면 업데이트가 적용될 때 클러스터가 자체적으로 관리될 수 있습니다.
사용자 프로비저닝 인프라를 사용하는 설치 프로세스
제공하는 인프라에 OpenShift Container Platform도 설치할 수 있습니다. 설치 프로그램을 사용하여 클러스터 인프라를 프로비저닝하고 클러스터 인프라를 생성한 다음 제공한 인프라에 클러스터를 배포하는 데 필요한 자산을 생성합니다.
설치 프로그램이 프로비저닝한 인프라를 사용하지 않는 경우 클러스터 리소스를 직접 관리하고 유지보수해야 합니다. 다음 목록에서는 이러한 자체 관리 리소스 중 일부를 자세히 설명합니다.
- 클러스터를 구성하는 컨트롤 플레인 및 컴퓨팅 머신의 기본 인프라
- 로드 밸런서
- DNS 레코드 및 필수 서브넷을 포함한 클러스터 네트워킹
- 클러스터 인프라 및 애플리케이션용 스토리지
클러스터가 사용자 프로비저닝 인프라를 사용하는 경우 RHEL 컴퓨팅 머신을 클러스터에 추가할 수 있습니다.
설치 프로세스 세부사항
클러스터가 프로비저닝되면 클러스터의 각 시스템에 클러스터에 대한 정보가 필요합니다. OpenShift Container Platform은 초기 구성 중에 임시 부트스트랩 머신을 사용하여 필요한 정보를 영구 컨트롤 플레인에 제공합니다. 임시 부트스트랩 머신은 클러스터 생성 방법을 설명하는 Ignition 구성 파일을 사용하여 부팅됩니다. 부트스트랩 시스템은 컨트롤 플레인을 구성하는 컨트롤 플레인 시스템을 생성합니다. 그런 다음 컨트롤 플레인 시스템에서는 작업자 머신이라고도 하는 컴퓨팅 머신을 만듭니다. 다음 그림은 이 프로세스를 보여줍니다.
그림 3.2. 부트스트랩, 컨트롤 플레인 및 컴퓨팅 시스템 생성
클러스터 머신이 초기화되면 부트스트랩 머신이 손상됩니다. 모든 클러스터에서는 부트스트랩 프로세스를 사용하여 클러스터를 초기화하지만, 클러스터의 인프라를 프로비저닝하는 경우 많은 단계를 수동으로 완료해야 합니다.
-
설치 프로그램에서 생성하는 Ignition 구성 파일에 24시간 후에 만료되는 인증서가 포함되어 있습니다. 이 인증서는 그 후에 갱신됩니다. 인증서를 갱신하기 전에 클러스터가 종료되고 24시간이 지난 후에 클러스터가 다시 시작되면 클러스터는 만료된 인증서를 자동으로 복구합니다. 예외적으로 kubelet 인증서를 복구하려면 대기 중인
node-bootstrapper
인증서 서명 요청(CSR)을 수동으로 승인해야 합니다. 자세한 내용은 만료된 컨트롤 플레인 인증서에서 복구 문서를 참조하십시오. - 24시간 인증서는 클러스터를 설치한 후 16시간에서 22시간 사이에 회전하므로 생성된 후 12시간 이내에 Ignition 구성 파일을 사용하는 것이 좋습니다. 12시간 이내에 Ignition 구성 파일을 사용하면 설치 중에 인증서 업데이트가 실행되는 경우 설치 실패를 방지할 수 있습니다.
클러스터 부트스트랩에는 다음 단계가 포함됩니다.
- 부트스트랩 머신이 부팅되고 컨트롤 플레인 머신을 부팅하는 데 필요한 원격 리소스 호스팅이 시작됩니다. 인프라를 프로비저닝하는 경우 이 단계에는 수동 개입이 필요합니다.
- 부트스트랩 머신은 단일 노드 etcd 클러스터와 임시 Kubernetes 컨트롤 플레인을 시작합니다.
- 컨트롤 플레인 머신은 부트스트랩 머신에서 원격 리소스를 가져오고 부팅을 완료합니다. 인프라를 프로비저닝하는 경우 이 단계에는 수동 개입이 필요합니다.
- 임시 컨트롤 플레인은 프로덕션 컨트롤러 플레인을 프로덕션 컨트롤 플레인 머신에 예약합니다.
- CVO(Cluster Version Operator)가 온라인 상태가 되어 etcd Operator를 설치합니다. etcd Operator는 모든 컨트롤 플레인 노드에서 etcd를 확장합니다.
- 임시 컨트롤 플레인이 종료되고 제어를 프로덕션 컨트롤 플레인에 전달합니다.
- 부트스트랩 머신은 OpenShift Container Platform 구성 요소를 프로덕션 컨트롤 플레인에 주입합니다.
- 설치 프로그램이 부트스트랩 머신을 종료합니다. 인프라를 프로비저닝하는 경우 이 단계에는 수동 개입이 필요합니다.
- 컨트롤 플레인이 컴퓨팅 노드를 설정합니다.
- 컨트롤 플레인은 일련의 Operator 형태로 추가 서비스를 설치합니다.
이 부트스트랩 프로세스의 결과는 실행 중인 OpenShift Container Platform 클러스터입니다. 그런 다음 클러스터는 지원되는 환경에서 컴퓨팅 머신 생성을 포함하여 일상적인 작업에 필요한 나머지 구성 요소를 다운로드하고 구성합니다.
설치 범위
OpenShift Container Platform 설치 프로그램의 범위는 의도적으로 한정됩니다. 단순성과 성공을 보장하도록 설계되었습니다. 설치가 완료된 후 많은 추가 구성 작업을 완료할 수 있습니다.
추가 리소스
- OpenShift Container Platform 구성 리소스에 대한 자세한 내용은 사용 가능한 클러스터 사용자 정의를 참조하십시오.