11.3. Pod VM 이미지 업데이트
AWS, Azure 및 IBM 배포의 경우 Pod VM 이미지를 업데이트해야 합니다. enablePeerpods:
paramter가 true
인 경우 OpenShift 샌드박스 컨테이너 Operator를 업그레이드하면 기존 Pod VM 이미지가 자동으로 업데이트되지 않습니다. 업그레이드 후 Pod VM 이미지를 업데이트하려면 KataConfig
CR을 삭제하고 다시 생성해야 합니다.
AWS 및 Azure 배포의 피어 Pod 구성 맵을 확인하여 KataConfig
CR을 다시 생성하기 전에 이미지 ID가 비어 있는지 확인할 수도 있습니다.
11.3.1. KataConfig 사용자 지정 리소스 삭제
명령줄을 사용하여 KataConfig
CR(사용자 정의 리소스)을 삭제할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
다음 명령을 실행하여
KataConfig
CR을 삭제합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete kataconfig example-kataconfig
$ oc delete kataconfig example-kataconfig
다음 명령을 실행하여 사용자 정의 리소스가 삭제되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get kataconfig example-kataconfig
$ oc get kataconfig example-kataconfig
출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow No example-kataconfig instances exist
No example-kataconfig instances exist
클라우드 공급자를 사용하여 배포된 OpenShift 샌드박스 컨테이너를 제거하는 경우 모든 Pod를 삭제해야 합니다. 나머지 Pod 리소스로 인해 클라우드 공급자의 예기치 않은 요금이 발생할 수 있습니다.
11.3.2. 피어 Pod CM 이미지 ID가 비어 있는지 확인
KataConfig
CR을 삭제할 때 피어 Pod CM 이미지 ID를 삭제해야 합니다. AWS 및 Azure 배포의 경우 피어 Pod CM 이미지 ID가 비어 있는지 확인합니다.
프로세스
피어 Pod에 대해 생성한 구성 맵을 가져옵니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get cm -n openshift-sandboxed-containers-operator peer-pods-cm -o jsonpath="{.data.AZURE_IMAGE_ID}"
$ oc get cm -n openshift-sandboxed-containers-operator peer-pods-cm -o jsonpath="{.data.AZURE_IMAGE_ID}"
AWS에
PODVM_AMI_ID
를 사용합니다. Azure에AZURE_IMAGE_ID
를 사용합니다.- YAML 파일의 상태 스탠자를 확인합니다.
-
AWS의
PODVM_AMI_ID
매개변수 또는 Azure의AZURE_IMAGE_ID
매개변수에 값이 포함된 경우 값을 ""로 설정합니다. 값을 ""로 설정한 경우 피어 Pod 구성 맵을 패치합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch configmap peer-pods-cm -n openshift-sandboxed-containers-operator -p '{"data":{"AZURE_IMAGE_ID":""}}'
$ oc patch configmap peer-pods-cm -n openshift-sandboxed-containers-operator -p '{"data":{"AZURE_IMAGE_ID":""}}'
AWS에
PODVM_AMI_ID
를 사용합니다. Azure에AZURE_IMAGE_ID
를 사용합니다.
11.3.3. KataConfig 사용자 지정 리소스 생성
KataConfig
CR(사용자 정의 리소스)을 생성하여 작업자 노드에 kata-remote
를 런타임 클래스로 설치해야 합니다.
KataConfig
CR을 생성하면 OpenShift 샌드박스 컨테이너 Operator가 다음을 수행합니다.
-
기본 구성을 사용하여
kata-remote
라는RuntimeClass
CR을 생성합니다. 이를 통해 사용자는RuntimeClassName
필드에서 CR을 참조하여kata-remote
를 런타임으로 사용하도록 워크로드를 구성할 수 있습니다. 이 CR은 런타임의 리소스 오버헤드도 지정합니다.
OpenShift 샌드박스 컨테이너는 kata-remote
를 기본 런타임이 아닌 클러스터의 선택적 런타임으로 설치합니다.
KataConfig
CR을 생성하면 작업자 노드가 자동으로 재부팅됩니다. 재부팅에는 10분에서 60분 이상 걸릴 수 있습니다. 재부팅 시간을 방해하는 요소는 다음과 같습니다.
- 더 많은 작업자 노드가 있는 대규모 OpenShift Container Platform 배포
- BIOS 및 Cryostat 유틸리티 활성화.
- SSD가 아닌 하드 디스크 드라이브에 배포합니다.
- 가상 노드가 아닌 베어 메탈과 같은 물리적 노드에 배포됩니다.
- 느린 CPU 및 네트워크입니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
다음 예에 따라
example-kataconfig.yaml
매니페스트 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: kataconfiguration.openshift.io/v1 kind: KataConfig metadata: name: example-kataconfig spec: enablePeerPods: true logLevel: info # kataConfigPoolSelector: # matchLabels: # <label_key>: '<label_value>'
apiVersion: kataconfiguration.openshift.io/v1 kind: KataConfig metadata: name: example-kataconfig spec: enablePeerPods: true logLevel: info # kataConfigPoolSelector: # matchLabels: # <label_key>: '<label_value>'
1 다음 명령을 실행하여
KataConfig
CR을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f example-kataconfig.yaml
$ oc apply -f example-kataconfig.yaml
새로운
KataConfig
CR이 생성되고 작업자 노드에kata-remote
가 런타임 클래스로 설치됩니다.설치를 확인하기 전에
kata-remote
설치가 완료되고 작업자 노드가 재부팅될 때까지 기다립니다.다음 명령을 실행하여 설치 진행 상황을 모니터링합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow watch "oc describe kataconfig | sed -n /^Status:/,/^Events/p"
$ watch "oc describe kataconfig | sed -n /^Status:/,/^Events/p"
kataNodes
아래의 모든 작업자의 상태가설치되고
이유를 지정하지 않고InProgress
조건이False
이면 클러스터에kata-remote
가 설치됩니다.다음 명령을 실행하여 데몬 세트를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get -n openshift-sandboxed-containers-operator ds/osc-caa-ds
$ oc get -n openshift-sandboxed-containers-operator ds/osc-caa-ds
다음 명령을 실행하여 런타임 클래스를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get runtimeclass
$ oc get runtimeclass
출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME HANDLER AGE kata kata 152m kata-remote kata-remote 152m
NAME HANDLER AGE kata kata 152m kata-remote kata-remote 152m