9.3. Pod VM 이미지 업데이트
피어 Pod 배포의 경우 Pod VM 이미지를 업데이트해야 합니다. enablePeerpods: 값이 true 인 경우 OpenShift 샌드박스 컨테이너 Operator를 업그레이드해도 Pod VM 이미지가 자동으로 업데이트되지 않습니다. KataConfig CR(사용자 정의 리소스)도 삭제하고 다시 생성해야 합니다.
AWS 및 Azure 배포의 피어 Pod 구성 맵을 확인하여 KataConfig CR을 다시 생성하기 전에 이미지 ID가 비어 있는지 확인할 수도 있습니다.
9.3.1. KataConfig 사용자 지정 리소스 삭제 링크 복사링크가 클립보드에 복사되었습니다!
명령줄을 사용하여 KataConfig CR(사용자 정의 리소스)을 삭제합니다.
프로세스
다음 명령을 실행하여
KataConfigCR을 삭제합니다.$ oc delete kataconfig example-kataconfig다음 명령을 실행하여 CR 제거를 확인합니다.
$ oc get kataconfig example-kataconfig출력 예
No example-kataconfig instances exist
모든 Pod가 삭제되었는지 확인해야 합니다. 나머지 Pod 리소스로 인해 클라우드 공급자의 예기치 않은 요금이 발생할 수 있습니다.
9.3.2. 이미지 ID가 비어 있는지 확인 링크 복사링크가 클립보드에 복사되었습니다!
AWS 및 Azure 배포의 경우 KataConfig CR(사용자 정의 리소스)을 삭제한 후 피어 Pod 구성 맵의 이미지 ID가 비어 있는지 확인해야 합니다.
프로세스
다음 명령을 실행하여 피어 Pod 구성 맵을 가져옵니다.
$ oc get configmap -n openshift-sandboxed-containers-operator peer-pods-cm -o jsonpath="{.data.<image_id>}"1 - 1
- AWS의 경우 <
;image_id>를PODVM_AMI_ID로 바꿉니다. Azure의 경우 <image_id>를AZURE_IMAGE_ID로 바꿉니다.
값이 비어 있지 않은 경우 다음 명령을 실행하여 값을 업데이트하고 구성 맵을 패치합니다.
$ oc patch configmap peer-pods-cm -n openshift-sandboxed-containers-operator -p '{"data":{"<image_id>":""}}'
9.3.3. KataConfig 사용자 지정 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
KataConfig CR(사용자 정의 리소스)을 생성하여 작업자 노드에 kata-remote 를 런타임 클래스로 설치해야 합니다.
OpenShift 샌드박스 컨테이너는 kata-remote 를 기본 런타임이 아닌 클러스터의 선택적 런타임으로 설치합니다.
KataConfig CR을 생성하면 작업자 노드가 자동으로 재부팅됩니다. 재부팅에는 10분에서 60분 이상 걸릴 수 있습니다. 다음 요인은 재부팅 시간을 늘릴 수 있습니다.
- 더 많은 작업자 노드가 있는 대규모 OpenShift Container Platform 배포
- BIOS 및 Cryostat 유틸리티 활성화.
- SSD가 아닌 하드 디스크 드라이브에 배포합니다.
- 가상 노드가 아닌 베어 메탈과 같은 물리적 노드에 배포됩니다.
- 느린 CPU 및 네트워크입니다.
프로세스
다음 예에 따라
example-kataconfig.yaml매니페스트 파일을 생성합니다.apiVersion: kataconfiguration.openshift.io/v1 kind: KataConfig metadata: name: example-kataconfig spec: enablePeerPods: true logLevel: info # kataConfigPoolSelector: # matchLabels: # <label_key>: '<label_value>'1 - 1
- 선택 사항: 노드 레이블을 적용하여 특정 노드에
kata-remote를 설치한 경우 키와 값(예:osc: 'true')을 지정합니다.
다음 명령을 실행하여
KataConfigCR을 생성합니다.$ oc create -f example-kataconfig.yaml새로운
KataConfigCR이 생성되고 작업자 노드에kata-remote가 런타임 클래스로 설치됩니다.설치를 확인하기 전에
kata-remote설치가 완료되고 작업자 노드가 재부팅될 때까지 기다립니다.다음 명령을 실행하여 설치 진행 상황을 모니터링합니다.
$ watch "oc describe kataconfig | sed -n /^Status:/,/^Events/p"kataNodes아래의 모든 작업자의 상태가설치되고이유를 지정하지 않고InProgress조건이False이면 클러스터에kata-remote가 설치됩니다.다음 명령을 실행하여 피어 Pod 이미지를 빌드하고 libvirt 볼륨에 업로드했는지 확인합니다.
$ oc describe configmap peer-pods-cm -n openshift-sandboxed-containers-operator출력 예
Name: peer-pods-cm Namespace: openshift-sandboxed-containers-operator Labels: <none> Annotations: <none> Data ==== CLOUD_PROVIDER: libvirt BinaryData ==== Events: <none>다음 명령을 실행하여
UPDATEDMACHINECOUNT가MACHINECOUNT와 같은 경우UPDATEDMACHINECOUNT가 UPDATED 상태에 있는지 확인하려면kata-oc머신 구성 풀 진행 상황을 모니터링합니다.$ watch oc get mcp/kata-oc다음 명령을 실행하여 데몬 세트를 확인합니다.
$ oc get -n openshift-sandboxed-containers-operator ds/osc-caa-ds다음 명령을 실행하여 런타임 클래스를 확인합니다.
$ oc get runtimeclass출력 예
NAME HANDLER AGE kata-remote kata-remote 152m