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.12가 설치되어 있어야 합니다.
-
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.12를 설치했습니다.
-
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 탭에서 새
KataConfigCR을 선택합니다. - KataConfig 페이지에서 YAML 탭을 선택합니다.
상태에서 installationStatus 필드를 모니터링합니다.
업데이트가 있을 때마다 메시지가 나타납니다. Reload 를 클릭하여 업데이트된
KataConfigCR을 확인합니다.완료된 노드 값이 작업자 또는 레이블이 지정된 노드 수와 같으면 설치가 완료됩니다. 상태에는 설치가 완료된 노드 목록도 포함됩니다.
2.2.3. 웹 콘솔을 사용하여 샌드박스 컨테이너에 워크로드 배포
OpenShift 샌드박스 컨테이너는 Kata를 기본 런타임이 아닌 클러스터의 보조 선택적 런타임으로 설치합니다.
샌드박스 컨테이너에 Pod 템플릿 워크로드를 배포하려면 워크로드 YAML 파일에 kata 를 runtimeClassName 으로 수동으로 추가해야 합니다.
사전 요구 사항
- 클러스터에 Red Hat OpenShift 4.12를 설치했습니다.
-
cluster-admin역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - OpenShift 샌드박스 컨테이너 Operator가 설치되어 있습니다.
-
KataConfigCR(사용자 정의 리소스)을 생성했습니다.
절차
- 웹 콘솔의 관리자 화면에서 워크로드 를 확장하고 생성할 워크로드 유형을 선택합니다.
- 워크로드 페이지에서 워크로드를 생성하려면 클릭합니다.
워크로드의 YAML 파일에서 컨테이너가 나열된 spec 필드에서
runtimeClassName: kata를 추가합니다.Pod 오브젝트의 예
apiVersion: v1 kind: Pod metadata: name: example abels: app: httpd namespace: openshift-sandboxed-containers-operator spec: runtimeClassName: kata containers: - name: httpd image: 'image-registry.openshift-image-registry.svc:5000/openshift/httpd:latest' ports: null - containerPort: 8080Deployment 오브젝트의 예
apiVersion: apps/v1 kind: Deployment metadata: name: example namespace: openshift-sandboxed-containers-operator spec: selector: matchLabels: app: httpd replicas: 3 template: metadata: labels: app: httpd spec: runtimeClassName: kata containers: - name: httpd image: >- image-registry.openshift-image-registry.svc:5000/openshift/httpd:latest ports: - containerPort: 8080- 저장을 클릭합니다.
Red Hat OpenShift는 워크로드를 생성하고 스케줄링을 시작합니다.