17.2. 통신사 핵심 CNF 클러스터 업그레이드
17.2.1. 통신사 핵심 CNF 클러스터 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform은 모든 릴리스와 EUS 릴리스 간 업데이트 경로에 대해 장기 지원 또는 확장 업데이트 지원(EUS)을 제공합니다. 한 EUS 버전에서 다음 EUS 버전으로 업데이트할 수 있습니다. y-stream과 z-stream 버전 간에 업데이트하는 것도 가능합니다.
17.2.1.1. 통신사 핵심 CNF 클러스터에 대한 클러스터 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
클러스터를 업데이트하는 것은 버그와 잠재적인 보안 취약점이 패치되었는지 확인하는 중요한 작업입니다. 종종 클라우드 기반 네트워크 기능(CNF)을 업데이트하려면 클러스터 버전을 업데이트할 때 제공되는 플랫폼의 추가 기능이 필요합니다. 또한 클러스터 플랫폼 버전이 지원되는지 확인하려면 클러스터를 주기적으로 업데이트해야 합니다.
EUS 릴리스를 최신 상태로 유지하고 중요한 z-stream 릴리스로만 업그레이드하면 업데이트를 적용하는 데 필요한 노력을 최소화할 수 있습니다.
클러스터의 업데이트 경로는 클러스터의 크기와 토폴로지에 따라 달라질 수 있습니다. 여기에 설명된 업데이트 절차는 3노드 클러스터부터 통신사 규모 팀에서 인증한 가장 큰 규모의 클러스터까지 대부분의 클러스터에 유효합니다. 여기에는 혼합 작업 부하 클러스터에 대한 몇 가지 시나리오가 포함됩니다.
다음 업데이트 시나리오는 다음과 같습니다.
- 제어 평면만 업데이트
- Y-스트림 업데이트
- Z-스트림 업데이트
제어 평면 전용 업데이트는 이전에는 EUS-EUS 업데이트로 알려져 있었습니다. Control Plane Only 업데이트는 OpenShift Container Platform의 짝수 번째 마이너 버전 간에만 실행 가능합니다.
17.2.2. 업데이트 버전 간 클러스터 API 버전 확인 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소가 업데이트됨에 따라 API는 시간이 지남에 따라 변경됩니다. 업데이트된 클러스터 버전과 클라우드 기반 네트워크 기능(CNF) API가 호환되는지 확인하는 것이 중요합니다.
17.2.2.1. OpenShift 컨테이너 플랫폼 API 호환성 링크 복사링크가 클립보드에 복사되었습니다!
새로운 y-stream 업데이트의 일부로 어떤 z-stream 릴리스로 업데이트할지 고려할 때, 이전 z-stream 버전에 있는 모든 패치가 새로운 z-stream 버전에 있는지 확인해야 합니다. 업데이트한 버전에 필요한 패치가 모두 포함되어 있지 않으면 Kubernetes의 기본 호환성이 손상됩니다.
예를 들어, 클러스터 버전이 4.15.32인 경우 4.15.32에 적용된 모든 패치가 포함된 4.16 z-stream 릴리스로 업데이트해야 합니다.
17.2.2.1.1. Kubernetes 버전 왜곡에 관하여 링크 복사링크가 클립보드에 복사되었습니다!
각 클러스터 Operator는 특정 API 버전을 지원합니다. Kubernetes API는 시간이 지남에 따라 발전하며, 최신 버전은 더 이상 사용되지 않거나 기존 API를 변경할 수 있습니다. 이것을 "버전 왜곡"이라고 합니다. 새로운 릴리스가 나올 때마다 API 변경 사항을 검토해야 합니다. API는 여러 Operator 릴리스 간에 호환될 수 있지만 호환성은 보장되지 않습니다. 버전 불균형으로 인해 발생하는 문제를 완화하려면 명확하게 정의된 업데이트 전략을 따르세요.
17.2.2.2. 클러스터 버전 업데이트 경로 결정 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift Container Platform Update Graph 도구를 사용하여 업데이트하려는 z-stream 릴리스에 대한 경로가 유효한지 확인합니다. 업데이트 경로가 통신사 구현에 유효한지 확인하려면 Red Hat 기술 계정 관리자에게 업데이트를 확인하세요.
업데이트하는 <4.y+1.z> 또는 <4.y+2.z> 버전은 업데이트하려는 <4.yz> 릴리스와 동일한 패치 레벨을 가져야 합니다.
OpenShift 업데이트 프로세스에서는 특정 <4.yz> 릴리스에 수정 사항이 있는 경우 해당 수정 사항이 업데이트 대상 <4.y+1.z> 릴리스에도 있어야 한다고 규정하고 있습니다.
그림 17.1. 버그 수정 백포팅 및 업데이트 그래프
OpenShift 개발에는 회귀를 방지하는 엄격한 백포트 정책이 있습니다. 예를 들어, 버그는 4.15.z에서 수정되기 전에 4.16.z에서 수정되어야 합니다. 즉, 업데이트 그래프는 하위 버전이 더 높더라도(예: 4.15.24에서 4.16.2로 업데이트) 시간순으로 더 오래된 릴리스로의 업데이트를 허용하지 않습니다.
17.2.2.3. 대상 릴리스 선택 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift Container Platform 업데이트 그래프 또는 cincinnati-graph-data 저장소를 사용하여 업데이트할 릴리스를 확인하세요.
17.2.2.3.1. 사용 가능한 z-stream 업데이트 확인 링크 복사링크가 클립보드에 복사되었습니다!
새로운 z-stream 릴리스로 업데이트하기 전에 어떤 버전을 사용할 수 있는지 알아야 합니다.
z-stream 업데이트를 수행할 때 채널을 변경할 필요는 없습니다.
프로세스
어떤 z-stream 릴리스가 사용 가능한지 확인하세요. 다음 명령을 실행합니다.
oc adm upgrade
$ oc adm upgrade
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.2.3.2. 제어 평면 전용 업데이트에 대한 채널 변경 링크 복사링크가 클립보드에 복사되었습니다!
Control Plane Only 업데이트를 위해서는 채널을 필요한 버전으로 변경해야 합니다.
z-stream 업데이트를 수행할 때 채널을 변경할 필요는 없습니다.
프로세스
현재 구성된 업데이트 채널을 확인하세요.
oc get clusterversion -o=jsonpath='{.items[*].spec}' | jq
$ oc get clusterversion -o=jsonpath='{.items[*].spec}' | jq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
{ "channel": "stable-4.14", "clusterID": "01eb9a57-2bfb-4f50-9d37-dc04bd5bac75" }
{ "channel": "stable-4.14", "clusterID": "01eb9a57-2bfb-4f50-9d37-dc04bd5bac75" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트하려는 새 채널을 가리키도록 채널을 변경하세요.
oc adm upgrade channel eus-4.16
$ oc adm upgrade channel eus-4.16
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트된 채널을 확인하세요.
oc get clusterversion -o=jsonpath='{.items[*].spec}' | jq
$ oc get clusterversion -o=jsonpath='{.items[*].spec}' | jq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
{ "channel": "eus-4.16", "clusterID": "01eb9a57-2bfb-4f50-9d37-dc04bd5bac75" }
{ "channel": "eus-4.16", "clusterID": "01eb9a57-2bfb-4f50-9d37-dc04bd5bac75" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.2.3.2.1. 조기 EUS 업데이트를 위한 채널 변경 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform의 새로운 릴리스에 대한 업데이트 경로는 사소한 릴리스의 최초 GA 이후 45~90일이 지나야 EUS 채널이나 안정적인 채널에서 사용할 수 있습니다.
새로운 릴리스에 대한 업데이트 테스트를 시작하려면 빠른 채널을 사용할 수 있습니다.
프로세스
채널을
fast-<y+1>
로 변경합니다. 예를 들어 다음 명령을 실행합니다.oc adm upgrade channel fast-4.16
$ oc adm upgrade channel fast-4.16
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새로운 채널에서 업데이트 경로를 확인하세요. 다음 명령을 실행합니다.
oc adm upgrade
$ oc adm upgrade
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow 버전 4.16으로 업데이트하려면 업데이트 절차를 따르세요(버전 4.15에서 <y+1>)
참고빠른 채널을 사용하는 경우에도 EUS 릴리스 사이에 작업자 노드를 일시 중지할 수 있습니다.
-
필요한 <y+1> 릴리스에 도달하면 채널을 다시 변경하고 이번에는
fast-<y+2>
로 변경합니다. - 필요한 <y+2> 릴리스를 받으려면 EUS 업데이트 절차를 따르세요.
17.2.2.3.3. y-스트림 업데이트를 위한 채널 변경 링크 복사링크가 클립보드에 복사되었습니다!
y-stream 업데이트에서는 채널을 다음 릴리스 채널로 변경합니다.
프로덕션 클러스터에는 안정적인 릴리스 채널이나 EUS 릴리스 채널을 사용하세요.
프로세스
업데이트 채널 변경:
oc adm upgrade channel stable-4.15
$ oc adm upgrade channel stable-4.15
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새로운 채널에서 업데이트 경로를 확인하세요. 다음 명령을 실행합니다.
oc adm upgrade
$ oc adm upgrade
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.3. 업데이트를 위한 통신사 핵심 클러스터 플랫폼 준비 링크 복사링크가 클립보드에 복사되었습니다!
일반적으로 통신사 클러스터는 베어메탈 하드웨어에서 실행됩니다. 종종 중요한 보안 문제를 해결하거나, 새로운 기능을 추가하거나, OpenShift Container Platform의 새로운 릴리스와의 호환성을 유지하기 위해 펌웨어를 업데이트해야 합니다.
17.2.3.1. 호스트 펌웨어가 업데이트와 호환되는지 확인 링크 복사링크가 클립보드에 복사되었습니다!
클러스터에서 실행하는 펌웨어 버전에 대한 책임은 사용자에게 있습니다. 호스트 펌웨어 업데이트는 OpenShift Container Platform 업데이트 프로세스의 일부가 아닙니다. OpenShift Container Platform 버전과 함께 펌웨어를 업데이트하는 것은 권장되지 않습니다.
하드웨어 공급업체에서는 현재 사용 중인 특정 하드웨어에 대해 최신 인증 펌웨어 버전을 적용하는 것이 가장 좋다고 조언합니다. 통신용 사례의 경우 프로덕션 환경에서 적용하기 전에 항상 테스트 환경에서 펌웨어 업데이트를 확인합니다. 통신 CNF 워크로드의 높은 처리량은 최적의 호스트 펌웨어의 영향을 받지 않을 수 있습니다.
현재 버전의 OpenShift Container Platform에서 예상대로 작동하는지 확인하려면 새로운 펌웨어 업데이트를 철저히 테스트해야 합니다. 대상 OpenShift Container Platform 업데이트 버전을 사용하여 최신 펌웨어 버전을 테스트하는 것이 좋습니다.
17.2.3.2. 계층형 제품이 업데이트와 호환되는지 확인 링크 복사링크가 클립보드에 복사되었습니다!
업데이트를 시작하기 전에 모든 계층화된 제품이 업데이트하려는 OpenShift Container Platform 버전에서 실행되는지 확인하세요. 여기에는 일반적으로 모든 운영자가 포함됩니다.
프로세스
클러스터에 현재 설치된 운영자를 확인합니다. 예를 들어 다음 명령을 실행합니다.
oc get csv -A
$ oc get csv -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAMESPACE NAME DISPLAY VERSION REPLACES PHASE gitlab-operator-kubernetes.v0.17.2 GitLab 0.17.2 gitlab-operator-kubernetes.v0.17.1 Succeeded openshift-operator-lifecycle-manager packageserver Package Server 0.19.0 Succeeded
NAMESPACE NAME DISPLAY VERSION REPLACES PHASE gitlab-operator-kubernetes.v0.17.2 GitLab 0.17.2 gitlab-operator-kubernetes.v0.17.1 Succeeded openshift-operator-lifecycle-manager packageserver Package Server 0.19.0 Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OLM과 함께 설치한 운영자가 업데이트 버전과 호환되는지 확인하세요.
Operator Lifecycle Manager(OLM)와 함께 설치된 운영자는 표준 클러스터 운영자 세트에 포함되지 않습니다.
운영자 업데이트 정보 검사기를 사용하여 y-스트림을 업데이트할 때마다 운영자를 업데이트해야 하는지, 아니면 다음 EUS 릴리스로 완전히 업데이트할 때까지 기다려도 되는지 확인하세요.
작은 정보또한 Operator Update Information Checker를 사용하여 특정 Operator 릴리스와 호환되는 OpenShift Container Platform 버전을 확인할 수 있습니다.
OLM 외부에 설치한 운영자가 업데이트 버전과 호환되는지 확인하세요.
Red Hat에서 직접 지원하지 않는 모든 OLM 설치 Operator의 경우, Operator 공급업체에 문의하여 릴리스 호환성을 확인하세요.
- 일부 운영자는 OpenShift Container Platform의 여러 릴리스와 호환됩니다. 클러스터 업데이트를 완료하기 전까지는 운영자를 업데이트하지 않아도 될 수도 있습니다. 자세한 내용은 "워커 노드 업데이트"를 참조하세요.
- 첫 번째 y-stream 컨트롤 플레인 업데이트를 수행한 후 Operator를 업데이트하는 방법에 대한 정보는 "모든 OLM Operator 업그레이드"를 참조하십시오.
17.2.3.3. 업데이트 전에 노드에 MachineConfigPool 레이블 적용 링크 복사링크가 클립보드에 복사되었습니다!
대략 8~10개의 노드로 구성된 그룹으로 노드를 그룹화하기 위해 MachineConfigPool
( mcp
) 노드 레이블을 준비합니다. mcp
그룹을 사용하면 클러스터의 나머지 부분과 별도로 노드 그룹을 재부팅할 수 있습니다.
업데이트 프로세스 중에 노드 세트를 일시 중지하거나 일시 중지를 해제하려면 mcp
노드 레이블을 사용하면 원하는 시간에 업데이트를 수행하고 재부팅할 수 있습니다.
17.2.3.3.1. 클러스터 업데이트 단계적 진행 링크 복사링크가 클립보드에 복사되었습니다!
업데이트 중에 문제가 발생하는 경우가 있습니다. 종종 문제는 하드웨어 오류나 노드 재설정 필요성과 관련이 있습니다. MCP
노드 레이블을 사용하면 중요한 순간에 업데이트를 일시 중지하고, 진행하면서 일시 중지된 노드와 일시 중지 해제된 노드를 추적하여 단계적으로 노드를 업데이트할 수 있습니다. 문제가 발생하면 일시 중지되지 않은 상태의 노드를 사용하여 모든 애플리케이션 포드가 계속 실행될 수 있도록 충분한 노드가 실행되고 있는지 확인합니다.
17.2.3.3.2. 작업자 노드를 MachineConfigPool 그룹으로 나누기 링크 복사링크가 클립보드에 복사되었습니다!
워커 노드를 MCP
그룹으로 나누는 방법은 클러스터에 있는 노드 수나 노드 역할에 할당한 노드 수에 따라 달라질 수 있습니다. 기본적으로 클러스터의 두 가지 역할은 제어 평면과 작업자입니다.
통신사 워크로드를 실행하는 클러스터에서는 CNF 제어 평면과 CNF 데이터 평면 역할 간에 작업자 노드를 추가로 분할할 수 있습니다. 작업자 노드를 두 그룹으로 분할하는 mcp
역할 레이블을 추가합니다.
대규모 클러스터는 CNF 제어 평면 역할에 최대 100개의 작업자 노드를 가질 수 있습니다. 클러스터에 노드가 몇 개 있든 각 MachineConfigPool
그룹의 노드 수는 약 10개로 유지하세요. 이를 통해 한 번에 얼마나 많은 노드를 제거할지 제어할 수 있습니다. 여러 MachineConfigPool
그룹을 사용하면 여러 그룹의 일시 중지를 동시에 해제하여 업데이트를 가속화하거나 2개 이상의 유지 관리 창에 걸쳐 업데이트를 분할할 수 있습니다.
- 15개의 작업자 노드가 있는 클러스터 예
15개의 작업자 노드가 있는 클러스터를 생각해 보세요.
- 10개의 워커 노드는 CNF 제어 평면 노드입니다.
- 5개의 워커 노드는 CNF 데이터 플레인 노드입니다.
CNF 제어 평면과 데이터 평면 작업자 노드 역할을 각각 최소 2개의
mcp
그룹으로 분할합니다. 역할당 2개의MCP
그룹이 있다는 것은 업데이트의 영향을 받지 않는 노드 세트를 하나만 가질 수 있다는 것을 의미합니다.- 6개의 작업자 노드가 있는 클러스터 예
6개의 작업자 노드가 있는 클러스터를 생각해 보세요.
-
워커 노드를 각각 2개의 노드로 구성된 3개의
MCP
그룹으로 나눕니다.
mcp
그룹 중 하나를 업그레이드합니다. 다른 4개 노드에서 업데이트를 완료하기 전에 CNF 호환성을 검증할 수 있도록 업데이트된 노드를 하루 동안 기다리세요.-
워커 노드를 각각 2개의 노드로 구성된 3개의
MCP
그룹의 일시 중지를 해제하는 프로세스와 속도는 CNF 애플리케이션과 구성에 따라 결정됩니다.
CNF 포드가 클러스터의 노드 전반에 걸쳐 스케줄링을 처리할 수 있다면, 여러 MCP
그룹의 일시 중지를 한 번에 해제하고 MCP
사용자 정의 리소스(CR)의 MaxUnavailable
을 최대 50%까지 설정할 수 있습니다. 이를 통해 mcp
그룹의 노드 중 최대 절반을 다시 시작하고 업데이트할 수 있습니다.
17.2.3.3.3. 구성된 클러스터 MachineConfigPool 역할 검토 링크 복사링크가 클립보드에 복사되었습니다!
클러스터에서 현재 구성된 MachineConfigPool
역할을 검토합니다.
프로세스
클러스터에 현재 구성된
mcp
그룹을 가져옵니다.oc get mcp
$ oc get mcp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-bere83 True False False 3 3 3 0 25d worker rendered-worker-245c4f True False False 2 2 2 0 25d
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-bere83 True False False 3 3 3 0 25d worker rendered-worker-245c4f True False False 2 2 2 0 25d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mcp
역할 목록을 클러스터의 노드 목록과 비교하세요.oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고mcp
그룹 변경을 적용하면 노드 역할이 업데이트됩니다.워커 노드를
MCP
그룹으로 분리하는 방법을 결정합니다.
17.2.3.3.4. 클러스터에 대한 MachineConfigPool 그룹 생성 링크 복사링크가 클립보드에 복사되었습니다!
mcp
그룹을 만드는 것은 2단계 프로세스입니다.
-
클러스터의 노드에
mcp
레이블을 추가합니다. -
레이블을 기준으로 노드를 구성하는 클러스터에
mcp
CR을 적용합니다.
프로세스
노드에 레이블을 지정하여
mcp
그룹에 넣을 수 있도록 합니다. 다음 명령을 실행하세요.oc label node worker-0 node-role.kubernetes.io/mcp-1=
$ oc label node worker-0 node-role.kubernetes.io/mcp-1=
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc label node worker-1 node-role.kubernetes.io/mcp-2=
$ oc label node worker-1 node-role.kubernetes.io/mcp-2=
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mcp-1
과mcp-2
라벨이 노드에 적용됩니다. 예를 들면 다음과 같습니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에서 레이블을
mcp
CR로 적용하는 YAML 사용자 정의 리소스(CR)를 만듭니다. 다음 YAML을mcps.yaml
파일에 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow MachineConfigPool
리소스를 만듭니다.oc apply -f mcps.yaml
$ oc apply -f mcps.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
machineconfigpool.machineconfiguration.openshift.io/mcp-2 created
machineconfigpool.machineconfiguration.openshift.io/mcp-2 created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
클러스터에 적용되는 MachineConfigPool
리소스를 모니터링합니다. mcp
리소스를 적용하면 노드가 새 머신 구성 풀에 추가됩니다. 이 작업에는 몇 분 정도 걸립니다.
노드는 mcp
그룹에 추가되는 동안 재부팅되지 않습니다. 원래의 작업자 및 마스터 MCP
그룹은 변경되지 않습니다.
새로운
mcp
리소스의 상태를 확인하세요.oc get mcp
$ oc get mcp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-be3e83 True False False 3 3 3 0 25d mcp-1 rendered-mcp-1-2f4c4f False True True 1 0 0 0 10s mcp-2 rendered-mcp-2-2r4s1f False True True 1 0 0 0 10s worker rendered-worker-23fc4f False True True 0 0 0 2 25d
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-be3e83 True False False 3 3 3 0 25d mcp-1 rendered-mcp-1-2f4c4f False True True 1 0 0 0 10s mcp-2 rendered-mcp-2-2r4s1f False True True 1 0 0 0 10s worker rendered-worker-23fc4f False True True 0 0 0 2 25d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 결국, 리소스가 완전히 적용됩니다.
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-be3e83 True False False 3 3 3 0 25d mcp-1 rendered-mcp-1-2f4c4f True False False 1 1 1 0 7m33s mcp-2 rendered-mcp-2-2r4s1f True False False 1 1 1 0 51s worker rendered-worker-23fc4f True False False 0 0 0 0 25d
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-be3e83 True False False 3 3 3 0 25d mcp-1 rendered-mcp-1-2f4c4f True False False 1 1 1 0 7m33s mcp-2 rendered-mcp-2-2r4s1f True False False 1 1 1 0 51s worker rendered-worker-23fc4f True False False 0 0 0 0 25d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.3.4. 통신사 배포 환경 고려 사항 링크 복사링크가 클립보드에 복사되었습니다!
통신 환경에서 대부분의 클러스터는 연결이 끊긴 네트워크에 있습니다. 이러한 환경에서 클러스터를 업데이트하려면 오프라인 이미지 저장소를 업데이트해야 합니다.
17.2.3.5. 클러스터 플랫폼 업데이트를 위한 준비 링크 복사링크가 클립보드에 복사되었습니다!
클러스터를 업데이트하기 전에 몇 가지 기본 검사와 검증을 수행하여 클러스터가 업데이트할 준비가 되었는지 확인하세요.
프로세스
다음 명령을 실행하여 클러스터에 실패했거나 진행 중인 포드가 없는지 확인하세요.
oc get pods -A | grep -E -vi 'complete|running'
$ oc get pods -A | grep -E -vi 'complete|running'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고보류 상태의 포드가 있는 경우 이 명령을 두 번 이상 실행해야 할 수도 있습니다.
클러스터의 모든 노드를 사용할 수 있는지 확인합니다.
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 베어 메탈 노드가 프로비저닝되고 준비되었는지 확인합니다.
oc get bmh -n openshift-machine-api
$ oc get bmh -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
Worker-1
노드를 프로비저닝하는 동안 오류가 발생했습니다.
검증
모든 클러스터 운영자가 준비되었는지 확인하세요.
oc get co
$ oc get co
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.4. 통신사 핵심 CNF 클러스터를 업데이트하기 전에 CNF 포드 구성 링크 복사링크가 클립보드에 복사되었습니다!
업데이트 중에 클러스터가 Pod를 예약할 수 있도록 클라우드 기반 네트워크 기능(CNF)을 개발할 때 Kubernetes에 대한 Red Hat 모범 사례 의 지침을 따르세요.
항상 배포
리소스를 사용하여 그룹으로 포드를 배포합니다. 배포
리소스는 사용 가능한 모든 포드에 작업 부하를 분산시켜 단일 장애 지점이 없도록 보장합니다. 배포
리소스에서 관리하는 Pod가 삭제되면 새 Pod가 자동으로 해당 자리를 대신합니다.
17.2.4.1. CNF 워크로드가 Pod 중단 예산으로 중단 없이 실행되도록 합니다. 링크 복사링크가 클립보드에 복사되었습니다!
PodDisruptionBudget
사용자 정의 리소스(CR)에서 포드 중단 예산을 설정하여 CNF 워크로드가 중단 없이 실행될 수 있도록 배포에서 최소한의 포드 수를 구성할 수 있습니다. 이 값을 설정할 때는 주의하세요. 잘못 설정하면 업데이트가 실패할 수 있습니다.
예를 들어, 배포에 4개의 포드가 있고 포드 중단 예산을 4로 설정하면 클러스터 스케줄러는 항상 4개의 포드를 계속 실행합니다. 즉, 포드를 축소할 수 없습니다.
대신, 포드 중단 예산을 2로 설정하여 4개의 포드 중 2개가 중단으로 예약되도록 합니다. 그런 다음 해당 포드가 위치한 워커 노드를 재부팅할 수 있습니다.
포드 중단 예산을 2로 설정한다고 해서 배포가 일정 기간(예: 업데이트 중) 동안 2개의 포드에서만 실행된다는 의미는 아닙니다. 클러스터 스케줄러는 2개의 기존 Pod를 대체하기 위해 2개의 새로운 Pod를 생성합니다. 하지만 새로운 포드가 온라인에 올라오고 기존 포드가 삭제되는 사이에는 짧은 시간 간격이 있습니다.
17.2.4.2. 포드가 동일한 클러스터 노드에서 실행되지 않도록 보장 링크 복사링크가 클립보드에 복사되었습니다!
쿠버네티스에서 고가용성을 구현하려면 클러스터의 별도 노드에서 복제 프로세스를 실행해야 합니다. 이렇게 하면 한 노드를 사용할 수 없게 되더라도 애플리케이션이 계속 실행됩니다. OpenShift Container Platform에서는 배포 시 프로세스를 별도의 Pod에 자동으로 복제할 수 있습니다. 배포 내의 포드가 동일한 클러스터 노드에서 실행되지 않도록 하려면 Pod
사양에서 반친화성을 구성합니다.
업데이트 중에 Pod 반친화성을 설정하면 Pod가 클러스터의 노드에 균등하게 분산됩니다. 즉, 업데이트 중에 노드를 재부팅하는 것이 더 쉬워집니다. 예를 들어, 노드에 단일 배포로 인해 4개의 Pod가 있고 Pod 중단 예산이 한 번에 1개의 Pod만 삭제되도록 설정된 경우, 해당 노드를 재부팅하는 데 4배 더 오랜 시간이 걸립니다. Pod 반친화성을 설정하면 Pod가 클러스터 전체에 퍼져서 이런 일이 발생하지 않습니다.
17.2.4.3. 애플리케이션 활성 상태, 준비 상태 및 시작 프로브 링크 복사링크가 클립보드에 복사되었습니다!
업데이트를 예약하기 전에 활성, 준비 및 시작 프로브를 사용하여 활성 애플리케이션 컨테이너의 상태를 확인할 수 있습니다. 이러한 도구는 애플리케이션 컨테이너의 상태를 유지하는 데 의존하는 포드와 함께 사용할 때 매우 유용합니다.
- 활성 상태 점검
- 컨테이너가 실행 중인지 확인합니다. 컨테이너의 활성 프로브가 실패하면 포드는 재시작 정책에 따라 응답합니다.
- Readiness 프로브
- 컨테이너가 서비스 요청을 수락할 준비가 되었는지 확인합니다. 컨테이너에 대한 준비 프로브가 실패하면 kubelet은 사용 가능한 서비스 엔드포인트 목록에서 컨테이너를 제거합니다.
- Startup 프로브
-
시작 프로브는 컨테이너 내의 애플리케이션이 시작되었는지 여부를 나타냅니다. 기타 모든 프로브는 시작 프로브가 성공할 때까지 비활성화됩니다. 시작 프로브가 성공하지 못하면 kubelet은 컨테이너를 종료하고 컨테이너는 pod
restartPolicy
설정의 적용을 받습니다.
17.2.5. Telco Core CNF 클러스터를 업데이트하기 전에 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 업데이트를 시작하기 전에 작업자 노드를 일시 중지하고, etcd 데이터베이스를 백업하고, 진행하기 전에 최종 클러스터 상태 확인을 수행해야 합니다.
17.2.5.1. 업데이트 전에 작업자 노드 일시 중지 링크 복사링크가 클립보드에 복사되었습니다!
업데이트를 진행하기 전에 작업자 노드를 일시 중지해야 합니다. 다음 예에서는 mcp-1
과 mcp-2
라는 2개의 mcp
그룹이 있습니다. 이러한 각 MachineConfigPool
그룹에 대해 spec.paused
필드를 true
로 패치합니다.
프로세스
다음 명령을 실행하여
mcp
CR에 패치를 적용하여 노드를 일시 중지하고 해당 노드에서 포드를 비우고 제거합니다.oc patch mcp/mcp-1 --type merge --patch '{"spec":{"paused":true}}'
$ oc patch mcp/mcp-1 --type merge --patch '{"spec":{"paused":true}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch mcp/mcp-2 --type merge --patch '{"spec":{"paused":true}}'
$ oc patch mcp/mcp-2 --type merge --patch '{"spec":{"paused":true}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 일시 중지된
mcp
그룹의 상태를 가져옵니다.oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
$ oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
MCP Paused --- ------ master false mcp-1 true mcp-2 true
MCP Paused --- ------ master false mcp-1 true mcp-2 true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
기본 제어 평면과 작업자 MCP
그룹은 업데이트 중에 변경되지 않습니다.
17.2.5.2. 업데이트를 진행하기 전에 etcd 데이터베이스를 백업하세요. 링크 복사링크가 클립보드에 복사되었습니다!
업데이트를 진행하기 전에 etcd 데이터베이스를 백업해야 합니다.
17.2.5.2.1. etcd 데이터 백업 링크 복사링크가 클립보드에 복사되었습니다!
다음 단계에 따라 etcd 스냅샷을 작성하고 정적 pod의 리소스를 백업하여 etcd 데이터를 백업합니다. 이 백업을 저장하여 etcd를 복원해야하는 경우 나중에 사용할 수 있습니다.
단일 컨트롤 플레인 호스트의 백업만 저장합니다. 클러스터의 각 컨트롤 플레인 호스트에서 백업을 수행하지 마십시오.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. 클러스터 전체의 프록시가 활성화되어 있는지 확인해야 합니다.
작은 정보oc get proxy cluster -o yaml
의 출력을 확인하여 프록시가 사용 가능한지 여부를 확인할 수 있습니다.httpProxy
,httpsProxy
및noProxy
필드에 값이 설정되어 있으면 프록시가 사용됩니다.
프로세스
제어 평면 노드의 루트로 디버그 세션을 시작합니다.
oc debug --as-root node/<node_name>
$ oc debug --as-root node/<node_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디버그 셸에서 루트 디렉토리를
/host
로 변경하세요.chroot /host
sh-4.4# chroot /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 전체 프록시가 활성화된 경우 다음 명령을 실행하여
NO_PROXY
,HTTP_PROXY
및HTTPS_PROXY
환경 변수를 내보냅니다.export HTTP_PROXY=http://<your_proxy.example.com>:8080
$ export HTTP_PROXY=http://<your_proxy.example.com>:8080
Copy to Clipboard Copied! Toggle word wrap Toggle overflow export HTTPS_PROXY=https://<your_proxy.example.com>:8080
$ export HTTPS_PROXY=https://<your_proxy.example.com>:8080
Copy to Clipboard Copied! Toggle word wrap Toggle overflow export NO_PROXY=<example.com>
$ export NO_PROXY=<example.com>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디버그 셸에서
cluster-backup.sh
스크립트를 실행하고 백업을 저장할 위치를 전달합니다.작은 정보cluster-backup.sh
스크립트는 etcd Cluster Operator의 구성 요소로 유지 관리되며etcdctl snapshot save
명령 관련 래퍼입니다./usr/local/bin/cluster-backup.sh /home/core/assets/backup
sh-4.4# /usr/local/bin/cluster-backup.sh /home/core/assets/backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스크립트 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는 컨트롤 플레인 호스트의
/home/core/assets/backup/
디렉토리에 두 개의 파일이 생성됩니다.-
snapshot_<datetimestamp>.db
:이 파일은 etcd 스냅샷입니다.cluster-backup.sh
스크립트는 유효성을 확인합니다. static_kuberesources_<datetimestamp>.tar.gz
: 이 파일에는 정적 pod 리소스가 포함되어 있습니다. etcd 암호화가 활성화되어 있는 경우 etcd 스냅 샷의 암호화 키도 포함됩니다.참고etcd 암호화가 활성화되어 있는 경우 보안상의 이유로 이 두 번째 파일을 etcd 스냅 샷과 별도로 저장하는 것이 좋습니다. 그러나 이 파일은 etcd 스냅 샷에서 복원하는데 필요합니다.
etcd 암호화는 키가 아닌 값만 암호화합니다. 즉, 리소스 유형, 네임 스페이스 및 개체 이름은 암호화되지 않습니다.
-
17.2.5.2.2. 단일 자동화된 etcd 백업 생성 링크 복사링크가 클립보드에 복사되었습니다!
다음 단계에 따라 CR(사용자 정의 리소스)을 생성하고 적용하여 단일 etcd 백업을 생성합니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. -
OpenShift CLI(
oc
)에 액세스할 수 있습니다.
프로세스
동적으로 프로비저닝된 스토리지를 사용할 수 있는 경우 다음 단계를 완료하여 단일 자동화된 etcd 백업을 만듭니다.
다음 예와 같은 콘텐츠를 사용하여
etcd-backup-pvc.yaml
이라는 PVC(영구 볼륨 클레임)를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- PVC에서 사용할 수 있는 스토리지 용량입니다. 요구 사항에 맞게 이 값을 조정합니다.
다음 명령을 실행하여 PVC를 적용합니다.
oc apply -f etcd-backup-pvc.yaml
$ oc apply -f etcd-backup-pvc.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 PVC 생성을 확인합니다.
oc get pvc
$ oc get pvc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE etcd-backup-pvc Bound 51s
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE etcd-backup-pvc Bound 51s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고동적 PVC는 마운트될 때까지
Pending
상태로 유지됩니다.다음 예와 같은 콘텐츠를 사용하여
etcd-single-backup.yaml
이라는 CR 파일을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 백업을 저장할 PVC의 이름입니다. 환경에 따라 이 값을 조정합니다.
CR을 적용하여 단일 백업을 시작합니다.
oc apply -f etcd-single-backup.yaml
$ oc apply -f etcd-single-backup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
동적으로 프로비저닝된 스토리지를 사용할 수 없는 경우 다음 단계를 완료하여 단일 자동화된 etcd 백업을 만듭니다.
다음 콘텐츠를 사용하여
etcd-backup-local-storage.yaml
이라는StorageClass
CR 파일을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
StorageClass
CR을 적용합니다.oc apply -f etcd-backup-local-storage.yaml
$ oc apply -f etcd-backup-local-storage.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예시와 같은 내용으로
etcd-backup-pv-fs.yaml
이라는 PV를 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 PV 생성을 확인합니다.
oc get pv
$ oc get pv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE etcd-backup-pv-fs 100Gi RWO Retain Available etcd-backup-local-storage 10s
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE etcd-backup-pv-fs 100Gi RWO Retain Available etcd-backup-local-storage 10s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예와 같은 콘텐츠를 사용하여
etcd-backup-pvc.yaml
이라는 PVC를 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- PVC에서 사용할 수 있는 스토리지 용량입니다. 요구 사항에 맞게 이 값을 조정합니다.
다음 명령을 실행하여 PVC를 적용합니다.
oc apply -f etcd-backup-pvc.yaml
$ oc apply -f etcd-backup-pvc.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예와 같은 콘텐츠를 사용하여
etcd-single-backup.yaml
이라는 CR 파일을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 백업을 저장할 영구 볼륨 클레임(PVC)의 이름입니다. 환경에 따라 이 값을 조정합니다.
CR을 적용하여 단일 백업을 시작합니다.
oc apply -f etcd-single-backup.yaml
$ oc apply -f etcd-single-backup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.5.3. 클러스터 상태 확인 링크 복사링크가 클립보드에 복사되었습니다!
업데이트하는 동안 클러스터 상태를 자주 확인해야 합니다. 노드 상태, 클러스터 운영자 상태 및 실패한 Pod를 확인합니다.
프로세스
다음 명령을 실행하여 클러스터 운영자의 상태를 확인하세요.
oc get co
$ oc get co
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 노드의 상태를 확인하세요.
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 진행 중인 포드나 실패한 포드가 없는지 확인하세요. 다음 명령을 실행하면 아무 포드도 반환되지 않아야 합니다.
oc get po -A | grep -E -iv 'running|complete'
$ oc get po -A | grep -E -iv 'running|complete'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.6. 제어 평면 전용 클러스터 업데이트 완료 링크 복사링크가 클립보드에 복사되었습니다!
다음 단계에 따라 제어 평면 전용 클러스터 업데이트를 수행하고 업데이트가 완료될 때까지 모니터링합니다.
제어 평면 전용 업데이트는 이전에는 EUS-EUS 업데이트로 알려져 있었습니다. Control Plane Only 업데이트는 OpenShift Container Platform의 짝수 번째 마이너 버전 간에만 실행 가능합니다.
17.2.6.1. 제어 평면 전용 또는 y-스트림 업데이트 확인 링크 복사링크가 클립보드에 복사되었습니다!
4.11 이상 버전의 모든 버전으로 업데이트하는 경우 업데이트를 계속할 수 있음을 수동으로 확인해야 합니다.
업데이트를 확인하기 전에 업데이트하려는 버전에서 제거된 Kubernetes API를 사용하고 있지 않은지 확인하세요. 예를 들어, OpenShift Container Platform 4.17에서는 API가 제거되지 않았습니다. 자세한 내용은 "Kubernetes API 제거"를 참조하세요.
사전 요구 사항
- 클러스터에서 실행되는 모든 애플리케이션의 API가 OpenShift Container Platform의 다음 Y-stream 릴리스와 호환되는지 확인했습니다. 호환성에 대한 자세한 내용은 "업데이트 버전 간 클러스터 API 버전 확인"을 참조하세요.
프로세스
다음 명령을 실행하여 클러스터 업데이트를 시작하기 위한 관리 승인을 완료합니다.
oc adm upgrade
$ oc adm upgrade
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 업데이트가 성공적으로 완료되지 않으면 업데이트 실패에 대한 자세한 내용은
이유
및메시지
섹션에 제공됩니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예에서 링크된 Red Hat Knowledgebase 문서( OpenShift Container Platform 4.16으로 업그레이드 준비 )에서는 릴리스 간 API 호환성을 확인하는 방법에 대한 자세한 내용을 제공합니다.
검증
다음 명령을 실행하여 업데이트를 확인하세요.
oc get configmap admin-acks -n openshift-config -o json | jq .data
$ oc get configmap admin-acks -n openshift-config -o json | jq .data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
{ "ack-4.14-kube-1.28-api-removals-in-4.15": "true", "ack-4.15-kube-1.29-api-removals-in-4.16": "true" }
{ "ack-4.14-kube-1.28-api-removals-in-4.15": "true", "ack-4.15-kube-1.29-api-removals-in-4.16": "true" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예에서 클러스터는 버전 4.14에서 4.15로 업데이트되고, 그런 다음 Control Plane Only 업데이트에서 버전 4.15에서 4.16으로 업데이트됩니다.
17.2.6.2. 클러스터 업데이트 시작 링크 복사링크가 클립보드에 복사되었습니다!
한 y-stream 릴리스에서 다음 릴리스로 업데이트할 때 중간 z-stream 릴리스도 호환되는지 확인해야 합니다.
oc adm upgrade
명령을 실행하여 실행 가능한 릴리스로 업데이트하고 있는지 확인할 수 있습니다. oc adm upgrade
명령은 호환되는 업데이트 릴리스를 나열합니다.
프로세스
업데이트를 시작합니다:
oc adm upgrade --to=4.15.33
$ oc adm upgrade --to=4.15.33
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요- 제어 평면 전용 업데이트 : 임시 <y+1> 릴리스 경로를 가리키도록 하세요.
- Y-stream 업데이트 - Kubernetes 버전 스큐 정책을 따르는 올바른 <yz> 릴리스를 사용해야 합니다.
- Z-stream 업데이트 - 해당 릴리스로 이동하는 데 문제가 없는지 확인하세요.
출력 예
Requested update to 4.15.33
Requested update to 4.15.33
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
요청된 업데이트
값은 특정 업데이트에 따라 변경됩니다.
17.2.6.3. 클러스터 업데이트 모니터링 링크 복사링크가 클립보드에 복사되었습니다!
업데이트하는 동안 클러스터 상태를 자주 확인해야 합니다. 노드 상태, 클러스터 운영자 상태 및 실패한 Pod를 확인합니다.
프로세스
클러스터 업데이트를 모니터링합니다. 예를 들어, 버전 4.14에서 4.15로의 클러스터 업데이트를 모니터링하려면 다음 명령을 실행합니다.
watch "oc get clusterversion; echo; oc get co | head -1; oc get co | grep 4.14; oc get co | grep 4.15; echo; oc get no; echo; oc get po -A | grep -E -iv 'running|complete'"
$ watch "oc get clusterversion; echo; oc get co | head -1; oc get co | grep 4.14; oc get co | grep 4.15; echo; oc get no; echo; oc get po -A | grep -E -iv 'running|complete'"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
업데이트 중에 watch
명령은 한 번에 하나 이상의 클러스터 운영자를 순환하며 MESSAGE
열에 운영자 업데이트 상태를 제공합니다.
클러스터 운영자 업데이트 프로세스가 완료되면 각 제어 평면 노드가 한 번에 하나씩 재부팅됩니다.
이 업데이트 부분에서는 상태 클러스터 운영자가 다시 업데이트 중이거나 성능이 저하되었다는 메시지가 보고됩니다. 이는 노드를 재부팅하는 동안 제어 평면 노드가 오프라인 상태이기 때문입니다.
마지막 제어 평면 노드 재부팅이 완료되면 클러스터 버전이 업데이트된 것으로 표시됩니다.
제어 평면 업데이트가 완료되면 다음과 같은 메시지가 표시됩니다. 이 예에서는 중간 y-스트림 릴리스에 완료된 업데이트를 보여줍니다.
17.2.6.4. OLM 운영자 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
통신 환경에서는 소프트웨어를 프로덕션 클러스터에 로드하기 전에 검증해야 합니다. 프로덕션 클러스터도 연결이 끊긴 네트워크에 구성되므로 항상 인터넷에 직접 연결되어 있지는 않습니다. 클러스터가 연결되지 않은 네트워크에 있기 때문에 OpenShift Operator는 설치 중에 수동 업데이트가 가능하도록 구성되어 새 버전을 클러스터별로 관리할 수 있습니다. 다음 절차에 따라 Operator를 최신 버전으로 옮기세요.
프로세스
어떤 운영자를 업데이트해야 하는지 확인하세요.
oc get installplan -A | grep -E 'APPROVED|false'
$ oc get installplan -A | grep -E 'APPROVED|false'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAMESPACE NAME CSV APPROVAL APPROVED metallb-system install-nwjnh metallb-operator.v4.16.0-202409202304 Manual false openshift-nmstate install-5r7wr kubernetes-nmstate-operator.4.16.0-202409251605 Manual false
NAMESPACE NAME CSV APPROVAL APPROVED metallb-system install-nwjnh metallb-operator.v4.16.0-202409202304 Manual false openshift-nmstate install-5r7wr kubernetes-nmstate-operator.4.16.0-202409251605 Manual false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 운영자에 대한
InstallPlan
리소스를 패치합니다.oc patch installplan -n metallb-system install-nwjnh --type merge --patch \ '{"spec":{"approved":true}}'
$ oc patch installplan -n metallb-system install-nwjnh --type merge --patch \ '{"spec":{"approved":true}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
installplan.operators.coreos.com/install-nwjnh patched
installplan.operators.coreos.com/install-nwjnh patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 네임스페이스를 모니터링합니다.
oc get all -n metallb-system
$ oc get all -n metallb-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트가 완료되면 필요한 포드가
실행
상태가 되고 필요한ReplicaSet
리소스가 준비되어야 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
운영자를 두 번째로 업데이트할 필요가 없는지 확인하세요.
oc get installplan -A | grep -E 'APPROVED|false'
$ oc get installplan -A | grep -E 'APPROVED|false'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 반환된 출력이 없어야 합니다.
참고일부 운영자가 최종 버전에 앞서 설치해야 하는 임시 z-stream 릴리스 버전을 보유하고 있기 때문에 업데이트를 두 번 승인해야 하는 경우가 있습니다.
17.2.6.4.1. 두 번째 y-스트림 업데이트 수행 링크 복사링크가 클립보드에 복사되었습니다!
첫 번째 y-stream 업데이트를 완료한 후에는 y-stream 제어 평면 버전을 새로운 EUS 버전으로 업데이트해야 합니다.
프로세스
선택한 <4.yz> 릴리스가 여전히 이동할 수 있는 좋은 채널로 나열되어 있는지 확인하세요.
oc adm upgrade
$ oc adm upgrade
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고새로운 Y-스트림 릴리스의 최초 GA 직후에 업데이트를 수행하는 경우
oc adm upgrade
명령을 실행하면 사용 가능한 새로운 Y-스트림 릴리스가 표시되지 않을 수 있습니다.선택 사항: 권장되지 않는 잠재적인 업데이트 릴리스를 확인합니다. 다음 명령을 실행합니다.
oc adm upgrade --include-not-recommended
$ oc adm upgrade --include-not-recommended
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예제는 Microsoft Azure에 호스팅된 클러스터에 영향을 줄 수 있는 잠재적 오류를 보여줍니다. 베어 메탈 클러스터의 위험은 보여주지 않습니다.
17.2.6.4.2. y-stream 릴리스 업데이트 확인 링크 복사링크가 클립보드에 복사되었습니다!
y-stream 릴리스 간에 전환할 때는 패치 명령을 실행하여 업데이트를 명시적으로 확인해야 합니다. oc adm upgrade
명령의 출력에는 실행할 특정 명령을 보여주는 URL이 제공됩니다.
업데이트를 확인하기 전에 업데이트하려는 버전에서 제거된 Kubernetes API를 사용하고 있지 않은지 확인하세요. 예를 들어, OpenShift Container Platform 4.17에서는 API가 제거되지 않았습니다. 자세한 내용은 "Kubernetes API 제거"를 참조하세요.
사전 요구 사항
- 클러스터에서 실행되는 모든 애플리케이션의 API가 OpenShift Container Platform의 다음 Y-stream 릴리스와 호환되는지 확인했습니다. 호환성에 대한 자세한 내용은 "업데이트 버전 간 클러스터 API 버전 확인"을 참조하세요.
프로세스
다음 명령을 실행하여 클러스터 업데이트를 시작하기 위한 관리 승인을 완료합니다.
oc adm upgrade
$ oc adm upgrade
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 업데이트가 성공적으로 완료되지 않으면 업데이트 실패에 대한 자세한 내용은
이유
및메시지
섹션에 제공됩니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예에서 링크된 Red Hat Knowledgebase 문서( OpenShift Container Platform 4.16으로 업그레이드 준비 )에서는 릴리스 간 API 호환성을 확인하는 방법에 대한 자세한 내용을 제공합니다.
검증
다음 명령을 실행하여 업데이트를 확인하세요.
oc get configmap admin-acks -n openshift-config -o json | jq .data
$ oc get configmap admin-acks -n openshift-config -o json | jq .data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
{ "ack-4.14-kube-1.28-api-removals-in-4.15": "true", "ack-4.15-kube-1.29-api-removals-in-4.16": "true" }
{ "ack-4.14-kube-1.28-api-removals-in-4.15": "true", "ack-4.15-kube-1.29-api-removals-in-4.16": "true" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예에서 클러스터는 버전 4.14에서 4.15로 업데이트되고, 그런 다음 Control Plane Only 업데이트에서 버전 4.15에서 4.16으로 업데이트됩니다.
17.2.6.5. y-stream 제어 평면 업데이트 시작 링크 복사링크가 클립보드에 복사되었습니다!
이동할 새 릴리스 전체를 확인한 후 oc adm upgrade –to=xyz
명령을 실행할 수 있습니다.
프로세스
y-stream 제어 평면 업데이트를 시작합니다. 예를 들어 다음 명령을 실행합니다.
oc adm upgrade --to=4.16.14
$ oc adm upgrade --to=4.16.14
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Requested update to 4.16.14
Requested update to 4.16.14
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 현재 실행 중인 플랫폼 외의 다른 플랫폼에서 잠재적으로 문제가 발생할 수 있는 z-stream 릴리스로 전환할 수도 있습니다. 다음 예는 Microsoft Azure의 클러스터 업데이트에 발생할 수 있는 문제를 보여줍니다.
oc adm upgrade --to=4.16.15
$ oc adm upgrade --to=4.16.15
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
error: the update 4.16.15 is not one of the recommended updates, but is available as a conditional update. To accept the Recommended=Unknown risk and to proceed with update use --allow-not-recommended. Reason: EvaluationFailed Message: Exposure to AzureRegistryImagePreservation is unknown due to an evaluation failure: invalid PromQL result length must be one, but is 0 In Azure clusters, the in-cluster image registry may fail to preserve images on update. https://issues.redhat.com/browse/IR-461
error: the update 4.16.15 is not one of the recommended updates, but is available as a conditional update. To accept the Recommended=Unknown risk and to proceed with update use --allow-not-recommended. Reason: EvaluationFailed Message: Exposure to AzureRegistryImagePreservation is unknown due to an evaluation failure: invalid PromQL result length must be one, but is 0 In Azure clusters, the in-cluster image registry may fail to preserve images on update. https://issues.redhat.com/browse/IR-461
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예제는 Microsoft Azure에 호스팅된 클러스터에 영향을 줄 수 있는 잠재적 오류를 보여줍니다. 베어 메탈 클러스터의 위험은 보여주지 않습니다.
oc adm upgrade --to=4.16.15 --allow-not-recommended
$ oc adm upgrade --to=4.16.15 --allow-not-recommended
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
warning: with --allow-not-recommended you have accepted the risks with 4.14.11 and bypassed Recommended=Unknown EvaluationFailed: Exposure to AzureRegistryImagePreservation is unknown due to an evaluation failure: invalid PromQL result length must be one, but is 0 In Azure clusters, the in-cluster image registry may fail to preserve images on update. https://issues.redhat.com/browse/IR-461 Requested update to 4.16.15
warning: with --allow-not-recommended you have accepted the risks with 4.14.11 and bypassed Recommended=Unknown EvaluationFailed: Exposure to AzureRegistryImagePreservation is unknown due to an evaluation failure: invalid PromQL result length must be one, but is 0 In Azure clusters, the in-cluster image registry may fail to preserve images on update. https://issues.redhat.com/browse/IR-461 Requested update to 4.16.15
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.6.6. 클러스터 업데이트의 두 번째 부분 모니터링 링크 복사링크가 클립보드에 복사되었습니다!
<y+1> 버전에 대한 클러스터 업데이트의 두 번째 부분을 모니터링합니다.
프로세스
<y+1> 업데이트의 두 번째 부분의 진행 상황을 모니터링합니다. 예를 들어, 4.15에서 4.16으로의 업데이트를 모니터링하려면 다음 명령을 실행합니다.
watch "oc get clusterversion; echo; oc get co | head -1; oc get co | grep 4.15; oc get co | grep 4.16; echo; oc get no; echo; oc get po -A | grep -E -iv 'running|complete'"
$ watch "oc get clusterversion; echo; oc get co | head -1; oc get co | grep 4.15; oc get co | grep 4.16; echo; oc get no; echo; oc get po -A | grep -E -iv 'running|complete'"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 마지막 제어 평면 노드가 완료되는 즉시 클러스터 버전이 새로운 EUS 릴리스로 업데이트됩니다. 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.6.7. 모든 OLM 운영자 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
다중 버전 업그레이드의 두 번째 단계에서는 모든 운영자를 승인해야 하며, 업그레이드하려는 다른 운영자에 대한 설치 계획을 추가해야 합니다.
"OLM 운영자 업데이트"에 설명된 것과 동일한 절차를 따르세요. 필요에 따라 OLM이 아닌 운영자도 업데이트해야 합니다.
프로세스
클러스터 업데이트를 모니터링합니다. 예를 들어, 버전 4.14에서 4.15로의 클러스터 업데이트를 모니터링하려면 다음 명령을 실행합니다.
watch "oc get clusterversion; echo; oc get co | head -1; oc get co | grep 4.14; oc get co | grep 4.15; echo; oc get no; echo; oc get po -A | grep -E -iv 'running|complete'"
$ watch "oc get clusterversion; echo; oc get co | head -1; oc get co | grep 4.14; oc get co | grep 4.15; echo; oc get no; echo; oc get po -A | grep -E -iv 'running|complete'"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 어떤 운영자를 업데이트해야 하는지 확인하세요.
oc get installplan -A | grep -E 'APPROVED|false'
$ oc get installplan -A | grep -E 'APPROVED|false'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 운영자에 대한
InstallPlan
리소스를 패치합니다.oc patch installplan -n metallb-system install-nwjnh --type merge --patch \ '{"spec":{"approved":true}}'
$ oc patch installplan -n metallb-system install-nwjnh --type merge --patch \ '{"spec":{"approved":true}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 네임스페이스를 모니터링합니다.
oc get all -n metallb-system
$ oc get all -n metallb-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트가 완료되면 필요한 포드가
실행
상태가 되고, 필요한ReplicaSet
리소스가 준비됩니다.
검증
업데이트 중에 watch
명령은 한 번에 하나 이상의 클러스터 운영자를 순환하며 MESSAGE
열에 운영자 업데이트 상태를 제공합니다.
클러스터 운영자 업데이트 프로세스가 완료되면 각 제어 평면 노드가 한 번에 하나씩 재부팅됩니다.
이 업데이트 부분에서는 상태 클러스터 운영자가 다시 업데이트 중이거나 성능이 저하되었다는 메시지가 보고됩니다. 이는 노드를 재부팅하는 동안 제어 평면 노드가 오프라인 상태이기 때문입니다.
17.2.6.8. 작업자 노드 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
관련 MCP
그룹의 일시 중지를 해제하여 제어 평면을 업데이트한 후 작업자 노드를 업그레이드합니다. mcp
그룹의 일시 중지를 해제하면 해당 그룹의 작업자 노드에 대한 업그레이드 프로세스가 시작됩니다. 클러스터의 각 워커 노드는 필요에 따라 새로운 EUS, y-stream 또는 z-stream 버전으로 업그레이드하기 위해 재부팅됩니다.
Control Plane Only 업그레이드의 경우, 워커 노드가 업데이트되면 한 번만 재부팅하고 <y+2>-릴리스 버전으로 넘어갑니다. 이 기능은 대규모 베어 메탈 클러스터를 업그레이드하는 데 걸리는 시간을 줄이기 위해 추가되었습니다.
이곳은 잠재적인 보류 지점입니다. 작업자 노드가 <y-2>-릴리스 버전인 동안 제어 평면이 새로운 EUS 릴리스로 업데이트되어 프로덕션에서 실행되도록 완벽하게 지원되는 클러스터 버전을 가질 수 있습니다. 이를 통해 대규모 클러스터를 여러 유지 관리 창에 걸쳐 단계적으로 업그레이드할 수 있습니다.
mcp
그룹에서 관리되는 노드의 수를 확인할 수 있습니다. 다음 명령을 실행하여mcp
그룹 목록을 가져옵니다.oc get mcp
$ oc get mcp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-c9a52144456dbff9c9af9c5a37d1b614 True False False 3 3 3 0 36d mcp-1 rendered-mcp-1-07fe50b9ad51fae43ed212e84e1dcc8e False False False 1 0 0 0 47h mcp-2 rendered-mcp-2-07fe50b9ad51fae43ed212e84e1dcc8e False False False 1 0 0 0 47h worker rendered-worker-f1ab7b9a768e1b0ac9290a18817f60f0 True False False 0 0 0 0 36d
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-c9a52144456dbff9c9af9c5a37d1b614 True False False 3 3 3 0 36d mcp-1 rendered-mcp-1-07fe50b9ad51fae43ed212e84e1dcc8e False False False 1 0 0 0 47h mcp-2 rendered-mcp-2-07fe50b9ad51fae43ed212e84e1dcc8e False False False 1 0 0 0 47h worker rendered-worker-f1ab7b9a768e1b0ac9290a18817f60f0 True False False 0 0 0 0 36d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고한 번에 얼마나 많은
MCP
그룹을 업그레이드할지 결정합니다. 이는 한 번에 얼마나 많은 CNF 포드를 제거할 수 있는지, 그리고 포드 중단 예산과 안티-어피니티 설정이 어떻게 구성되어 있는지에 따라 달라집니다.클러스터의 노드 목록을 가져옵니다.
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 일시 중지된
MachineConfigPool
그룹을 확인하세요.oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
$ oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
MCP Paused --- ------ master false mcp-1 true mcp-2 true
MCP Paused --- ------ master false mcp-1 true mcp-2 true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고각
MachineConfigPool은
독립적으로 일시 중지를 해제할 수 있습니다. 따라서 유지 관리 기간이 끝나더라도 다른 MCP의 일시 중지를 즉시 해제할 필요는 없습니다. 클러스터는 일부 작업자 노드가 여전히 <y-2>-릴리스 버전인 상태에서 실행되도록 지원됩니다.업그레이드를 시작하려면 필요한
mcp
그룹의 일시 중지를 해제하세요.oc patch mcp/mcp-1 --type merge --patch '{"spec":{"paused":false}}'
$ oc patch mcp/mcp-1 --type merge --patch '{"spec":{"paused":false}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
machineconfigpool.machineconfiguration.openshift.io/mcp-1 patched
machineconfigpool.machineconfiguration.openshift.io/mcp-1 patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필수
mcp
그룹이 일시 중지 해제되었는지 확인하세요.oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
$ oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
MCP Paused --- ------ master false mcp-1 false mcp-2 true
MCP Paused --- ------ master false mcp-1 false mcp-2 true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각
mcp
그룹이 업그레이드되면 일시 중지를 계속 해제하고 나머지 노드를 업그레이드합니다.oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.6.9. 새로 업데이트된 클러스터의 상태 확인 링크 복사링크가 클립보드에 복사되었습니다!
클러스터를 업데이트한 후 다음 명령을 실행하여 클러스터가 다시 백업되고 실행 중인지 확인하세요.
프로세스
다음 명령을 실행하여 클러스터 버전을 확인하세요.
oc get clusterversion
$ oc get clusterversion
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.16.14 True False 4h38m Cluster version is 4.16.14
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.16.14 True False 4h38m Cluster version is 4.16.14
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 새로운 클러스터 버전이 반환되고
PROGRESSING
열은False를
반환해야 합니다.모든 노드가 준비되었는지 확인하세요.
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 모든 노드는
준비
상태여야 하며 동일한 버전을 실행해야 합니다.클러스터에 일시 중지된
mcp
리소스가 없는지 확인합니다.oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
$ oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
MCP Paused --- ------ master false mcp-1 false mcp-2 false
MCP Paused --- ------ master false mcp-1 false mcp-2 false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 클러스터 운영자가 사용 가능한지 확인하세요.
oc get co
$ oc get co
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 클러스터 운영자는
AVAILABLE
열에True를
보고해야 합니다.모든 포드가 건강한지 확인하세요.
oc get po -A | grep -E -iv 'complete|running'
$ oc get po -A | grep -E -iv 'complete|running'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 포드가 반환되지 않습니다.
참고업데이트 후에도 몇몇 포드가 계속 움직이는 것을 볼 수 있습니다. 잠시 지켜보면서 모든 포드가 비워졌는지 확인하세요.
17.2.7. y-stream 클러스터 업데이트 완료 링크 복사링크가 클립보드에 복사되었습니다!
다음 단계에 따라 y-stream 클러스터 업데이트를 수행하고 업데이트가 완료될 때까지 모니터링하세요. y-스트림 업데이트를 완료하는 것은 제어 평면 전용 업데이트보다 더 간단합니다.
17.2.7.1. 제어 평면 전용 또는 y-스트림 업데이트 확인 링크 복사링크가 클립보드에 복사되었습니다!
4.11 이상 버전의 모든 버전으로 업데이트하는 경우 업데이트를 계속할 수 있음을 수동으로 확인해야 합니다.
업데이트를 확인하기 전에 업데이트하려는 버전에서 제거된 Kubernetes API를 사용하고 있지 않은지 확인하세요. 예를 들어, OpenShift Container Platform 4.17에서는 API가 제거되지 않았습니다. 자세한 내용은 "Kubernetes API 제거"를 참조하세요.
사전 요구 사항
- 클러스터에서 실행되는 모든 애플리케이션의 API가 OpenShift Container Platform의 다음 Y-stream 릴리스와 호환되는지 확인했습니다. 호환성에 대한 자세한 내용은 "업데이트 버전 간 클러스터 API 버전 확인"을 참조하세요.
프로세스
다음 명령을 실행하여 클러스터 업데이트를 시작하기 위한 관리 승인을 완료합니다.
oc adm upgrade
$ oc adm upgrade
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 업데이트가 성공적으로 완료되지 않으면 업데이트 실패에 대한 자세한 내용은
이유
및메시지
섹션에 제공됩니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예에서 링크된 Red Hat Knowledgebase 문서( OpenShift Container Platform 4.16으로 업그레이드 준비 )에서는 릴리스 간 API 호환성을 확인하는 방법에 대한 자세한 내용을 제공합니다.
검증
다음 명령을 실행하여 업데이트를 확인하세요.
oc get configmap admin-acks -n openshift-config -o json | jq .data
$ oc get configmap admin-acks -n openshift-config -o json | jq .data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
{ "ack-4.14-kube-1.28-api-removals-in-4.15": "true", "ack-4.15-kube-1.29-api-removals-in-4.16": "true" }
{ "ack-4.14-kube-1.28-api-removals-in-4.15": "true", "ack-4.15-kube-1.29-api-removals-in-4.16": "true" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예에서 클러스터는 버전 4.14에서 4.15로 업데이트되고, 그런 다음 Control Plane Only 업데이트에서 버전 4.15에서 4.16으로 업데이트됩니다.
17.2.7.2. 클러스터 업데이트 시작 링크 복사링크가 클립보드에 복사되었습니다!
한 y-stream 릴리스에서 다음 릴리스로 업데이트할 때 중간 z-stream 릴리스도 호환되는지 확인해야 합니다.
oc adm upgrade
명령을 실행하여 실행 가능한 릴리스로 업데이트하고 있는지 확인할 수 있습니다. oc adm upgrade
명령은 호환되는 업데이트 릴리스를 나열합니다.
프로세스
업데이트를 시작합니다:
oc adm upgrade --to=4.15.33
$ oc adm upgrade --to=4.15.33
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요- 제어 평면 전용 업데이트 : 임시 <y+1> 릴리스 경로를 가리키도록 하세요.
- Y-stream 업데이트 - Kubernetes 버전 스큐 정책을 따르는 올바른 <yz> 릴리스를 사용해야 합니다.
- Z-stream 업데이트 - 해당 릴리스로 이동하는 데 문제가 없는지 확인하세요.
출력 예
Requested update to 4.15.33
Requested update to 4.15.33
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
요청된 업데이트
값은 특정 업데이트에 따라 변경됩니다.
17.2.7.3. 클러스터 업데이트 모니터링 링크 복사링크가 클립보드에 복사되었습니다!
업데이트하는 동안 클러스터 상태를 자주 확인해야 합니다. 노드 상태, 클러스터 운영자 상태 및 실패한 Pod를 확인합니다.
프로세스
클러스터 업데이트를 모니터링합니다. 예를 들어, 버전 4.14에서 4.15로의 클러스터 업데이트를 모니터링하려면 다음 명령을 실행합니다.
watch "oc get clusterversion; echo; oc get co | head -1; oc get co | grep 4.14; oc get co | grep 4.15; echo; oc get no; echo; oc get po -A | grep -E -iv 'running|complete'"
$ watch "oc get clusterversion; echo; oc get co | head -1; oc get co | grep 4.14; oc get co | grep 4.15; echo; oc get no; echo; oc get po -A | grep -E -iv 'running|complete'"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
업데이트 중에 watch
명령은 한 번에 하나 이상의 클러스터 운영자를 순환하며 MESSAGE
열에 운영자 업데이트 상태를 제공합니다.
클러스터 운영자 업데이트 프로세스가 완료되면 각 제어 평면 노드가 한 번에 하나씩 재부팅됩니다.
이 업데이트 부분에서는 상태 클러스터 운영자가 다시 업데이트 중이거나 성능이 저하되었다는 메시지가 보고됩니다. 이는 노드를 재부팅하는 동안 제어 평면 노드가 오프라인 상태이기 때문입니다.
마지막 제어 평면 노드 재부팅이 완료되면 클러스터 버전이 업데이트된 것으로 표시됩니다.
제어 평면 업데이트가 완료되면 다음과 같은 메시지가 표시됩니다. 이 예에서는 중간 y-스트림 릴리스에 완료된 업데이트를 보여줍니다.
17.2.7.4. OLM 운영자 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
통신 환경에서는 소프트웨어를 프로덕션 클러스터에 로드하기 전에 검증해야 합니다. 프로덕션 클러스터도 연결이 끊긴 네트워크에 구성되므로 항상 인터넷에 직접 연결되어 있지는 않습니다. 클러스터가 연결되지 않은 네트워크에 있기 때문에 OpenShift Operator는 설치 중에 수동 업데이트가 가능하도록 구성되어 새 버전을 클러스터별로 관리할 수 있습니다. 다음 절차에 따라 Operator를 최신 버전으로 옮기세요.
프로세스
어떤 운영자를 업데이트해야 하는지 확인하세요.
oc get installplan -A | grep -E 'APPROVED|false'
$ oc get installplan -A | grep -E 'APPROVED|false'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAMESPACE NAME CSV APPROVAL APPROVED metallb-system install-nwjnh metallb-operator.v4.16.0-202409202304 Manual false openshift-nmstate install-5r7wr kubernetes-nmstate-operator.4.16.0-202409251605 Manual false
NAMESPACE NAME CSV APPROVAL APPROVED metallb-system install-nwjnh metallb-operator.v4.16.0-202409202304 Manual false openshift-nmstate install-5r7wr kubernetes-nmstate-operator.4.16.0-202409251605 Manual false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 운영자에 대한
InstallPlan
리소스를 패치합니다.oc patch installplan -n metallb-system install-nwjnh --type merge --patch \ '{"spec":{"approved":true}}'
$ oc patch installplan -n metallb-system install-nwjnh --type merge --patch \ '{"spec":{"approved":true}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
installplan.operators.coreos.com/install-nwjnh patched
installplan.operators.coreos.com/install-nwjnh patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 네임스페이스를 모니터링합니다.
oc get all -n metallb-system
$ oc get all -n metallb-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트가 완료되면 필요한 포드가
실행
상태가 되고 필요한ReplicaSet
리소스가 준비되어야 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
운영자를 두 번째로 업데이트할 필요가 없는지 확인하세요.
oc get installplan -A | grep -E 'APPROVED|false'
$ oc get installplan -A | grep -E 'APPROVED|false'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 반환된 출력이 없어야 합니다.
참고일부 운영자가 최종 버전에 앞서 설치해야 하는 임시 z-stream 릴리스 버전을 보유하고 있기 때문에 업데이트를 두 번 승인해야 하는 경우가 있습니다.
17.2.7.5. 작업자 노드 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
관련 MCP
그룹의 일시 중지를 해제하여 제어 평면을 업데이트한 후 작업자 노드를 업그레이드합니다. mcp
그룹의 일시 중지를 해제하면 해당 그룹의 작업자 노드에 대한 업그레이드 프로세스가 시작됩니다. 클러스터의 각 워커 노드는 필요에 따라 새로운 EUS, y-stream 또는 z-stream 버전으로 업그레이드하기 위해 재부팅됩니다.
Control Plane Only 업그레이드의 경우, 워커 노드가 업데이트되면 한 번만 재부팅하고 <y+2>-릴리스 버전으로 넘어갑니다. 이 기능은 대규모 베어 메탈 클러스터를 업그레이드하는 데 걸리는 시간을 줄이기 위해 추가되었습니다.
이곳은 잠재적인 보류 지점입니다. 작업자 노드가 <y-2>-릴리스 버전인 동안 제어 평면이 새로운 EUS 릴리스로 업데이트되어 프로덕션에서 실행되도록 완벽하게 지원되는 클러스터 버전을 가질 수 있습니다. 이를 통해 대규모 클러스터를 여러 유지 관리 창에 걸쳐 단계적으로 업그레이드할 수 있습니다.
mcp
그룹에서 관리되는 노드의 수를 확인할 수 있습니다. 다음 명령을 실행하여mcp
그룹 목록을 가져옵니다.oc get mcp
$ oc get mcp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-c9a52144456dbff9c9af9c5a37d1b614 True False False 3 3 3 0 36d mcp-1 rendered-mcp-1-07fe50b9ad51fae43ed212e84e1dcc8e False False False 1 0 0 0 47h mcp-2 rendered-mcp-2-07fe50b9ad51fae43ed212e84e1dcc8e False False False 1 0 0 0 47h worker rendered-worker-f1ab7b9a768e1b0ac9290a18817f60f0 True False False 0 0 0 0 36d
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-c9a52144456dbff9c9af9c5a37d1b614 True False False 3 3 3 0 36d mcp-1 rendered-mcp-1-07fe50b9ad51fae43ed212e84e1dcc8e False False False 1 0 0 0 47h mcp-2 rendered-mcp-2-07fe50b9ad51fae43ed212e84e1dcc8e False False False 1 0 0 0 47h worker rendered-worker-f1ab7b9a768e1b0ac9290a18817f60f0 True False False 0 0 0 0 36d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고한 번에 얼마나 많은
MCP
그룹을 업그레이드할지 결정합니다. 이는 한 번에 얼마나 많은 CNF 포드를 제거할 수 있는지, 그리고 포드 중단 예산과 안티-어피니티 설정이 어떻게 구성되어 있는지에 따라 달라집니다.클러스터의 노드 목록을 가져옵니다.
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 일시 중지된
MachineConfigPool
그룹을 확인하세요.oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
$ oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
MCP Paused --- ------ master false mcp-1 true mcp-2 true
MCP Paused --- ------ master false mcp-1 true mcp-2 true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고각
MachineConfigPool은
독립적으로 일시 중지를 해제할 수 있습니다. 따라서 유지 관리 기간이 끝나더라도 다른 MCP의 일시 중지를 즉시 해제할 필요는 없습니다. 클러스터는 일부 작업자 노드가 여전히 <y-2>-릴리스 버전인 상태에서 실행되도록 지원됩니다.업그레이드를 시작하려면 필요한
mcp
그룹의 일시 중지를 해제하세요.oc patch mcp/mcp-1 --type merge --patch '{"spec":{"paused":false}}'
$ oc patch mcp/mcp-1 --type merge --patch '{"spec":{"paused":false}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
machineconfigpool.machineconfiguration.openshift.io/mcp-1 patched
machineconfigpool.machineconfiguration.openshift.io/mcp-1 patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필수
mcp
그룹이 일시 중지 해제되었는지 확인하세요.oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
$ oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
MCP Paused --- ------ master false mcp-1 false mcp-2 true
MCP Paused --- ------ master false mcp-1 false mcp-2 true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각
mcp
그룹이 업그레이드되면 일시 중지를 계속 해제하고 나머지 노드를 업그레이드합니다.oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.7.6. 새로 업데이트된 클러스터의 상태 확인 링크 복사링크가 클립보드에 복사되었습니다!
클러스터를 업데이트한 후 다음 명령을 실행하여 클러스터가 다시 백업되고 실행 중인지 확인하세요.
프로세스
다음 명령을 실행하여 클러스터 버전을 확인하세요.
oc get clusterversion
$ oc get clusterversion
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.16.14 True False 4h38m Cluster version is 4.16.14
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.16.14 True False 4h38m Cluster version is 4.16.14
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 새로운 클러스터 버전이 반환되고
PROGRESSING
열은False를
반환해야 합니다.모든 노드가 준비되었는지 확인하세요.
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 모든 노드는
준비
상태여야 하며 동일한 버전을 실행해야 합니다.클러스터에 일시 중지된
mcp
리소스가 없는지 확인합니다.oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
$ oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
MCP Paused --- ------ master false mcp-1 false mcp-2 false
MCP Paused --- ------ master false mcp-1 false mcp-2 false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 클러스터 운영자가 사용 가능한지 확인하세요.
oc get co
$ oc get co
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 클러스터 운영자는
AVAILABLE
열에True를
보고해야 합니다.모든 포드가 건강한지 확인하세요.
oc get po -A | grep -E -iv 'complete|running'
$ oc get po -A | grep -E -iv 'complete|running'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 포드가 반환되지 않습니다.
참고업데이트 후에도 몇몇 포드가 계속 움직이는 것을 볼 수 있습니다. 잠시 지켜보면서 모든 포드가 비워졌는지 확인하세요.
17.2.8. z-stream 클러스터 업데이트 완료 링크 복사링크가 클립보드에 복사되었습니다!
다음 단계에 따라 z-stream 클러스터 업데이트를 수행하고 업데이트가 완료될 때까지 모니터링하세요. z-스트림 업데이트를 완료하는 것은 제어 평면 전용 업데이트나 y-스트림 업데이트를 완료하는 것보다 더 간단합니다.
17.2.8.1. 클러스터 업데이트 시작 링크 복사링크가 클립보드에 복사되었습니다!
한 y-stream 릴리스에서 다음 릴리스로 업데이트할 때 중간 z-stream 릴리스도 호환되는지 확인해야 합니다.
oc adm upgrade
명령을 실행하여 실행 가능한 릴리스로 업데이트하고 있는지 확인할 수 있습니다. oc adm upgrade
명령은 호환되는 업데이트 릴리스를 나열합니다.
프로세스
업데이트를 시작합니다:
oc adm upgrade --to=4.15.33
$ oc adm upgrade --to=4.15.33
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요- 제어 평면 전용 업데이트 : 임시 <y+1> 릴리스 경로를 가리키도록 하세요.
- Y-stream 업데이트 - Kubernetes 버전 스큐 정책을 따르는 올바른 <yz> 릴리스를 사용해야 합니다.
- Z-stream 업데이트 - 해당 릴리스로 이동하는 데 문제가 없는지 확인하세요.
출력 예
Requested update to 4.15.33
Requested update to 4.15.33
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
요청된 업데이트
값은 특정 업데이트에 따라 변경됩니다.
17.2.8.2. 작업자 노드 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
관련 MCP
그룹의 일시 중지를 해제하여 제어 평면을 업데이트한 후 작업자 노드를 업그레이드합니다. mcp
그룹의 일시 중지를 해제하면 해당 그룹의 작업자 노드에 대한 업그레이드 프로세스가 시작됩니다. 클러스터의 각 워커 노드는 필요에 따라 새로운 EUS, y-stream 또는 z-stream 버전으로 업그레이드하기 위해 재부팅됩니다.
Control Plane Only 업그레이드의 경우, 워커 노드가 업데이트되면 한 번만 재부팅하고 <y+2>-릴리스 버전으로 넘어갑니다. 이 기능은 대규모 베어 메탈 클러스터를 업그레이드하는 데 걸리는 시간을 줄이기 위해 추가되었습니다.
이곳은 잠재적인 보류 지점입니다. 작업자 노드가 <y-2>-릴리스 버전인 동안 제어 평면이 새로운 EUS 릴리스로 업데이트되어 프로덕션에서 실행되도록 완벽하게 지원되는 클러스터 버전을 가질 수 있습니다. 이를 통해 대규모 클러스터를 여러 유지 관리 창에 걸쳐 단계적으로 업그레이드할 수 있습니다.
mcp
그룹에서 관리되는 노드의 수를 확인할 수 있습니다. 다음 명령을 실행하여mcp
그룹 목록을 가져옵니다.oc get mcp
$ oc get mcp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-c9a52144456dbff9c9af9c5a37d1b614 True False False 3 3 3 0 36d mcp-1 rendered-mcp-1-07fe50b9ad51fae43ed212e84e1dcc8e False False False 1 0 0 0 47h mcp-2 rendered-mcp-2-07fe50b9ad51fae43ed212e84e1dcc8e False False False 1 0 0 0 47h worker rendered-worker-f1ab7b9a768e1b0ac9290a18817f60f0 True False False 0 0 0 0 36d
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-c9a52144456dbff9c9af9c5a37d1b614 True False False 3 3 3 0 36d mcp-1 rendered-mcp-1-07fe50b9ad51fae43ed212e84e1dcc8e False False False 1 0 0 0 47h mcp-2 rendered-mcp-2-07fe50b9ad51fae43ed212e84e1dcc8e False False False 1 0 0 0 47h worker rendered-worker-f1ab7b9a768e1b0ac9290a18817f60f0 True False False 0 0 0 0 36d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고한 번에 얼마나 많은
MCP
그룹을 업그레이드할지 결정합니다. 이는 한 번에 얼마나 많은 CNF 포드를 제거할 수 있는지, 그리고 포드 중단 예산과 안티-어피니티 설정이 어떻게 구성되어 있는지에 따라 달라집니다.클러스터의 노드 목록을 가져옵니다.
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 일시 중지된
MachineConfigPool
그룹을 확인하세요.oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
$ oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
MCP Paused --- ------ master false mcp-1 true mcp-2 true
MCP Paused --- ------ master false mcp-1 true mcp-2 true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고각
MachineConfigPool은
독립적으로 일시 중지를 해제할 수 있습니다. 따라서 유지 관리 기간이 끝나더라도 다른 MCP의 일시 중지를 즉시 해제할 필요는 없습니다. 클러스터는 일부 작업자 노드가 여전히 <y-2>-릴리스 버전인 상태에서 실행되도록 지원됩니다.업그레이드를 시작하려면 필요한
mcp
그룹의 일시 중지를 해제하세요.oc patch mcp/mcp-1 --type merge --patch '{"spec":{"paused":false}}'
$ oc patch mcp/mcp-1 --type merge --patch '{"spec":{"paused":false}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
machineconfigpool.machineconfiguration.openshift.io/mcp-1 patched
machineconfigpool.machineconfiguration.openshift.io/mcp-1 patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필수
mcp
그룹이 일시 중지 해제되었는지 확인하세요.oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
$ oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
MCP Paused --- ------ master false mcp-1 false mcp-2 true
MCP Paused --- ------ master false mcp-1 false mcp-2 true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각
mcp
그룹이 업그레이드되면 일시 중지를 계속 해제하고 나머지 노드를 업그레이드합니다.oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.2.8.3. 새로 업데이트된 클러스터의 상태 확인 링크 복사링크가 클립보드에 복사되었습니다!
클러스터를 업데이트한 후 다음 명령을 실행하여 클러스터가 다시 백업되고 실행 중인지 확인하세요.
프로세스
다음 명령을 실행하여 클러스터 버전을 확인하세요.
oc get clusterversion
$ oc get clusterversion
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.16.14 True False 4h38m Cluster version is 4.16.14
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.16.14 True False 4h38m Cluster version is 4.16.14
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 새로운 클러스터 버전이 반환되고
PROGRESSING
열은False를
반환해야 합니다.모든 노드가 준비되었는지 확인하세요.
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 모든 노드는
준비
상태여야 하며 동일한 버전을 실행해야 합니다.클러스터에 일시 중지된
mcp
리소스가 없는지 확인합니다.oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
$ oc get mcp -o json | jq -r '["MCP","Paused"], ["---","------"], (.items[] | [(.metadata.name), (.spec.paused)]) | @tsv' | grep -v worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
MCP Paused --- ------ master false mcp-1 false mcp-2 false
MCP Paused --- ------ master false mcp-1 false mcp-2 false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 클러스터 운영자가 사용 가능한지 확인하세요.
oc get co
$ oc get co
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 클러스터 운영자는
AVAILABLE
열에True를
보고해야 합니다.모든 포드가 건강한지 확인하세요.
oc get po -A | grep -E -iv 'complete|running'
$ oc get po -A | grep -E -iv 'complete|running'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 포드가 반환되지 않습니다.
참고업데이트 후에도 몇몇 포드가 계속 움직이는 것을 볼 수 있습니다. 잠시 지켜보면서 모든 포드가 비워졌는지 확인하세요.