2.2. 웹 콘솔을 사용하여 OpenShift 샌드박스 컨테이너 워크로드 배포
웹 콘솔에서 OpenShift 샌드박스 컨테이너 워크로드를 배포할 수 있습니다. 먼저 OpenShift 샌드박스 컨테이너 Operator를 설치한 다음 KataConfig
CR(사용자 정의 리소스)을 생성해야 합니다. 샌드박스 컨테이너에 워크로드를 배포할 준비가 되면 워크로드 YAML 파일에 kata
를 runtimeClassName
으로 수동으로 추가해야 합니다.
2.2.1. 웹 콘솔을 사용하여 OpenShift 샌드박스 컨테이너 Operator 설치
OOpenShift Container Platform 웹 콘솔에서 OpenShift 샌드박스 컨테이너 Operator를 설치할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 4.15가 설치되어 있어야 합니다.
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
프로세스
-
웹 콘솔의 관리자 화면에서 Operator
OperatorHub 로 이동합니다. -
키워드로 필터링 필드에
OpenShift sandboxed containers
를 입력합니다. - OpenShift 샌드박스 컨테이너 타일을 선택합니다.
- Operator에 대한 정보를 확인하고 Install을 클릭합니다.
Operator 설치 페이지에서 다음을 수행합니다.
- 사용 가능한 업데이트 채널 옵션 목록에서 stable을 선택합니다.
설치된 네임스페이스 용으로 Operator 권장 네임스페이스 가 선택되어 있는지 확인합니다. 이렇게 하면 필수
openshift-sandboxed-containers-operator
네임스페이스에 Operator가 설치됩니다. 이 네임스페이스가 아직 존재하지 않으면 자동으로 생성됩니다.참고openshift-sandboxed-containers-operator
이외의 네임스페이스에 OpenShift 샌드박스 컨테이너 Operator를 설치하려고 하면 설치가 실패합니다.- 승인 전략에 대해 자동 이 선택되어 있는지 확인합니다. Automatic 은 기본값이며 새 z-stream 릴리스를 사용할 수 있을 때 OpenShift 샌드박스 컨테이너에 대한 자동 업데이트를 활성화합니다.
- 설치를 클릭합니다.
OpenShift 샌드박스 컨테이너 Operator가 클러스터에 설치되었습니다.
검증
-
웹 콘솔의 관리자 화면에서 Operator
설치된 Operator 로 이동합니다. - OpenShift 샌드박스 컨테이너 Operator가 operator 목록에 나열되어 있는지 확인합니다.
2.2.2. 웹 콘솔에서 KataConfig 사용자 지정 리소스 생성
클러스터 노드에서 kata
를 RuntimeClass
로 설치하려면 하나의 KataConfig
CR(사용자 정의 리소스)을 생성해야 합니다.
KataConfig
CR을 생성하면 작업자 노드가 자동으로 재부팅됩니다. 재부팅에는 10분에서 60분 이상 걸릴 수 있습니다. 재부팅 시간을 방해하는 요소는 다음과 같습니다.
- 더 많은 작업자 노드가 있는 대규모 OpenShift Container Platform 배포
- BIOS 및 Cryostat 유틸리티 활성화.
- SSD가 아닌 하드 디스크 드라이브에 배포합니다.
- 가상 노드가 아닌 베어 메탈과 같은 물리적 노드에 배포됩니다.
- 느린 CPU 및 네트워크입니다.
사전 요구 사항
- 클러스터에 OpenShift Container Platform 4.15를 설치했습니다.
-
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 를 확장합니다. 이는 라벨 선택기 요구 사항 목록입니다. - 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 탭을 선택합니다.
상태 필드를 모니터링합니다.
업데이트가 있을 때마다 메시지가 표시됩니다. Reload 를 클릭하여 업데이트된
KataConfig
CR을 확인합니다.status 필드에는 조건 및 kataNodes 하위 필드가 있습니다. kataNodes 하위 필드는 노드 목록의 컬렉션이며 각각
kata
설치 상태의 노드를 나열합니다.kataNodes 아래의 모든 작업자가
설치된
것으로 나열되고 이유를 지정하지 않고InProgress
조건이False
이면 클러스터에kata
가 설치되어 있음을 나타냅니다. 자세한 내용은 "설치 및 제거 전환"을 참조하십시오.
2.2.3. 웹 콘솔을 사용하여 샌드박스 컨테이너에 워크로드 배포
OpenShift 샌드박스 컨테이너는 Kata를 기본 런타임이 아닌 클러스터에 보조 런타임으로 설치합니다.
샌드박스 컨테이너에 pod 템플릿 워크로드를 배포하려면 워크로드 YAML 파일에 kata
를 runtimeClassName
으로 수동으로 추가해야 합니다.
사전 요구 사항
- 클러스터에 OpenShift Container Platform 4.15를 설치했습니다.
-
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
- 저장을 클릭합니다.
OpenShift Container Platform은 워크로드를 생성하고 스케줄링을 시작합니다.