2.2. 웹 콘솔을 사용하여 OpenShift 샌드박스 컨테이너 워크로드 배포
웹 콘솔에서 OpenShift 샌드박스 컨테이너 워크로드를 배포할 수 있습니다. 먼저 OpenShift 샌드박스 컨테이너 Operator를 설치한 다음 KataConfig
CR(사용자 정의 리소스)을 생성해야 합니다. 샌드박스 컨테이너에 워크로드를 배포할 준비가 되면 워크로드 YAML 파일에 kata
를 runtimeClassName
으로 수동으로 추가해야 합니다.
2.2.1. 웹 콘솔을 사용하여 OpenShift 샌드박스 컨테이너 Operator 설치
Red Hat OpenShift 웹 콘솔에서 OpenShift 샌드박스 컨테이너 Operator를 설치할 수 있습니다.
사전 요구 사항
- Red Hat OpenShift 4.13이 설치되어 있습니다.
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
절차
-
웹 콘솔의 관리자 화면에서 Operator
OperatorHub 로 이동합니다. -
키워드로 필터링 필드에
OpenShift sandboxed containers
를 입력합니다. - OpenShift 샌드박스 컨테이너 타일을 선택합니다.
- Operator에 대한 정보를 확인하고 Install을 클릭합니다.
Operator 설치 페이지에서 다음을 수행합니다.
- 사용 가능한 업데이트 채널 옵션 목록에서 stable을 선택합니다.
설치된 네임스페이스에 대해 Operator 권장 네임스페이스 가 선택되어 있는지 확인합니다. 그러면 필수
openshift-sandboxed-containers-operator
네임스페이스에 Operator가 설치됩니다. 이 네임스페이스가 아직 존재하지 않으면 자동으로 생성됩니다.참고openshift-sandboxed-containers-operator
이외의 네임스페이스에 OpenShift 샌드박스 컨테이너 Operator를 설치하려고 하면 설치가 실패합니다.- 승인 전략에 대해 자동 이 선택되어 있는지 확인합니다. 자동 은 기본값이며 새로운 z-stream 릴리스가 제공되면 OpenShift 샌드박스 컨테이너에 대한 자동 업데이트를 활성화합니다.
- 설치를 클릭합니다.
OpenShift 샌드박스 컨테이너 Operator가 클러스터에 설치되었습니다.
검증
-
웹 콘솔의 관리자 화면에서 Operator
설치된 Operator 로 이동합니다. - OpenShift 샌드박스 컨테이너 Operator가 Operator 목록에 나열되어 있는지 확인합니다.
2.2.2. 웹 콘솔에서 KataConfig 사용자 지정 리소스 생성
클러스터 노드에서 RuntimeClass
로 kata
를 설치하려면 하나의 KataConfig
CR(사용자 정의 리소스)을 생성해야 합니다.
KataConfig
CR을 생성하면 작업자 노드가 자동으로 재부팅됩니다. 재부팅하는 데 10분에서 60분 이상 걸릴 수 있습니다. 재부팅 시간을 방해하는 요소는 다음과 같습니다.
- 더 많은 수의 작업자 노드가 있는 대규모 Red Hat OpenShift 배포.
- BIOS 및 iPXE 유틸리티 활성화
- SSD가 아닌 하드 디스크 드라이브에 배포합니다.
- 가상 노드가 아닌 베어 메탈과 같은 물리적 노드에 배포.
- 느린 CPU 및 네트워크
사전 요구 사항
- 클러스터에 Red Hat OpenShift 4.13을 설치했습니다.
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - OpenShift 샌드박스 컨테이너 Operator가 설치되어 있습니다.
Kata는 기본적으로 모든 작업자 노드에 설치됩니다. kata
를 특정 노드에만 RuntimeClass
로 설치하려면 해당 노드에 레이블을 추가한 다음 생성할 때 KataConfig
CR에 레이블을 정의할 수 있습니다.
절차
-
웹 콘솔의 관리자 화면에서 Operator
설치된 Operator 로 이동합니다. - Operator 목록에서 OpenShift 샌드박스 컨테이너 Operator를 선택합니다.
- KataConfig 탭에서 KataConfig 만들기 를 클릭합니다.
KataConfig 생성 페이지에서 다음 세부 정보를 입력합니다.
-
name:
KataConfig
리소스의 이름을 입력합니다. 기본적으로 이름은example-kataconfig
로 정의됩니다. -
레이블 (선택 사항):
KataConfig
리소스에 관련된 식별 특성을 입력합니다. 각 레이블은 키-값 쌍을 나타냅니다. -
CheckNodeEligibility
(선택 사항, 피어 Pod와 관련이 없음): NFD(Node Feature Discovery Operator)를 사용하여kata
를RuntimeClass
로 실행할 자격을 감지하려면 이 확인란을 선택합니다. 자세한 내용은 "클러스터 노드가 OpenShift 샌드박스 컨테이너를 실행할 수 있는지 여부"를 참조하십시오. -
EnablePeerPods
( 피어 Pod의 경우): 이 확인란을 선택하여 피어 Pod를 활성화하고 퍼블릭 클라우드 환경에서 OpenShift 샌드박스 컨테이너를 사용합니다. kataConfigPoolSelector
: 기본적으로kata
는 모든 노드에RuntimeClass
로 설치됩니다.kata
를 선택한 노드에만RuntimeClass
로 설치하려면 matchExpression 을 추가해야 합니다.-
kataConfigPoolSelector
영역을 확장합니다. -
kataConfigPoolSelector
에서 matchExpressions 를 확장합니다. 라벨 선택기 요구 사항 목록입니다. - Add matchExpressions 를 클릭합니다.
- 키 필드에서 선택기가 적용되는 라벨 키를 추가합니다.
-
operator 필드에서 레이블 값에 키의 관계를 추가합니다. 유효한 연산자는
In
,NotIn
,Exists
및DoesNotExist
입니다. - 값 영역을 확장한 다음 값 추가 를 클릭합니다.
-
값 필드에 키 레이블 값에
true
또는false
를 입력합니다.
-
-
loglevel
:kata
를RuntimeClass
로 실행하는 노드에 대해 검색된 로그 데이터의 수준을 정의합니다. 자세한 내용은 "OpenShift 샌드박스 컨테이너 데이터 조정"을 참조하십시오.
-
name:
- 생성을 클릭합니다.
새로운 KataConfig
CR이 생성되고 작업자 노드에 RuntimeClass
로 kata
를 설치하기 시작합니다. kata
설치가 완료되고 작업자 노드가 재부팅될 때까지 기다린 후 다음 단계를 계속합니다.
OpenShift 샌드박스 컨테이너는 kata
를 기본 런타임이 아닌 클러스터의 선택적 런타임으로만 설치합니다.
검증
-
KataConfig 탭에서 새
KataConfig
CR을 선택합니다. - KataConfig 페이지에서 YAML 탭을 선택합니다.
상태에서 installationStatus 필드를 모니터링합니다.
업데이트가 있을 때마다 메시지가 나타납니다. Reload 를 클릭하여 업데이트된
KataConfig
CR을 확인합니다.완료된 노드 값이 작업자 또는 레이블이 지정된 노드 수와 같으면 설치가 완료됩니다. 상태에는 설치가 완료된 노드 목록도 포함됩니다.
2.2.3. 웹 콘솔을 사용하여 샌드박스 컨테이너에 워크로드 배포
OpenShift 샌드박스 컨테이너는 Kata를 기본 런타임이 아닌 클러스터의 보조 선택적 런타임으로 설치합니다.
샌드박스 컨테이너에 Pod 템플릿 워크로드를 배포하려면 워크로드 YAML 파일에 kata
를 runtimeClassName
으로 수동으로 추가해야 합니다.
사전 요구 사항
- 클러스터에 Red Hat OpenShift 4.13을 설치했습니다.
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - OpenShift 샌드박스 컨테이너 Operator가 설치되어 있습니다.
-
KataConfig
CR(사용자 정의 리소스)을 생성했습니다.
절차
- 웹 콘솔의 관리자 화면에서 워크로드 를 확장하고 생성할 워크로드 유형을 선택합니다.
- 워크로드 페이지에서 워크로드를 생성하려면 클릭합니다.
워크로드의 YAML 파일에서 컨테이너가 나열된 spec 필드에서
runtimeClassName: kata
를 추가합니다.Pod 오브젝트의 예
apiVersion: v1 kind: Pod metadata: name: hello-openshift labels: app: hello-openshift spec: runtimeClassName: kata containers: - name: hello-openshift image: quay.io/openshift/origin-hello-openshift ports: - containerPort: 8888 securityContext: privileged: false allowPrivilegeEscalation: false runAsNonRoot: true runAsUser: 1001 capabilities: drop: - ALL seccompProfile: type: RuntimeDefault
- 저장을 클릭합니다.
Red Hat OpenShift는 워크로드를 생성하고 스케줄링을 시작합니다.