웹 콘솔

OpenShift Container Platform 4.12

OpenShift Container Platform에서 웹 콘솔 시작하기

Red Hat OpenShift Documentation Team

초록

이 문서는 OpenShift Container Platform 웹 콘솔 액세스 및 사용자 지정에 대한 정보를 제공합니다.

1장. 웹 콘솔 개요

Red Hat OpenShift Container Platform 웹 콘솔은 그래픽 사용자 인터페이스를 제공하여 프로젝트 데이터를 시각화하고 관리, 관리 및 문제 해결 작업을 수행할 수 있습니다. 웹 콘솔은 openshift-console 프로젝트의 컨트롤 플레인 노드에서 Pod로 실행됩니다. console-operator Pod에서 관리합니다. AdministratorDeveloper 모드 둘 다 지원됩니다.

AdministratorDeveloper 모드 둘 다 OpenShift Container Platform에 대한 퀵 스타트 튜토리얼을 생성할 수 있습니다. 퀵 스타트는 사용자 작업에 대한 가이드 튜토리얼이며 애플리케이션, Operator 또는 기타 제품 오퍼링을 사용하는 데 유용합니다.

1.1. 웹 콘솔의 관리자 화면 정보

관리자 화면을 사용하면 클러스터 인벤토리, 용량, 일반 및 특정 사용 정보, 중요한 이벤트 스트림을 볼 수 있으므로 계획 및 문제 해결 작업을 단순화할 수 있습니다. 프로젝트 관리자와 클러스터 관리자는 모두 관리자 화면을 볼 수 있습니다.

클러스터 관리자는 OpenShift Container Platform 4.7 이상에서 웹 터미널 Operator를 사용하여 포함된 명령줄 터미널 인스턴스를 열 수도 있습니다.

참고

표시되는 기본 웹 콘솔 모드 정보는 사용자의 역할에 따라 다르게 표시됩니다. 사용자가 관리자로 인식되면 기본적으로 Administrator 관점이 표시됩니다.

관리자 관점은 다음과 같은 관리자의 유스 케이스에 특정한 워크 플로우를 제공합니다.

  • 워크로드, 스토리지, 네트워킹 및 클러스터 설정을 관리합니다.
  • Operator Hub를 사용하여 Operator를 설치 및 관리합니다.
  • 역할 및 역할 바인딩을 통해 사용자가 로그인하고 사용자 액세스 권한을 관리할 수 있는 ID 공급자를 추가합니다.
  • 클러스터 업데이트, 부분적인 클러스터 업데이트, 클러스터 Operator, CRD(사용자 정의 리소스 정의), 역할 바인딩 및 리소스 할당량과 같은 다양한 고급 설정을 보고 관리합니다.
  • 지표, 경고 및 모니터링 대시보드와 같은 모니터링 기능에 액세스 및 관리합니다.
  • 클러스터에 대한 로깅, 지표 및 높은 상태 정보를 보고 관리합니다.
  • OpenShift Container Platform의 관리자 관점과 관련된 애플리케이션, 구성 요소 및 서비스와 시각적으로 상호 작용합니다.

1.2. 웹 콘솔의 Developer 모드 정보

개발자 관점은 애플리케이션, 서비스 및 데이터베이스를 배포하는 몇 가지 기본 제공 방법을 제공합니다. 개발자 관점에서 다음을 수행할 수 있습니다.

  • 구성 요소에서 롤링의 실시간 시각화를 보고 롤아웃을 다시 생성합니다.
  • 애플리케이션 상태, 리소스 사용률, 프로젝트 이벤트 스트리밍, 할당량 소비를 확인합니다.
  • 프로젝트를 다른 사람과 공유합니다.
  • 프로젝트에 대한 Prometheus Query Language(PromQL) 쿼리를 실행하고 플롯에서 시각화된 지표를 검사하여 애플리케이션의 문제를 해결합니다. 지표는 클러스터 상태 및 모니터링 중인 모든 사용자 정의 워크로드에 대한 정보를 제공합니다.

클러스터 관리자는 OpenShift Container Platform 4.7 이상의 웹 콘솔에서 포함된 명령줄 터미널 인스턴스를 열 수도 있습니다.

참고

표시되는 기본 웹 콘솔 모드 정보는 사용자의 역할에 따라 다르게 표시됩니다. 사용자가 Developer로 인식되면 기본적으로 Developer 모드 정보가 표시됩니다.

Developer 모드는 다음과 같은 개발자의 유스 케이스에 특정한 워크 플로우를 제공합니다.

  • 기존 코드베이스, 이미지 및 컨테이너 파일을 가져와 OpenShift Container Platform에서 애플리케이션을 생성하고 배포합니다.
  • 프로젝트에서 관련 애플리케이션, 구성 요소 및 서비스와 시각적으로 상호 작용하고 배포 및 빌드 상태를 모니터링합니다.
  • 애플리케이션에서 구성 요소를 그룹화하고 애플리케이션 내부 및 애플리케이션간에 구성 요소를 연결합니다.
  • Serverless 기능 (기술 프리뷰)을 통합합니다.
  • Eclipse Che를 사용하여 애플리케이션 코드를 편집할 수 있는 작업 공간을 만듭니다.

토폴로지 보기를 사용하여 프로젝트의 애플리케이션, 구성 요소 및 워크로드를 표시할 수 있습니다. 프로젝트에 워크로드가 없는 경우 토폴로지 보기에 생성하거나 가져올 일부 링크가 표시됩니다. 빠른 검색을 사용하여 구성 요소를 직접 가져올 수도 있습니다.

1.3. 관점 액세스

다음과 같이 웹 콘솔에서 관리자개발자 화면에 액세스할 수 있습니다.

사전 요구 사항

화면에 액세스하려면 웹 콘솔에 로그인해야 합니다. 기본 관점은 사용자 권한에 따라 자동으로 결정됩니다. 모든 프로젝트에 액세스할 수 있는 사용자에 대해 관리자 관점이 선택되지만, 자체 프로젝트에 대한 액세스 권한이 제한된 사용자는 Developer 모드가 선택됩니다.

추가 리소스

관점 변경에 대한 자세한 내용은 사용자 환경 추가를 참조하십시오.

절차

  1. 관점 전환 기능을 사용하여 관리자 또는 개발자 화면으로 전환합니다.
  2. 프로젝트 드롭다운 목록에서 기존 프로젝트를 선택합니다. 이 드롭다운에서 새 프로젝트를 생성할 수도 있습니다.
참고

화면 전환기를 cluster-admin 으로만 사용할 수 있습니다.

2장. 웹 콘솔에 액세스

OpenShift Container Platform 웹 콘솔은 웹 브라우저에서 액세스할 수 있는 사용자 인터페이스입니다. 개발자는 웹 콘솔을 사용하여 프로젝트의 내용을 시각적으로 탐색 및 관리할 수 있습니다.

2.1. 전제 조건

2.2. 웹 콘솔 이해 및 액세스

웹 콘솔은 마스터에서 Pod로 실행됩니다. Pod에서는 웹 콘솔을 실행하는 데 필요한 정적 환경을 제공합니다. openshift-install create cluster 를 사용하여 OpenShift Container Platform을 성공적으로 설치한 후 설치 프로그램의 CLI 출력에서 웹 콘솔의 URL 및 설치된 클러스터의 로그인 인증 정보를 찾습니다. 예를 들면 다음과 같습니다.

출력 예

INFO Install complete!
INFO Run 'export KUBECONFIG=<your working directory>/auth/kubeconfig' to manage the cluster with 'oc', the OpenShift CLI.
INFO The cluster is ready when 'oc login -u kubeadmin -p <provided>' succeeds (wait a few minutes).
INFO Access the OpenShift web-console here: https://console-openshift-console.apps.demo1.openshift4-beta-abcorp.com
INFO Login to the console with user: kubeadmin, password: <provided>

이러한 세부 사항을 사용하여 로그인하고 웹 콘솔에 로그인하고 액세스하십시오.

설치하지 않은 기존 클러스터의 경우 oc whoami --show-console을 사용하여 웹 콘솔 URL을 확인할 수 있습니다.

중요

dir 매개변수는 매니페스트 파일, ISO 이미지 및 auth 디렉터리를 저장하는 assets 디렉터리를 지정합니다. auth 디렉터리는 kubeadmin-passwordkubeconfig 파일을 저장합니다. kubeadmin 사용자는 kubeconfig 파일을 사용하여 다음 설정으로 클러스터에 액세스할 수 있습니다. export KUBECONFIG=<install_directory>/auth/kubeconfig. kubeconfig 는 생성된 ISO 이미지에 한정되므로 kubeconfig 가 설정되고 oc 명령이 실패하면 생성된 ISO 이미지로 시스템을 부팅하지 못할 수 있습니다. 디버깅을 수행하려면 부트스트랩 프로세스 중에 kubeadmin-password 파일의 콘텐츠를 사용하여 core 사용자로 콘솔에 로그인할 수 있습니다.

3장. OpenShift Container Platform 대시 보드를 사용하여 클러스터 정보 검색

OpenShift Container Platform 웹 콘솔은 클러스터에 대한 고급 정보를 캡처합니다.

3.1. OpenShift Container Platform 대시 보드 페이지 정보

OpenShift Container Platform 대시보드에 액세스합니다. 이 대시보드는 OpenShift Container Platform 웹 콘솔에서 개요 로 이동하여 클러스터에 대한 고급 정보를 캡처합니다.

OpenShift Container Platform 대시 보드는 별도의 대시 보드 카드에 표시되는 다양한 클러스터 정보를 제공합니다.

OpenShift Container Platform 대시 보드는 다음 카드로 구성됩니다.

  • Details는 클러스터 정보에 대한 간략한 개요를 표시합니다.

    상태에는 ok, error, warning, progressunknown이 포함되어 있습니다. 리소스는 사용자 정의 상태 이름을 추가 할 수 있습니다.

    • 클러스터 ID
    • 공급자
    • 버전
  • Cluster Inventory는 리소스 수 및 관련 상태를 정보를 표시합니다. 이러한 정보는 문제 해결에 개입이 필요한 경우 매우 유용하며 다음과 같은 관련 정보가 포함되어 있습니다.

    • 노드 수
    • Pod 수
    • 영구 스토리지 볼륨 요청
    • 상태에 따라 나열되는 클러스터의 베어 메탈 호스트 (metal3 환경에서만 사용 가능)
    • 상태에 따라 나열된 클러스터의 베어 메탈 호스트 ( metal3 환경에서만 사용 가능)
  • Status 는 관리자가 클러스터 리소스를 사용하는 방법을 이해하는 데 도움이 됩니다. 리소스를 클릭하면 지정된 클러스터 리소스(CPU, 메모리 또는 스토리지)를 가장 많이 사용하는 Pod와 노드가 나열된 세부 정보 페이지로 이동합니다.
  • 클러스터 사용률 은 관리자가 다음과 같은 정보를 포함하여 높은 리소스 소비의 규모와 빈도를 이해하는 데 도움이 되도록 지정된 기간 동안 다양한 리소스의 용량을 표시합니다.

    • CPU 시간
    • 메모리 할당
    • 소비된 스토리지
    • 소비된 네트워크 리소스
    • Pod 수
  • 활동에는 Pod 생성 또는 다른 호스트로의 가상 머신 마이그레이션과 같은 클러스터의 최근 활동과 관련된 메시지가 나열됩니다.

3.2. 리소스 및 프로젝트 제한 및 할당량 인식

웹 콘솔 개발자 화면의 토폴로지 보기에서 사용 가능한 리소스의 그래픽 표시를 볼 수 있습니다.

리소스에 리소스 제한이나 할당량에 대한 메시지가 있는 경우 리소스 이름에 노란색 테두리를 표시합니다. 리소스를 클릭하여 측면 패널을 열어 메시지를 확인합니다. 토폴로지 보기가 확대되면 노란색 점이 메시지를 사용할 수 있음을 나타냅니다.

보기 단축 메뉴에서 목록 보기를 사용하는 경우 리소스가 목록으로 표시됩니다. 경고 열은 메시지를 사용할 수 있는지 여부를 나타냅니다.

4장. 사용자 기본 설정 추가

요구 사항에 맞게 프로필의 기본 기본 설정을 변경할 수 있습니다. 기본 프로젝트, 토폴로지 보기(그래그 또는 목록), 중간(form 또는 YAML), 언어 기본 설정 및 리소스 유형을 설정할 수 있습니다.

사용자 환경 설정에 대한 변경 사항이 자동으로 저장됩니다.

4.1. 사용자 기본 설정

클러스터에 대한 기본 사용자 기본 설정을 설정할 수 있습니다.

절차

  1. 로그인 인증 정보를 사용하여 OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. 마스트 헤드를 사용하여 사용자 프로필 아래의 사용자 기본 설정에 액세스합니다.
  3. 일반 섹션에서 다음을 수행합니다.

    1. 테마 필드에서 작업할 주제를 설정할 수 있습니다. 콘솔의 기본값은 로그인할 때마다 선택한 테마로 설정됩니다.
    2. Perspective 필드에서 로그인할 기본 화면을 설정할 수 있습니다. 필요에 따라 관리자 또는 개발자 화면을 선택할 수 있습니다. 관점을 선택하지 않은 경우 마지막으로 방문한 관점에 로그인합니다.
    3. 프로젝트 필드에서 작업하려는 프로젝트를 선택합니다. 콘솔은 로그인할 때마다 기본적으로 프로젝트로 설정됩니다.
    4. 토폴로지 필드에서 토폴로지 보기를 기본적으로 그래프 또는 목록 보기로 설정할 수 있습니다. 선택하지 않은 경우 콘솔은 기본적으로 마지막으로 사용한 보기로 설정됩니다.
    5. 생성/편집 리소스 방법 필드에서 리소스를 생성하거나 편집하기 위한 기본 설정을 설정할 수 있습니다. 양식과 YAML 옵션을 모두 사용할 수 있는 경우 콘솔의 기본값은 선택 사항입니다.
  4. 언어 섹션에서 기본 브라우저 언어를 선택하여 기본 브라우저 언어 설정을 사용합니다. 그렇지 않으면 콘솔에 사용할 언어를 선택합니다.
  5. 알림 섹션에서 개요 페이지 또는 알림 서랍의 특정 프로젝트에 대해 사용자가 생성한 알림을 전환할 수 있습니다.
  6. Applications 섹션에서 다음을 수행합니다.

    1. 기본 리소스 유형을 볼 수 있습니다. 예를 들어 OpenShift Serverless Operator가 설치된 경우 기본 리소스 유형은 Serverless Deployment 입니다. 그렇지 않으면 기본 리소스 유형은 Deployment 입니다.
    2. 리소스 유형 필드에서 기본 리소스 유형이 될 다른 리소스 유형을 선택할 수 있습니다.

5장. OpenShift Container Platform에서 웹 콘솔 구성

OpenShift Container Platform 웹 콘솔을 수정하여 로그 아웃 리디렉션 URL을 설정하거나 퀵 스타트 튜토리얼을 비활성화할 수 있습니다.

5.1. 전제 조건

  • OpenShift Container Platform 클러스터를 배포합니다.

5.2. 웹 콘솔 구성

console.config.openshift.io 리소스를 편집하여 웹 콘솔을 설정할 수 있습니다.

  • console.config.openshift.io 리소스를 편집합니다.

    $ oc edit console.config.openshift.io cluster

    다음 예제는 콘솔의 리소스 정의입니다.

    apiVersion: config.openshift.io/v1
    kind: Console
    metadata:
      name: cluster
    spec:
      authentication:
        logoutRedirect: "" 1
    status:
      consoleURL: "" 2
    1
    사용자가 웹 콘솔에서 로그 아웃할 때 로드할 페이지의 URL을 지정합니다. 값을 지정하지 않으면 사용자는 웹 콘솔의 로그인 페이지로 돌아갑니다. logoutRedirect URL을 지정하면 사용자가 아이덴티티 공급자를 통해 단일 로그 아웃 (SLO)을 수행하여 단일 사인온 세션을 삭제할 수 있습니다.
    2
    웹 콘솔 URL입니다. 사용자 정의 값으로 업데이트하려면 웹 콘솔 URL 사용자 정의를 참조하십시오.

5.3. 웹 콘솔에서 퀵 스타트 비활성화

웹 콘솔의 Administrator 관점을 사용하여 하나 이상의 퀵 스타트를 비활성화할 수 있습니다.

전제 조건

  • 클러스터 관리자 권한이 있으며 웹 콘솔에 로그인되어 있습니다.

프로세스

  1. 관리자 관점에서 관리 → 클러스터 설정으로 이동합니다.
  2. 클러스터 설정 페이지에서 구성 탭을 클릭합니다.
  3. Configuration 페이지에서 description operator.openshift.io 를 사용하여 Console 구성 리소스를 클릭합니다.

    선택할 올바른 콘솔 구성 리소스를 보여주는 Configuration 페이지의 이미지
  4. 작업 드롭다운 목록에서 사용자 지정을 선택하여 클러스터 구성 페이지가 열립니다.
  5. 일반 탭의 빠른 시작 섹션에서 Enabled 또는 Disabled 목록에서 항목을 선택하고 화살표 버튼을 사용하여 한 목록에서 다른 목록으로 해당 항목을 이동할 수 있습니다.

    • 단일 퀵 스타트를 활성화하거나 비활성화하려면 퀵 스타트를 클릭한 다음 단일 화살표 버튼을 사용하여 퀵 스타트를 적절한 목록으로 이동합니다.
    • 한 번에 여러 퀵 스타트를 활성화하거나 비활성화하려면 Ctrl을 누른 후 이동할 퀵 스타트를 클릭합니다. 그런 다음 단일 화살표 버튼을 사용하여 퀵 스타트를 적절한 목록으로 이동합니다.
    • 한 번에 모든 퀵 스타트를 활성화하거나 비활성화하려면 이중 화살표 버튼을 클릭하여 모든 퀵 스타트를 적절한 목록으로 이동합니다.

6장. OpenShift Container Platform에서 웹 콘솔 사용자 정의

OpenShift Container Platform 웹 콘솔을 사용자 정의하여 사용자 정의 로고, 제품 이름, 링크, 알림 및 명령 줄 다운로드를 설정할 수 있습니다. 이는 웹 콘솔을 특정 기업 또는 정부의 요구 사항에 맞게 조정해야하는 경우 특히 유용합니다.

6.1. 사용자 정의 로고 및 제품 이름 추가

사용자 정의 로고 또는 사용자 정의 제품 이름을 추가하여 사용자 정의 브랜딩을 만들 수 있습니다. 이 설정은 서로 독립적이므로 모두 또는 하나씩 따로 설정할 수 있습니다.

전제 조건

  • 클러스터 관리자 권한이 있어야합니다.
  • 사용할 로고 파일을 만듭니다. 로고는 GIF, JPG, PNG 또는 SVG를 포함한 일반적인 이미지 형식의 파일일 수 있으며 max-width of 200px 및 max-height의 68px 로 제한됩니다. ConfigMap 오브젝트 크기의 제약 조건으로 인해 이미지 크기가 1MB를 초과해서는 안 됩니다.

프로세스

  1. openshift-config 네임 스페이스의 로고 파일을 설정 맵으로 가져옵니다.

    $ oc create configmap console-custom-logo --from-file /path/to/console-custom-logo.png -n openshift-config
    작은 정보

    다음 YAML을 적용하여 구성 맵을 만들 수 있습니다.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: console-custom-logo
      namespace: openshift-config
    binaryData:
      console-custom-logo.png: <base64-encoded_logo> ... 1
    1
    유효한 base64로 인코딩된 로고를 제공합니다.
  2. customLogoFilecustomProductName을 포함하도록 웹 콘솔의 Operator 설정을 편집합니다.

    $ oc edit consoles.operator.openshift.io cluster
    apiVersion: operator.openshift.io/v1
    kind: Console
    metadata:
      name: cluster
    spec:
      customization:
        customLogoFile:
          key: console-custom-logo.png
          name: console-custom-logo
        customProductName: My Console

    Operator 설정이 업데이트되면 사용자 정의 로고 설정 맵을 콘솔 네임 스페이스에 동기화하고 이를 콘솔 pod에 마운트한 후 다시 배포합니다.

  3. 성공적으로 실행되었는지 확인합니다. 문제가 있는 경우 콘솔 클러스터 Operator는 Degraded 상태를 보고하고 콘솔 Operator 설정도 CustomLogoDegraded 상태를 KeyOrFilenameInvalid 또는 NoImageProvided와 같은 이유와 함께 보고합니다.

    clusteroperator를 확인하려면 다음을 실행합니다.

    $ oc get clusteroperator console -o yaml

    콘솔 Operator 설정을 확인하려면 다음을 실행합니다.

    $ oc get consoles.operator.openshift.io -o yaml

6.3. 콘솔 경로 사용자 정의

consoledownloads의 경우 사용자 지정 경로 기능은 ingress 구성 경로 구성 API를 사용합니다. console 사용자 정의 경로가 ingress 구성 및 console-operator 구성에 모두 설정된 경우 새 ingress 구성 사용자 정의 경로 구성이 우선합니다. console-operator 구성을 통한 경로 구성은 더 이상 사용되지 않습니다.

6.3.1. 콘솔 경로 사용자 정의

클러스터 Ingress 구성의 spec.componentRoutes 필드에 사용자 정의 호스트 이름과 TLS 인증서를 설정하여 콘솔 경로를 사용자 지정할 수 있습니다.

사전 요구 사항

  • 관리 권한이 있는 사용자로 클러스터에 로그인했습니다.
  • TLS 인증서 및 키가 포함된 openshift-config 네임스페이스에 시크릿을 생성했습니다. 사용자 지정 호스트 이름 접미사가 클러스터 도메인 접미사와 일치하지 않는 경우 이 작업이 필요합니다. 접미사가 일치하는 경우 시크릿은 선택 사항입니다.

    작은 정보

    oc create secret tls 명령을 사용하여 TLS 시크릿을 생성할 수 있습니다.

절차

  1. 클러스터 Ingress 구성을 편집합니다.

    $ oc edit ingress.config.openshift.io cluster
  2. 사용자 정의 호스트 이름과 서비스 인증서 및 키를 설정합니다.

    apiVersion: config.openshift.io/v1
    kind: Ingress
    metadata:
      name: cluster
    spec:
      componentRoutes:
        - name: console
          namespace: openshift-console
          hostname: <custom_hostname> 1
          servingCertKeyPairSecret:
            name: <secret_name> 2
    1
    사용자 지정 호스트 이름.
    2
    TLS 인증서 (tls.crt) 및 키 (tls.key)가 포함된 openshift-config 네임스페이스의 시크릿에 대한 참조입니다. 사용자 지정 호스트 이름 접미사가 클러스터 도메인 접미사와 일치하지 않는 경우 이 작업이 필요합니다. 접미사가 일치하는 경우 시크릿은 선택 사항입니다.
  3. 파일을 저장하여 변경 사항을 적용합니다.

6.3.2. 다운로드 경로 사용자 지정

클러스터 Ingress 구성의 spec.componentRoutes 필드에 사용자 정의 호스트 이름과 TLS 인증서를 설정하여 다운로드 경로를 사용자 지정할 수 있습니다.

사전 요구 사항

  • 관리 권한이 있는 사용자로 클러스터에 로그인했습니다.
  • TLS 인증서 및 키가 포함된 openshift-config 네임스페이스에 시크릿을 생성했습니다. 사용자 지정 호스트 이름 접미사가 클러스터 도메인 접미사와 일치하지 않는 경우 이 작업이 필요합니다. 접미사가 일치하는 경우 시크릿은 선택 사항입니다.

    작은 정보

    oc create secret tls 명령을 사용하여 TLS 시크릿을 생성할 수 있습니다.

절차

  1. 클러스터 Ingress 구성을 편집합니다.

    $ oc edit ingress.config.openshift.io cluster
  2. 사용자 정의 호스트 이름과 서비스 인증서 및 키를 설정합니다.

    apiVersion: config.openshift.io/v1
    kind: Ingress
    metadata:
      name: cluster
    spec:
      componentRoutes:
        - name: downloads
          namespace: openshift-console
          hostname: <custom_hostname> 1
          servingCertKeyPairSecret:
            name: <secret_name> 2
    1
    사용자 지정 호스트 이름.
    2
    TLS 인증서 (tls.crt) 및 키 (tls.key)가 포함된 openshift-config 네임스페이스의 시크릿에 대한 참조입니다. 사용자 지정 호스트 이름 접미사가 클러스터 도메인 접미사와 일치하지 않는 경우 이 작업이 필요합니다. 접미사가 일치하는 경우 시크릿은 선택 사항입니다.
  3. 파일을 저장하여 변경 사항을 적용합니다.

6.4. 로그인 페이지 사용자 정의

사용자 정의 로그인 페이지를 사용하여 서비스 약관 정보를 작성하십시오. 사용자 정의 로그인 페이지는 GitHub 또는 Google과 같은 타사 로그인 공급자를 사용하는 경우에도 사용자가 신뢰하는 브랜드 페이지를 표시하고 사용자를 인증 공급자로 리디렉션하는데 유용할 수 있습니다. 인증 프로세스 중에 사용자 정의 오류 페이지를 렌더링할 수도 있습니다.

참고

오류 템플릿 사용자 지정은 요청 헤더 및 OIDC 기반 IDP와 같이 리디렉션을 사용하는 ID 프로바이더(IDP)로 제한됩니다. LDAP 및 htpasswd와 같이 직접 암호 인증을 사용하는 IDP에는 영향을 미치지 않습니다.

사전 요구 사항

  • 클러스터 관리자 권한이 있어야합니다.

프로세스

  1. 다음 명령을 실행하여 수정할 수 있는 템플릿을 만듭니다.

    $ oc adm create-login-template > login.html
    $ oc adm create-provider-selection-template > providers.html
    $ oc adm create-error-template > errors.html
  2. 시크릿을 사용하여 해당 정보를 만듭니다:

    $ oc create secret generic login-template --from-file=login.html -n openshift-config
    $ oc create secret generic providers-template --from-file=providers.html -n openshift-config
    $ oc create secret generic error-template --from-file=errors.html -n openshift-config
  3. 다음을 실행합니다.

    $ oc edit oauths cluster
  4. 사양을 업데이트합니다.

    apiVersion: config.openshift.io/v1
    kind: OAuth
    metadata:
      name: cluster
    # ...
    spec:
      templates:
        error:
            name: error-template
        login:
            name: login-template
        providerSelection:
            name: providers-template

    oc explain oauths.spec.templates을 실행하여 옵션을 파악합니다.

6.6. 사용자 정의 알림 배너 만들기

전제 조건

  • 클러스터 관리자 권한이 있어야합니다.

프로세스

  1. AdministrationCustom Resource Definitions에서 ConsoleNotification을 클릭합니다.
  2. Instances 탭을 선택합니다.
  3. Create Console Notification을 클릭하고 파일을 편집합니다.

    apiVersion: console.openshift.io/v1
    kind: ConsoleNotification
    metadata:
      name: example
    spec:
      text: This is an example notification message with an optional link.
      location: BannerTop 1
      link:
        href: 'https://www.example.com'
        text: Optional link text
      color: '#fff'
      backgroundColor: '#0088ce'
    1
    유효한 위치 설정은 BannerTop, BannerBottomBannerTopBottom 입니다.
  4. 만들기를 클릭하여 변경 사항을 적용합니다.

6.7. CLI 다운로드 사용자 정의

파일 패키지 또는 패키지를 제공하는 외부 페이지를 직접 지정할 수있는 사용자 정의 링크 텍스트 및 URL을 사용하여 CLI를 다운로드하기 위한 링크를 설정할 수 있습니다.

전제 조건

  • 클러스터 관리자 권한이 있어야합니다.

프로세스

  1. AdministrationCustom Resource Definitions로 이동합니다.
  2. CRD (Custom Resource Definitions) 목록에서 ConsoleCLIDownload를 선택합니다.
  3. YAML 탭을 클릭한 후 편집합니다.

    apiVersion: console.openshift.io/v1
    kind: ConsoleCLIDownload
    metadata:
      name: example-cli-download-links
    spec:
      description: |
        This is an example of download links
      displayName: example
      links:
      - href: 'https://www.example.com/public/example.tar'
        text: example for linux
      - href: 'https://www.example.com/public/example.mac.zip'
        text: example for mac
      - href: 'https://www.example.com/public/example.win.zip'
        text: example for windows
  4. Save 버튼을 클릭합니다.

6.8. Kubernetes 리소스에 YAML 예제 추가

언제든지 Kubernetes 리소스에 YAML 예제를 동적으로 추가할 수 있습니다.

전제 조건

  • 클러스터 관리자 권한이 있어야합니다.

프로세스

  1. AdministrationCustom Resource Definitions에서 ConsoleYAMLSample을 클릭합니다.
  2. YAML을 클릭하고 파일을 편집합니다.

    apiVersion: console.openshift.io/v1
    kind: ConsoleYAMLSample
    metadata:
      name: example
    spec:
      targetResource:
        apiVersion: batch/v1
        kind: Job
      title: Example Job
      description: An example Job YAML sample
      yaml: |
        apiVersion: batch/v1
        kind: Job
        metadata:
          name: countdown
        spec:
          template:
            metadata:
              name: countdown
            spec:
              containers:
              - name: counter
                image: centos:7
                command:
                - "bin/bash"
                - "-c"
                - "for i in 9 8 7 6 5 4 3 2 1 ; do echo $i ; done"
              restartPolicy: Never

    spec.snippet을 사용하여 YAML 샘플이 전체 YAML 리소스 정의가 아니라 사용자 커서에서 기존 YAML 문서에 삽입할 수 있는 조각을 보여줍니다.

  3. 저장을 클릭합니다.

6.9. 사용자 화면 사용자 정의

OpenShift Container Platform 웹 콘솔은 기본적으로 AdministratorDeveloper 의 두 가지 관점을 제공합니다. 설치된 콘솔 플러그인에 따라 더 많은 화면을 사용할 수 있습니다. 클러스터 관리자는 모든 사용자 또는 특정 사용자 역할에 대한 관점을 표시하거나 숨길 수 있습니다. 관점을 사용자 정의하면 사용자가 역할 및 작업에 적용할 수 있는 관점만 볼 수 있습니다. 예를 들어 클러스터 리소스, 사용자 및 프로젝트를 관리할 수 없도록 권한이 없는 사용자로부터 관리자 화면을 숨길 수 있습니다. 마찬가지로 애플리케이션을 생성, 배포 및 모니터링할 수 있도록 개발자 역할을 가진 사용자에게 개발자 화면을 표시할 수 있습니다.

RBAC(역할 기반 액세스 제어)를 기반으로 사용자의 화면 가시성을 사용자 지정할 수도 있습니다. 예를 들어 특정 권한이 필요한 모니터링 목적으로 관점을 사용자 지정하는 경우 필요한 권한이 있는 사용자만 화면을 볼 수 있음을 정의할 수 있습니다.

각 화면에는 YAML 보기에서 편집할 수 있는 다음과 같은 필수 매개변수가 포함되어 있습니다.

  • id: 표시 또는 숨길 관점의 ID를 정의합니다.
  • 가시성: 필요한 경우 액세스 검토 검사와 함께 관점의 상태를 정의합니다.
  • 관점을 활성화, 비활성화 또는 액세스 검토 검토가 필요한지 여부를 정의합니다.
참고

기본적으로 모든 관점이 활성화됩니다. 사용자 화면을 사용자 지정하면 변경 사항이 전체 클러스터에 적용됩니다.

6.9.1. YAML 보기를 사용하여 관점 사용자 정의

전제 조건

  • 클러스터 관리자 권한이 있어야합니다.

절차

  1. 관리자 관점에서 관리클러스터 설정으로 이동합니다.
  2. Configuration 탭을 선택하고 Console(operator.openshift.io) 리소스를 클릭합니다.
  3. YAML 탭을 클릭하고 사용자 정의를 설정합니다.

    1. 화면을 활성화하거나 비활성화하려면 사용자 관점 추가 의 스니펫을 삽입하고 필요에 따라 YAML 코드를 편집합니다.

      apiVersion: operator.openshift.io/v1
      kind: Console
      metadata:
        name: cluster
      spec:
        customization:
          perspectives:
            - id: admin
              visibility:
                state: Enabled
            - id: dev
              visibility:
                state: Enabled
    2. RBAC 권한을 기반으로 관점을 숨기려면 Hide 사용자 관점에 대한 스니펫을 삽입하고 필요에 따라 YAML 코드를 편집합니다.

      apiVersion: operator.openshift.io/v1
      kind: Console
      metadata:
        name: cluster
      spec:
        customization:
          perspectives:
            - id: admin
              requiresAccessReview:
                - group: rbac.authorization.k8s.io
                  resource: clusterroles
                  verb: list
            - id: dev
              state: Enabled
    3. 필요에 따라 관점을 사용자 정의하려면 자체 YAML 스니펫을 생성합니다.

      apiVersion: operator.openshift.io/v1
      kind: Console
      metadata:
        name: cluster
      spec:
        customization:
          perspectives:
            - id: admin
              visibility:
                state: AccessReview
                accessReview:
                  missing:
                    - resource: deployment
                      verb: list
                  required:
                    - resource: namespaces
                      verb: list
            - id: dev
              visibility:
                state: Enabled
  4. 저장을 클릭합니다.

6.9.2. 양식 보기를 사용하여 관점 사용자 정의

사전 요구 사항

  • 클러스터 관리자 권한이 있어야합니다.

절차

  1. 관리자 관점에서 관리클러스터 설정으로 이동합니다.
  2. Configuration 탭을 선택하고 Console(operator.openshift.io) 리소스를 클릭합니다.
  3. 페이지 오른쪽에서 작업 → 사용자 지정을 클릭합니다.
  4. 일반 설정의 드롭다운 목록에서 다음 옵션 중 하나를 선택하여 화면을 사용자 지정합니다.

    • enabled: 모든 사용자에 대한 관점을 활성화합니다.
    • 권한 있는 사용자만 볼 수 있습니다. 모든 네임스페이스를 나열할 수 있는 사용자의 관점을 사용하도록 설정
    • 권한이 없는 사용자만 볼 수 있습니다. 모든 네임스페이스를 나열할 수 없는 사용자에 대한 관점을 사용하도록 설정
    • disabled: 모든 사용자에 대한 관점을 사용하지 않습니다.

      변경 사항이 저장되었는지 확인하는 알림이 열립니다.

      사용자 화면 사용자 정의
      참고

      사용자 화면을 사용자 지정하면 변경 사항이 자동으로 저장되고 브라우저 새로 고침 후 적용됩니다.

6.10. 개발자 카탈로그 및 하위 카탈로그 사용자 정의

클러스터 관리자는 개발자 카탈로그 또는 하위 카탈로그 또는 하위 카탈로그를 구성하고 관리할 수 있습니다. 하위 카탈로그 유형을 활성화 또는 비활성화하거나 전체 개발자 카탈로그를 비활성화할 수 있습니다.

developerCatalog.types 오브젝트에는 YAML 보기에서 사용하기 위해 스니펫에 정의해야 하는 다음 매개변수가 포함되어 있습니다.

  • 상태: 개발자 카탈로그 유형 목록을 활성화하거나 비활성화해야 하는지 정의합니다.
  • enabled: 사용자에게 표시되는 개발자 카탈로그 유형(sub-catalogs) 목록을 정의합니다.
  • disabled: 사용자에게 표시되지 않는 개발자 카탈로그 유형(sub-catalogs) 목록을 정의합니다.

YAML 보기 또는 양식 보기를 사용하여 다음 개발자 카탈로그 유형(sub-catalogs)을 활성화하거나 비활성화할 수 있습니다.

  • 빌더 이미지
  • 템플릿
  • devfile
  • 샘플
  • Helm 차트
  • 이벤트 소스
  • 이벤트 Sinks
  • Operator Backed

6.10.1. YAML 보기를 사용하여 개발자 카탈로그 또는 하위 카탈로그 사용자 정의

YAML 보기에서 YAML 콘텐츠를 편집하여 개발자 카탈로그를 사용자 지정할 수 있습니다.

사전 요구 사항

  • 클러스터 관리자 권한이 있는 OpenShift 웹 콘솔 세션.

절차

  1. 웹 콘솔의 관리자 화면에서 관리자클러스터 설정으로 이동합니다.
  2. Configuration 탭을 선택하고 Console(operator.openshift.io) 리소스를 클릭하고 Details 페이지를 확인합니다.
  3. YAML 탭을 클릭하여 편집기를 열고 필요에 따라 YAML 콘텐츠를 편집합니다.

    예를 들어 개발자 카탈로그 유형을 비활성화하려면 비활성화된 개발자 카탈로그 리소스 목록을 정의하는 다음 스니펫을 삽입합니다.

    apiVersion: operator.openshift.io/v1
    kind: Console
    metadata:
      name: cluster
    ...
    spec:
      customization:
        developerCatalog:
          categories:
          types:
            state: Disabled
            disabled:
              - BuilderImage
              - Devfile
              - HelmChart
    ...
  4. 저장을 클릭합니다.
참고

기본적으로 웹 콘솔의 관리자 보기에서 개발자 카탈로그 유형이 활성화됩니다.

6.10.2. 양식 보기를 사용하여 개발자 카탈로그 또는 하위 카탈로그 사용자 정의

웹 콘솔에서 양식 보기를 사용하여 개발자 카탈로그를 사용자 지정할 수 있습니다.

사전 요구 사항

  • 클러스터 관리자 권한이 있는 OpenShift 웹 콘솔 세션.

절차

  1. 관리자 관점에서 관리클러스터 설정으로 이동합니다.
  2. Configuration 탭을 선택하고 Console(operator.openshift.io) 리소스를 클릭합니다.
  3. 작업사용자 지정을 클릭합니다.
  4. 각 섹션에서 목록의 항목을 활성화 또는 비활성화합니다.

    검증

    개발자 카탈로그를 사용자 지정하면 변경 사항이 시스템에 자동으로 저장되고 새로 고침 후 브라우저에 적용됩니다.

    odc 사용자 지정 개발자 카탈로그
참고

비슷한 절차를 사용하여 빠른 시작, 클러스터 역할 및 작업과 같은 웹 UI 항목을 사용자 지정할 수 있습니다.

6.10.2.1. YAML 파일 변경 예

개발자 카탈로그를 사용자 정의하기 위해 YAML 편집기에 다음 스니펫을 동적으로 추가할 수 있습니다.

다음 스니펫을 사용하여 상태 유형을 Enabled 로 설정하여 모든 하위 카탈로그 로그를 표시합니다.

apiVersion: operator.openshift.io/v1
kind: Console
metadata:
  name: cluster
...
spec:
  customization:
    developerCatalog:
      categories:
      types:
        state: Enabled

다음 스니펫을 사용하여 상태 유형을 Disabled 로 설정하여 모든 하위 카탈로그 로그를 비활성화합니다.

apiVersion: operator.openshift.io/v1
kind: Console
metadata:
  name: cluster
...
spec:
  customization:
    developerCatalog:
      categories:
      types:
        state: Disabled

클러스터 관리자가 웹 콘솔에서 활성화되는 하위 카탈로그 목록을 정의하는 경우 다음 스니펫을 사용합니다.

apiVersion: operator.openshift.io/v1
kind: Console
metadata:
  name: cluster
...
spec:
  customization:
    developerCatalog:
      categories:
      types:
        state: Enabled
        enabled:
          - BuilderImage
          - Devfile
          - HelmChart
          - ...

7장. 동적 플러그인

7.1. 동적 플러그인 개요

7.1.1. 동적 플러그인 정보

동적 플러그인을 사용하면 런타임 시 사용자 정의 페이지 및 기타 확장을 인터페이스에 추가할 수 있습니다. ConsolePlugin 사용자 정의 리소스는 콘솔에 플러그인을 등록하고 클러스터 관리자는 console-operator 구성에서 플러그인을 활성화합니다.

7.1.2. 주요 기능

동적 플러그인을 사용하면 OpenShift Container Platform 환경에 대해 다음과 같은 사용자 정의를 수행할 수 있습니다.

  • 사용자 지정 페이지를 추가합니다.
  • 관리자 및 개발자 이외의 화면을 추가합니다.
  • 탐색 항목을 추가합니다.
  • 리소스 페이지에 탭과 작업을 추가합니다.

7.1.3. 일반 지침

플러그인을 생성할 때 다음 일반 지침을 따르십시오.

  • Node.jsyarn 은 플러그인을 빌드하고 실행하는 데 필요합니다.
  • 충돌을 방지하려면 CSS 클래스 이름을 플러그인 이름으로 접두사로 지정합니다. 예를 들어 my-plugin__headingmy-plugin_\_icon.
  • 다른 콘솔 페이지와 일관된 모양, 느낌 및 동작을 유지 관리합니다.
  • 플러그인을 생성할 때 react-i18next 현지화 지침을 따르십시오. 다음 예제에서와 같이 useTranslation 후크를 사용할 수 있습니다.

    conster Header: React.FC = () => {
      const { t } = useTranslation('plugin__console-demo-plugin');
      return <h1>{t('Hello, World!')}</h1>;
    };
  • 요소 선택기와 같은 플러그인 구성 요소 외부의 DestinationRule에 영향을 줄 수 있는 선택기를 사용하지 마십시오. 이는 API가 아니며 변경될 수 있습니다. 이를 사용하면 플러그인이 손상될 수 있습니다. 플러그인 구성 요소 외부에서 4.6.1에 영향을 줄 수 있는 요소 선택기와 같은 선택기를 사용하지 마십시오.

PatternFly 지침

플러그인을 생성할 때 PatternFly 사용에 대한 다음 지침을 따르십시오.

  • PatternFly 구성 요소 및 PatternFly CSS 변수를 사용합니다. Core PatternFly 구성 요소는 SDK를 통해 사용할 수 있습니다. PatternFly 구성 요소 및 변수를 사용하면 플러그인이 향후 콘솔 버전에서 일관성을 유지하는 데 도움이 됩니다.
  • PatternFly의 접근성 기본 사항에 따라 플러그인에 액세스할 수 있도록 합니다.
  • Bootstrap 또는 Tailwind와 같은 다른 CSS 라이브러리는 사용하지 마십시오. PatternFly와 충돌할 수 있으며 콘솔 모양과 일치하지 않습니다.

7.2. 동적 플러그인 시작하기

동적 플러그인을 사용하여 시작하려면 새로운 OpenShift Container Platform 동적 플러그인을 작성하도록 환경을 설정해야 합니다. 새 플러그인을 작성하는 방법의 예는 Pod 페이지에 탭 추가를 참조하십시오.

7.2.1. 동적 플러그인 개발

로컬 개발 환경을 사용하여 플러그인을 실행할 수 있습니다. OpenShift Container Platform 웹 콘솔은 로그인한 클러스터에 연결된 컨테이너에서 실행됩니다.

사전 요구 사항

  • OpenShift 클러스터가 실행 중이어야 합니다.
  • OpenShift CLI(oc)가 설치되어 있어야 합니다.
  • yarn 이 설치되어 있어야 합니다.
  • Docker v3.2.0 또는 최신 또는 Podman 이 설치되어 있고 실행 중이어야 합니다.

절차

  1. 터미널에서 다음 명령을 실행하여 yarn을 사용하여 플러그인의 종속 항목을 설치합니다.

    $ yarn install
  2. 설치 후 다음 명령을 실행하여 yarn을 시작합니다.

    $ yarn run start
  3. 다른 터미널 창에서 CLI를 통해 OpenShift Container Platform에 로그인합니다.

    $ oc login
  4. 다음 명령을 실행하여 로그인한 클러스터에 연결된 컨테이너에서 OpenShift Container Platform 웹 콘솔을 실행합니다.

    $ yarn run start-console

검증

  • 실행 중인 플러그인을 확인하려면 localhost:9000 으로 이동하십시오. window.SERVER_FLAGS.consolePlugins 값을 검사하여 런타임 시 로드되는 플러그인 목록을 확인합니다.

7.3. 클러스터에 플러그인 배포

OpenShift Container Platform 클러스터에 플러그인을 배포할 수 있습니다.

7.3.1. Docker를 사용하여 이미지 빌드

클러스터에 플러그인을 배포하려면 이미지를 빌드하고 이미지 레지스트리로 푸시해야 합니다.

절차

  1. 다음 명령으로 이미지를 빌드합니다.

    $ docker build -t quay.io/my-repositroy/my-plugin:latest .
  2. 선택 사항: 이미지를 테스트하려면 다음 명령을 실행합니다.

    $ docker run -it --rm -d -p 9001:80 quay.io/my-repository/my-plugin:latest
  3. 다음 명령을 실행하여 이미지를 푸시합니다.

    $ docker push quay.io/my-repository/my-plugin:latest

7.3.2. 클러스터에 플러그인 배포

변경 사항으로 이미지를 푸시한 후 클러스터에 플러그인을 배포할 수 있습니다.

절차

  1. 플러그인 이름을 사용하여 클러스터에 플러그인을 배포하려면 Helm 릴리스 이름으로 -n 명령줄 옵션에 지정된 기존 네임스페이스 또는 기존 네임스페이스에 Helm 차트를 설치합니다. 다음 명령을 사용하여 plugin.image 매개변수 내에 이미지 위치를 제공합니다.

    $ helm upgrade -i  my-plugin charts/openshift-console-plugin -n my-plugin-namespace --create-namespace --set plugin.image=my-plugin-image-location

    다음과 같습니다.

    n <my-plugin-namespace>
    플러그인을 배포할 기존 네임스페이스를 지정합니다.
    --create-namespace
    선택 사항: 새 네임스페이스에 배포하는 경우 이 매개변수를 사용합니다.
    --set plugin.image=my-plugin-image-location
    plugin.image 매개변수 내의 이미지 위치를 지정합니다.
  2. 선택 사항: charts/openshift-console-plugin/values.yaml 파일에서 지원되는 매개변수 세트를 사용하여 추가 매개변수를 지정할 수 있습니다.

    plugin:
      name: ""
      description: ""
      image: ""
      imagePullPolicy: IfNotPresent
      replicas: 2
      port: 9443
      securityContext:
        enabled: true
      podSecurityContext:
        enabled: true
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      containerSecurityContext:
        enabled: true
        allowPrivilegeEscalation: false
        capabilities:
          drop:
            - ALL
      resources:
        requests:
          cpu: 10m
          memory: 50Mi
      basePath: /
      certificateSecretName: ""
      serviceAccount:
        create: true
        annotations: {}
        name: ""
      patcherServiceAccount:
        create: true
        annotations: {}
        name: ""
      jobs:
        patchConsoles:
          enabled: true
          image: "registry.redhat.io/openshift4/ose-tools-rhel8@sha256:e44074f21e0cca6464e50cb6ff934747e0bd11162ea01d522433a1a1ae116103"
          podSecurityContext:
            enabled: true
            runAsNonRoot: true
            seccompProfile:
              type: RuntimeDefault
          containerSecurityContext:
            enabled: true
            allowPrivilegeEscalation: false
            capabilities:
              drop:
                - ALL
          resources:
            requests:
              cpu: 10m
              memory: 50Mi

검증

  • 관리클러스터 설정구성콘솔 operator.openshift.io → 콘솔 플러그인에서 이동하거나 개요 페이지를 방문하여 활성화된 플러그인 목록을 확인합니다.
참고

새 플러그인 구성이 표시되는 데 몇 분 정도 걸릴 수 있습니다. 플러그인이 표시되지 않는 경우 플러그인이 최근에 활성화된 경우 브라우저를 새로 고쳐야 할 수 있습니다. 런타임 시 오류가 발생하면 브라우저 개발자 도구의 JS 콘솔을 확인하여 플러그인 코드의 오류를 확인합니다.

7.3.3. 브라우저에서 플러그인 비활성화

콘솔 사용자는 disable-plugins 쿼리 매개변수를 사용하여 일반적으로 런타임 시 로드되는 특정 또는 모든 동적 플러그인을 비활성화할 수 있습니다.

절차

  • 특정 플러그인을 비활성화하려면 플러그인 이름의 쉼표로 구분된 목록에서 비활성화하려는 플러그인을 제거합니다.
  • 모든 플러그인을 비활성화하려면 disable-plugins 쿼리 매개변수에 빈 문자열을 남겨 둡니다.
참고

클러스터 관리자는 웹 콘솔의 클러스터 설정 페이지에서 플러그인을 비활성화할 수 있습니다.

7.3.4. 추가 리소스

7.4. 동적 플러그인 예

예제를 수행하기 전에 동적 플러그인 개발단계에 따라 플러그인이 작동하는지 확인합니다.

7.4.1. 포드 페이지에 탭 추가

OpenShift Container Platform 웹 콘솔에 다양한 사용자 지정이 있습니다. 다음 절차에서는 플러그인의 확장 예제로 Pod 세부 정보 페이지에 탭을 추가합니다.

참고

OpenShift Container Platform 웹 콘솔은 로그인한 클러스터에 연결된 컨테이너에서 실행됩니다. 자체 만들기 전에 플러그인을 테스트하는 정보는 "Dynamic plugin development"를 참조하십시오.

절차

  1. 새 탭에서 플러그인을 생성하는 템플릿이 포함된 console-plugin-template 리포지터리를 방문하십시오.

    중요

    Red Hat에서는 사용자 정의 플러그인 코드를 지원하지 않습니다. 해당 플러그인에 대해 협업 커뮤니티 지원 만 사용할 수 있습니다.

  2. 이 템플릿 사용 → 새 리포지토리 만들기를 클릭하여 템플릿의 GitHub 리포지토리를 생성합니다 .
  3. 새 리포지토리의 이름을 플러그인 이름으로 변경합니다.
  4. 코드를 편집할 수 있도록 새 리포지토리를 로컬 시스템에 복제합니다.
  5. consolePlugin 선언에 플러그인 메타데이터를 추가하여 package.json 파일을 편집합니다. 예를 들면 다음과 같습니다.

    "consolePlugin": {
      "name": "my-plugin", 1
      "version": "0.0.1", 2
      "displayName": "My Plugin", 3
      "description": "Enjoy this shiny, new console plugin!", 4
      "exposedModules": {
        "ExamplePage": "./components/ExamplePage"
      },
      "dependencies": {
        "@console/pluginAPI": "/*"
      }
    }
    1
    플러그인 이름을 업데이트합니다.
    2
    버전을 업데이트합니다.
    3
    플러그인의 표시 이름을 업데이트합니다.
    4
    플러그인에 대한 synopsis로 설명을 업데이트합니다.
  6. console-extensions.json 파일에 다음을 추가합니다.

    {
      "type": "console.tab/horizontalNav",
      "properties": {
        "page": {
          "name": "Example Tab",
          "href": "example"
        },
        "model": {
          "group": "core",
          "version": "v1",
          "kind": "Pod"
        },
        "component": { "$codeRef": "ExampleTab" }
      }
    }
  7. package.json 파일을 편집하여 다음 변경 사항을 포함합니다.

            "exposedModules": {
                "ExamplePage": "./components/ExamplePage",
                "ExampleTab": "./components/ExampleTab"
            }
  8. 새 파일 src/components/ExampleTab.tsx 를 생성하고 다음 스크립트를 추가하여 Pod 페이지의 새 사용자 지정 탭에 표시할 메시지를 작성합니다.

    import * as React from 'react';
    
    export default function ExampleTab() {
        return (
            <p>This is a custom tab added to a resource using a dynamic plugin.</p>
        );
    }
  9. 플러그인 이름과 함께 Helm 차트를 새 네임스페이스 또는 -n 명령줄 옵션에 지정된 기존 네임스페이스에 Helm 릴리스 이름으로 설치하여 클러스터에 플러그인을 배포합니다. 다음 명령을 사용하여 plugin.image 매개변수 내에 이미지 위치를 제공합니다.

    $ helm upgrade -i  my-plugin charts/openshift-console-plugin -n my-plugin-namespace --create-namespace --set plugin.image=my-plugin-image-location
    참고

    클러스터에 플러그인을 배포하는 방법에 대한 자세한 내용은 "클러스터에 플러그인 배포"를 참조하십시오.

검증

  • Pod 페이지를 방문하여 추가된 탭을 확인합니다.

7.5. 동적 플러그인 참조

플러그인을 사용자 지정할 수 있는 확장 기능을 추가할 수 있습니다. 그런 다음 런타임에 이러한 확장이 콘솔에 로드됩니다.

7.5.1. 동적 플러그인 확장 유형

console.action/filter

ActionFilter 를 사용하여 작업을 필터링할 수 있습니다.

이름값 유형선택 사항설명

contextId

string

제공되지 않음

컨텍스트 ID는 기여 작업의 범위를 애플리케이션의 특정 영역에 좁히는 데 도움이 됩니다. 예를 들어 토폴로지helm 이 있습니다.

filter

CodeRef<(scope: any, action: Action) tekton boolean>

제공되지 않음

일부 조건에 따라 작업을 필터링하는 함수입니다. 범위: 작업을 제공해야 하는 범위입니다. HPA(수평 Pod 자동 스케일러)를 사용하여 배포에서 ModifyCount 작업을 제거하려면 후크가 필요할 수 있습니다.

console.action/group

ActionGroup 은 하위 메뉴일 수도 있는 작업 그룹을 제공합니다.

이름값 유형선택 사항설명

id

string

제공되지 않음

작업 섹션을 식별하는 데 사용되는 ID입니다.

label

string

제공됨

UI에 표시할 레이블입니다. 하위 메뉴에 필요합니다.

submenu

boolean

제공됨

이 그룹을 하위 메뉴로 표시할지 여부입니다.

insertBefore

string | string[]

제공됨

여기에 참조된 항목 앞에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used.

insertAfter

string | string[]

제공됨

여기에 참조된 항목 뒤에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used. insertBefore 값이 우선합니다.

console.action/provider

ActionProvider 특정 컨텍스트에 대한 작업 목록을 반환하는 후크를 제공합니다.

이름값 유형선택 사항설명

contextId

string

제공되지 않음

컨텍스트 ID는 기여 작업의 범위를 애플리케이션의 특정 영역에 좁히는 데 도움이 됩니다. 예를 들어 토폴로지helm 이 있습니다.

공급자

CodeRef<ExtensionHook<Action[], any>>

제공되지 않음

지정된 범위에 대한 작업을 반환하는 React 후크입니다. contextId = 리소스 인 경우 범위는 항상 Kubernetes 리소스 오브젝트입니다.

console.action/resource-provider

ResourceActionProvider 는 특정 리소스 모델에 대한 작업 목록을 반환하는 후크를 제공합니다.

이름값 유형선택 사항설명

model

ExtensionK8sKindVersionModel

제공되지 않음

이 공급자가 작업을 제공하는 모델입니다.

공급자

CodeRef<ExtensionHook<Action[], any>>

제공되지 않음

지정된 리소스 모델에 대한 작업을 반환하는 반응 후크

console.alert-action
이름값 유형선택 사항설명

경고

string

제공되지 않음

 

text

string

제공되지 않음

 

작업

CodeRef<(alert: any) ⇒ void>

제공되지 않음

 
console.catalog/item-filter
이름값 유형선택 사항설명

catalogId

string | string[]

제공되지 않음

이 공급자가 제공하는 카탈로그의 고유 식별자입니다.

type

string

제공되지 않음

카탈로그 항목 유형의 ID를 입력합니다.

filter

CodeRef<(item: CatalogItem) ⇒ boolean>

제공되지 않음

특정 유형의 항목을 필터링합니다. 값은 CatalogItem[] 를 사용하고 필터 기준에 따라 하위 집합을 반환하는 함수입니다.

console.catalog/item-metadata
이름값 유형선택 사항설명

catalogId

string | string[]

제공되지 않음

이 공급자가 제공하는 카탈로그의 고유 식별자입니다.

type

string

제공되지 않음

카탈로그 항목 유형의 ID를 입력합니다.

공급자

CodeRef<ExtensionHook<CatalogItemMetadataProviderFunction, CatalogExtensionHookOptions>>

제공되지 않음

특정 유형의 카탈로그 항목에 메타데이터를 제공하는 데 사용할 함수를 반환하는 후크입니다.

console.catalog/item-provider
이름값 유형선택 사항설명

catalogId

string | string[]

제공되지 않음

이 공급자가 제공하는 카탈로그의 고유 식별자입니다.

type

string

제공되지 않음

카탈로그 항목 유형의 ID를 입력합니다.

title

string

제공되지 않음

카탈로그 항목 공급자의 제목

공급자

CodeRef<ExtensionHook<CatalogItem<any>[], CatalogExtensionHookOptions>>

제공되지 않음

항목을 가져와서 카탈로그에 대해 정규화합니다. 값은 react effect hook입니다.

priority

숫자

제공됨

이 공급자의 우선 순위입니다. 기본값은 0 입니다. 더 높은 우선 순위 공급자는 다른 공급자가 제공하는 카탈로그 항목을 재정의할 수 있습니다.

console.catalog/item-type
이름값 유형선택 사항설명

type

string

제공되지 않음

카탈로그 항목에 대해 를 입력합니다.

title

string

제공되지 않음

카탈로그 항목의 이름입니다.

catalogDescription

string | CodeRef<React.ReactNode>

제공됨

유형별 카탈로그에 대한 설명입니다.

typeDescription

string

제공됨

카탈로그 항목 유형에 대한 설명입니다.

filters

CatalogItemAttribute[]

제공됨

카탈로그 항목과 관련된 사용자 지정 필터입니다.

그룹화

CatalogItemAttribute[]

제공됨

카탈로그 항목과 관련된 사용자 정의 그룹화입니다.

console.catalog/item-type-metadata
이름값 유형선택 사항설명

type

string

제공되지 않음

카탈로그 항목에 대해 를 입력합니다.

filters

CatalogItemAttribute[]

제공됨

카탈로그 항목과 관련된 사용자 지정 필터입니다.

그룹화

CatalogItemAttribute[]

제공됨

카탈로그 항목과 관련된 사용자 정의 그룹화입니다.

console.cluster-overview/inventory-item

클러스터 개요 페이지에 새 인벤토리 항목을 추가합니다.

이름값 유형선택 사항설명

component

CodeRef<React.ComponentType<{}>>

제공되지 않음

렌더링할 구성 요소입니다.

console.cluster-overview/multiline-utilization-item

새 클러스터 개요 다중 줄 사용 항목을 추가합니다.

이름값 유형선택 사항설명

title

string

제공되지 않음

사용 항목의 제목입니다.

getUtilizationQueries

CodeRef<GetMultilineQueries>

제공되지 않음

Prometheus 사용률 쿼리입니다.

humanize

CodeRef<Humanize>

제공되지 않음

Prometheus 데이터를 사람이 읽을 수 있는 형식으로 변환합니다.

TopConsumerPopovers

CodeRef<React.ComponentType<TopConsumerPopoverProps>[]>

제공됨

일반 값이 아닌 상위 소비자 팝업 표시

console.cluster-overview/utilization-item

새 클러스터 개요 사용 항목을 추가합니다.

이름값 유형선택 사항설명

title

string

제공되지 않음

사용 항목의 제목입니다.

getUtilizationQuery

CodeRef<GetQuery>

제공되지 않음

Prometheus 사용률 쿼리입니다.

humanize

CodeRef<Humanize>

제공되지 않음

Prometheus 데이터를 사람이 읽을 수 있는 형식으로 변환합니다.

getTotalQuery

CodeRef<GetQuery>

제공됨

Prometheus 총 쿼리입니다.

getRequestQuery

CodeRef<GetQuery>

제공됨

Prometheus 요청 쿼리입니다.

getLimitQuery

CodeRef<GetQuery>

제공됨

Prometheus 제한 쿼리입니다.

TopConsumerPopover

CodeRef<React.ComponentType<TopConsumerPopoverProps>>

제공됨

일반 값이 아닌 상위 소비자 팝업 표시

console.context-provider

웹 콘솔 애플리케이션 루트에 새로운 React 컨텍스트 공급자를 추가합니다.

이름값 유형선택 사항설명

공급자

CodeRef<Provider<T>>

제공되지 않음

컨텍스트 공급자 구성 요소.

useValueHook

CodeRef<() ⇒ T>

제공되지 않음

컨텍스트 값의 후크입니다.

console.dashboards/card

새 대시보드 카드를 추가합니다.

이름값 유형선택 사항설명

tab

string

제공되지 않음

카드를 추가할 대시보드 탭의 ID입니다.

위치

'LEFT' | 'RIGHT' | 'MAIN'

제공되지 않음

대시보드에 있는 카드의 표 위치.

component

CodeRef<React.ComponentType<{}>>

제공되지 않음

대시보드 카드 구성 요소.

span

OverviewCardSpan

제공됨

열의 세로 범위. 작은 화면에 대해서는 무시됩니다. 기본값은 12 입니다.

console.dashboards/overview/activity/resource

Kubernetes 리소스 모니터링을 기반으로 하는 활동 대시보드의 활동 카드에 활동을 추가합니다.

이름값 유형선택 사항설명

k8sResource

CodeRef<FirehoseResource & { isList: true; }>

제공되지 않음

교체할 사용 항목입니다.

component

CodeRef<React.ComponentType<K8sActivityProps<T>>>

제공되지 않음

action 구성 요소입니다.

isActivity

CodeRef<(resource: T) tekton boolean>

제공됨

지정된 리소스가 작업을 나타내는지 여부를 결정하는 함수입니다. 정의되지 않은 경우 모든 리소스는 활동을 나타냅니다.

getTimestamp

CodeRef<(resource: T) tekton Date>

제공됨

정렬에 사용할 지정된 작업의 타임스탬프입니다.

console.dashboards/overview/detail/item

항목을 개요 대시보드의 세부 정보 카드에 추가합니다.

이름값 유형선택 사항설명

component

CodeRef<React.ComponentType<{}>>

제공되지 않음

detail Item 구성 요소를 기반으로 하는 값

console.dashboards/overview/health/operator

상태 소스는 Kubernetes REST API인 개요 대시보드의 상태 카드에 상태 하위 시스템을 추가합니다.

이름값 유형선택 사항설명

title

string

제공되지 않음

팝업 메뉴에 있는 Operators 섹션의 제목입니다.

resources

CodeRef<FirehoseResource[]>

제공되지 않음

Kubernetes 리소스를 가져와 healthHandler 로 전달할 수 있습니다.

getOperatorsWithStatuses

CodeRef<GetOperatorsWithStatuses<T>>

제공됨

Operator의 상태를 확인합니다.

operatorRowLoader

CodeRef<React.ComponentType<OperatorRowProps<T>>>

제공됨

팝업 행 구성 요소에 대한 로드er.

viewAllLink

string

제공됨

모든 리소스 페이지에 대한 링크입니다. 제공되지 않으면 리소스 prop의 첫 번째 리소스 목록 페이지가 사용됩니다.

console.dashboards/overview/health/prometheus

상태 소스가 Prometheus인 개요 대시보드의 상태 카드에 상태 하위 시스템을 추가합니다.

이름값 유형선택 사항설명

title

string

제공되지 않음

하위 시스템의 표시 이름입니다.

쿼리

string[]

제공되지 않음

Prometheus 쿼리

healthHandler

CodeRef<PrometheusHealthHandler>

제공되지 않음

하위 시스템의 상태를 확인합니다.

additionalResource

CodeRef<FirehoseResource>

제공됨

healthHandler 로 가져와서 전달할 추가 리소스입니다.

popupComponent

CodeRef<React.ComponentType<PrometheusHealthPopupProps>>

제공됨

팝업 메뉴 콘텐츠를 위한 Loader. 정의된 경우 상태 항목이 링크로 표시되고 지정된 콘텐츠가 포함된 팝업 메뉴가 열립니다.

popupTitle

string

제공됨

팝업의 제목입니다.

disallowedControlPlaneTopology

string[]

제공됨

하위 시스템을 숨겨야 하는 컨트롤 플레인 토폴로지입니다.

console.dashboards/overview/health/resource

상태 소스가 Kubernetes 리소스인 개요 대시보드의 상태 카드에 상태 하위 시스템을 추가합니다.

이름값 유형선택 사항설명

title

string

제공되지 않음

하위 시스템의 표시 이름입니다.

resources

CodeRef<WatchK8sResources<T>>

제공되지 않음

healthHandler 에 전달하여 전달할 Kubernetes 리소스입니다.

healthHandler

CodeRef<ResourceHealthHandler<T>>

제공되지 않음

하위 시스템의 상태를 확인합니다.

popupComponent

CodeRef<WatchK8sResults<T>>

제공됨

팝업 메뉴 콘텐츠를 위한 Loader. 정의된 경우 상태 항목이 링크로 표시되고 지정된 콘텐츠가 포함된 팝업 메뉴가 열립니다.

popupTitle

string

제공됨

팝업의 제목입니다.

console.dashboards/overview/health/url

상태 소스가 Kubernetes REST API인 개요 대시보드의 상태 카드에 상태 하위 시스템을 추가합니다.

이름값 유형선택 사항설명

title

string

제공되지 않음

하위 시스템의 표시 이름입니다.

url

string

제공되지 않음

데이터를 가져올 URL입니다. 기본 Kubernetes URL 앞에 추가됩니다.

healthHandler

`CodeRef<URLHealthHandler<T, K8sResourceCommon

K8sResourceCommon[]>>`

제공되지 않음

하위 시스템의 상태를 확인합니다.

additionalResource

CodeRef<FirehoseResource>

제공됨

healthHandler 로 가져와서 전달할 추가 리소스입니다.

popupComponent

CodeRef<React. ComponentType<{ healthResult?: T; healthResultError?: any; k8sResult?: FirehoseResult<R>; }>>

제공됨

팝업 콘텐츠에 대한 로드er. 정의된 경우 상태 항목이 지정된 콘텐츠로 팝업을 여는 링크로 표시됩니다.

popupTitle

string

제공됨

console.dashboards/overview/inventory/item

개요 인벤토리 카드에 리소스 타일을 추가합니다.

이름값 유형선택 사항설명

model

CodeRef<T>

제공되지 않음

가져올 리소스 의 모델입니다. 모델의 레이블 또는 축을 가져오는 데 사용됩니다.

매퍼

CodeRef<StatusGroupMapper<T, R>>

제공됨

다양한 상태를 그룹에 매핑하는 함수입니다.

additionalResources

CodeRef<WatchK8sResources<R>>

제공됨

매퍼 함수로 가져와 전달할 추가 리소스입니다.

console.dashboards/overview/inventory/item/group

인벤토리 상태 그룹을 추가합니다.

이름값 유형선택 사항설명

id

string

제공되지 않음

상태 그룹의 ID입니다.

icon

CodeRef<React.ReactElement<any, string | React.JSXElementConstructor<any>>>

제공되지 않음

상태 그룹 아이콘을 나타내는 반응 구성 요소입니다.

console.dashboards/overview/inventory/item/replacement

개요 인벤토리 카드를 대체합니다.

이름값 유형선택 사항설명

model

CodeRef<T>

제공되지 않음

가져올 리소스 의 모델입니다. 모델의 레이블 또는 축을 가져오는 데 사용됩니다.

매퍼

CodeRef<StatusGroupMapper<T, R>>

제공됨

다양한 상태를 그룹에 매핑하는 함수입니다.

additionalResources

CodeRef<WatchK8sResources<R>>

제공됨

매퍼 함수로 가져와 전달할 추가 리소스입니다.

console.dashboards/overview/prometheus/activity/resource

Kubernetes 리소스 모니터링을 기반으로 하는 활동을 Prometheus 개요 대시보드의 활동 카드에 추가합니다.

이름값 유형선택 사항설명

쿼리

string[]

제공되지 않음

조사할 쿼리

component

CodeRef<React.ComponentType<PrometheusActivityProps>>

제공되지 않음

action 구성 요소입니다.

isActivity

CodeRef<(results: PrometheusResponse[]) tekton boolean>

제공됨

지정된 리소스가 작업을 나타내는지 여부를 결정하는 함수입니다. 정의되지 않은 경우 모든 리소스는 활동을 나타냅니다.

console.dashboards/project/overview/item

프로젝트 개요 인벤토리 카드에 리소스 타일을 추가합니다.

이름값 유형선택 사항설명

model

CodeRef<T>

제공되지 않음

가져올 리소스 의 모델입니다. 모델의 레이블 또는 축을 가져오는 데 사용됩니다.

매퍼

CodeRef<StatusGroupMapper<T, R>>

제공됨

다양한 상태를 그룹에 매핑하는 함수입니다.

additionalResources

CodeRef<WatchK8sResources<R>>

제공됨

매퍼 함수로 가져와 전달할 추가 리소스입니다.

console.dashboards/tab

개요 탭 뒤에 새 대시보드 탭을 추가합니다.

이름값 유형선택 사항설명

id

string

제공되지 않음

탭으로 href 로 사용하고 이 탭에 카드를 추가할 때 사용되는 고유한 탭 식별자입니다.

navSection

'home' | 'storage'

제공되지 않음

탭이 속한 탐색 섹션입니다.

title

string

제공되지 않음

탭의 제목입니다.

console.file-upload
이름값 유형선택 사항설명

fileExtensions

string[]

제공되지 않음

지원되는 파일 확장자입니다.

handler

CodeRef<FileUploadHandler>

제공되지 않음

파일 드롭 작업을 처리하는 함수입니다.

console.flag

웹 콘솔 기능 플래그를 완전히 제어할 수 있습니다.

이름값 유형선택 사항설명

handler

CodeRef<FeatureFlagHandler>

제공되지 않음

임의의 기능 플래그를 설정하거나 해제하는 데 사용됩니다.

console.flag/hookProvider

후크 처리기를 사용하여 웹 콘솔 기능 플래그를 완전히 제어합니다.

이름값 유형선택 사항설명

handler

CodeRef<FeatureFlagHandler>

제공되지 않음

임의의 기능 플래그를 설정하거나 해제하는 데 사용됩니다.

console.flag/model

클러스터에 CRD가 있기 때문에 새로운 웹 콘솔 기능 플래그를 추가합니다.

이름값 유형선택 사항설명

flag

string

제공되지 않음

CRD가 탐지되면 설정할 플래그의 이름입니다.

model

ExtensionK8sModel

제공되지 않음

CustomResourceDefinition 을 참조하는 모델입니다.

console.global-config
이름값 유형선택 사항설명

id

string

제공되지 않음

클러스터 구성 리소스 인스턴스의 고유 식별자입니다.

name

string

제공되지 않음

클러스터 구성 리소스 인스턴스의 이름입니다.

model

ExtensionK8sModel

제공되지 않음

클러스터 구성 리소스를 참조하는 모델입니다.

namespace

string

제공되지 않음

클러스터 구성 리소스 인스턴스의 네임스페이스입니다.

console.model-metadata

API 검색을 통해 검색된 값을 재정의하여 모델 표시를 사용자 지정합니다.

이름값 유형선택 사항설명

model

ExtensionK8sGroupModel

제공되지 않음

사용자 정의할 모델입니다. 그룹 또는 선택적 버전 및 종류만 지정할 수 있습니다.

badge

ModelBadge

제공됨

이 모델 참조를 기술 프리뷰 또는 개발자 프리뷰로 간주할지 여부입니다.

색상

string

제공됨

이 모델과 연결할 색상입니다.

label

string

제공됨

레이블을 재정의합니다. kind 를 제공해야 합니다.

labelPlural

string

제공됨

plural 레이블을 재정의합니다. kind 를 제공해야 합니다.

abbr

string

제공됨

약어를 사용자 지정합니다. 기본값은 모두 대문자로, 최대 4자까지입니다. 그런 종류 의 제공이 필요합니다.

console.navigation/href
이름값 유형선택 사항설명

id

string

제공되지 않음

이 항목의 고유 식별자입니다.

name

string

제공되지 않음

이 항목의 이름입니다.

href

string

제공되지 않음

링크 href 값.

관점

string

제공됨

이 항목이 속한 화면 ID입니다. 지정하지 않으면 기본 관점에 기여합니다.

섹션

string

제공됨

이 항목이 속한 탐색 섹션입니다. 지정하지 않으면 이 항목을 최상위 링크로 렌더링합니다.

dataAttributes

{ [key: string]: string; }

제공됨

NetNamespace에 데이터 특성을 추가합니다.

startsWith

string[]

제공됨

URL이 이러한 경로 중 하나로 시작될 때 이 항목을 active로 표시합니다.

insertBefore

string | string[]

제공됨

여기에 참조된 항목 앞에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used.

insertAfter

string | string[]

제공됨

여기에 참조된 항목 뒤에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used. insertBefore 가 우선합니다.

namespaced

boolean

제공됨

true 인 경우 /ns/active-namespace 를 끝에 추가합니다.

prefixNamespaced

boolean

제공됨

true 인 경우 /k8s/ns/active-namespace 를 시작점에 추가합니다.

console.navigation/resource-cluster
이름값 유형선택 사항설명

id

string

제공되지 않음

이 항목의 고유 식별자입니다.

model

ExtensionK8sModel

제공되지 않음

이 탐색 항목이 연결되는 모델입니다.

관점

string

제공됨

이 항목이 속한 화면 ID입니다. 지정하지 않으면 기본 관점에 기여합니다.

섹션

string

제공됨

이 항목이 속한 탐색 섹션입니다. 지정하지 않으면 이 항목을 최상위 링크로 렌더링합니다.

dataAttributes

{ [key: string]: string; }

제공됨

NetNamespace에 데이터 특성을 추가합니다.

startsWith

string[]

제공됨

URL이 이러한 경로 중 하나로 시작될 때 이 항목을 active로 표시합니다.

insertBefore

string | string[]

제공됨

여기에 참조된 항목 앞에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used.

insertAfter

string | string[]

제공됨

여기에 참조된 항목 뒤에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used. insertBefore 가 우선합니다.

name

string

제공됨

기본 이름을 재정의합니다. 링크 이름을 제공하지 않으면 모델의 복수형 값과 동일합니다.

console.navigation/resource-ns
이름값 유형선택 사항설명

id

string

제공되지 않음

이 항목의 고유 식별자입니다.

model

ExtensionK8sModel

제공되지 않음

이 탐색 항목이 연결되는 모델입니다.

관점

string

제공됨

이 항목이 속한 화면 ID입니다. 지정하지 않으면 기본 관점에 기여합니다.

섹션

string

제공됨

이 항목이 속한 탐색 섹션입니다. 지정하지 않으면 이 항목을 최상위 링크로 렌더링합니다.

dataAttributes

{ [key: string]: string; }

제공됨

NetNamespace에 데이터 특성을 추가합니다.

startsWith

string[]

제공됨

URL이 이러한 경로 중 하나로 시작될 때 이 항목을 active로 표시합니다.

insertBefore

string | string[]

제공됨

여기에 참조된 항목 앞에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used.

insertAfter

string | string[]

제공됨

여기에 참조된 항목 뒤에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used. insertBefore 가 우선합니다.

name

string

제공됨

기본 이름을 재정의합니다. 링크 이름을 제공하지 않으면 모델의 복수형 값과 동일합니다.

console.navigation/section
이름값 유형선택 사항설명

id

string

제공되지 않음

이 항목의 고유 식별자입니다.

관점

string

제공됨

이 항목이 속한 화면 ID입니다. 지정하지 않으면 기본 관점에 기여합니다.

dataAttributes

{ [key: string]: string; }

제공됨

NetNamespace에 데이터 특성을 추가합니다.

insertBefore

string | string[]

제공됨

여기에 참조된 항목 앞에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used.

insertAfter

string | string[]

제공됨

여기에 참조된 항목 뒤에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used. insertBefore 가 우선합니다.

name

string

제공됨

이 섹션의 이름입니다. 지정하지 않으면 섹션 위에 구분 기호만 표시됩니다.

console.navigation/separator
이름값 유형선택 사항설명

id

string

제공되지 않음

이 항목의 고유 식별자입니다.

관점

string

제공됨

이 항목이 속한 화면 ID입니다. 지정하지 않으면 기본 관점에 기여합니다.

섹션

string

제공됨

이 항목이 속한 탐색 섹션입니다. 지정하지 않으면 이 항목을 최상위 링크로 렌더링합니다.

dataAttributes

{ [key: string]: string; }

제공됨

NetNamespace에 데이터 특성을 추가합니다.

insertBefore

string | string[]

제공됨

여기에 참조된 항목 앞에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used.

insertAfter

string | string[]

제공됨

여기에 참조된 항목 뒤에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used. insertBefore 가 우선합니다.

console.page/resource/details
이름값 유형선택 사항설명

model

ExtensionK8sGroupKindModel

제공되지 않음

이 리소스 페이지가 연결되는 모델입니다.

component

CodeRef<React.tektonType<{ match: match<{}>; namespace: string: model: ExtensionK8sModel; }>>

제공되지 않음

경로가 일치할 때 렌더링할 구성 요소입니다.

console.page/resource/list

콘솔 라우터에 새 리소스 목록 페이지를 추가합니다.

이름값 유형선택 사항설명

model

ExtensionK8sGroupKindModel

제공되지 않음

이 리소스 페이지가 연결되는 모델입니다.

component

CodeRef<React.tektonType<{ match: match<{}>; namespace: string: model: ExtensionK8sModel; }>>

제공되지 않음

경로가 일치할 때 렌더링할 구성 요소입니다.

console.page/route

웹 콘솔 라우터에 새 페이지를 추가합니다. React Router 를 참조하십시오.

이름값 유형선택 사항설명

component

CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>

제공되지 않음

경로가 일치할 때 렌더링할 구성 요소입니다.

path

string | string[]

제공되지 않음

유효한 URL 경로 또는 경로-regexp@^1.7.0이 이해할 수 있는 경로 의 배열입니다.

관점

string

제공됨

이 페이지가 속한 관점입니다. 지정하지 않으면 모든 관점에 기여합니다.

정확한

boolean

제공됨

true인 경우 은 경로가 location.pathname 과 정확히 일치하는 경우에만 일치합니다.

console.page/route/standalone

일반 페이지 레이아웃 외부에서 렌더링된 새 독립 실행형 페이지를 웹 콘솔 라우터에 추가합니다. React Router 를 참조하십시오.

이름값 유형선택 사항설명

component

CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>

제공되지 않음

경로가 일치할 때 렌더링할 구성 요소입니다.

path

string | string[]

제공되지 않음

유효한 URL 경로 또는 경로-regexp@^1.7.0이 이해할 수 있는 경로 의 배열입니다.

정확한

boolean

제공됨

true인 경우 은 경로가 location.pathname 과 정확히 일치하는 경우에만 일치합니다.

console.perspective
이름값 유형선택 사항설명

id

string

제공되지 않음

관점 식별자입니다.

name

string

제공되지 않음

화면 표시 이름입니다.

icon

CodeRef<LazyComponent>

제공되지 않음

화면 표시 아이콘입니다.

landingPageURL

CodeRef<(flags: { [key: string]: boolean; }, isFirstVisit: boolean) ⇒ string>

제공되지 않음

화면 랜딩 페이지 URL을 가져오는 기능입니다.

importRedirectURL

CodeRef<(namespace: string) ⇒ string>

제공되지 않음

가져오기 흐름을 위해 URL을 리디렉션하는 함수입니다.

default

boolean

제공됨

관점이 기본값인지 여부입니다. 하나의 기본값만 있을 수 있습니다.

defaultPins

ExtensionK8sModel[]

제공됨

nav에 기본 고정 리소스

usePerspectiveDetection

CodeRef<() ⇒ [boolean, boolean]>

제공됨

기본 화면을 감지하는 후크

console.project-overview/inventory-item

프로젝트 개요 페이지에 새 인벤토리 항목을 추가합니다.

이름값 유형선택 사항설명

component

CodeRef<React.ComponentType<{ projectName: string; }>>

제공되지 않음

렌더링할 구성 요소입니다.

console.project-overview/utilization-item

새 프로젝트 개요 사용 항목을 추가합니다.

이름값 유형선택 사항설명

title

string

제공되지 않음

사용 항목의 제목입니다.

getUtilizationQuery

CodeRef<GetProjectQuery>

제공되지 않음

Prometheus 사용률 쿼리입니다.

humanize

CodeRef<Humanize>

제공되지 않음

Prometheus 데이터를 사람이 읽을 수 있는 형식으로 변환합니다.

getTotalQuery

CodeRef<GetProjectQuery>

제공됨

Prometheus 총 쿼리입니다.

getRequestQuery

CodeRef<GetProjectQuery>

제공됨

Prometheus 요청 쿼리입니다.

getLimitQuery

CodeRef<GetProjectQuery>

제공됨

Prometheus 제한 쿼리입니다.

TopConsumerPopover

CodeRef<React.ComponentType<TopConsumerPopoverProps>>

제공됨

일반 값 대신 상위 소비자 팝업을 표시합니다.

console.pvc/alert
이름값 유형선택 사항설명

경고

CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>

제공되지 않음

경고 구성 요소입니다.

console.pvc/create-prop
이름값 유형선택 사항설명

label

string

제공되지 않음

create prop 작업의 레이블입니다.

path

string

제공되지 않음

생성 prop 작업의 경로입니다.

console.pvc/delete
이름값 유형선택 사항설명

서술자

CodeRef<(pvc: K8sResourceCommon) ⇒ boolean>

제공되지 않음

확장 기능을 사용할지 여부를 나타내는 서술자입니다.

onPVCKill

CodeRef<(pvc: K8sResourceCommon) ⇒ Promise<void>>

제공되지 않음

PVC 삭제 작업의 방법입니다.

경고

CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>

제공되지 않음

추가 정보를 표시하는 경고 구성 요소입니다.

console.pvc/status
이름값 유형선택 사항설명

priority

숫자

제공되지 않음

상태 구성 요소의 우선 순위입니다. 값이 클수록 우선순위가 높습니다.

status

CodeRef<React.ComponentType<{ pvc: K8sResourceCommon; }>>

제공되지 않음

상태 구성 요소입니다.

서술자

CodeRef<(pvc: K8sResourceCommon) ⇒ boolean>

제공되지 않음

상태 구성 요소를 렌더링할지 여부를 나타내는 서술자입니다.

console.redux-reducer

plugins.<scope> 하위 상태에서 작동하는 Console Redux 저장소에 새로운 감소 기를 추가합니다.

이름값 유형선택 사항설명

scope

string

제공되지 않음

Redux 상태 오브젝트 내에서 reducer-managed 하위 상태를 나타내는 키입니다.

reducer

CodeRef<Reducer<any, AnyAction>>

제공되지 않음

reducer-managed substate에서 작동하는 감소기 기능입니다.

console.resource/create
이름값 유형선택 사항설명

model

ExtensionK8sModel

제공되지 않음

리소스 페이지가 렌더링되는 모델입니다.

component

CodeRef<React.ComponentType<CreateResourceComponentProps>>

제공되지 않음

모델이 일치할 때 렌더링할 구성 요소입니다.

console.storage-provider
이름값 유형선택 사항설명

name

string

제공되지 않음

 

구성 요소

CodeRef<React.ComponentType<Partial<RouteComponentProps<{}, StaticContext, any>>>>

제공되지 않음

 
console.tab/horizontalNav
이름값 유형선택 사항설명

model

ExtensionK8sKindVersionModel

제공되지 않음

이 공급자가 표시하는 모델입니다.

page

{ name: string; href: string; }

제공되지 않음

수평 탭에 표시할 페이지입니다. 탭 이름을 이름으로 사용하고 탭 이름 href를 사용합니다.

component

CodeRef<React.ComponentType<PageComponentProps<K8sResourceCommon>>>

제공되지 않음

경로가 일치할 때 렌더링할 구성 요소입니다.

console.telemetry/listener
이름값 유형선택 사항설명

listener

CodeRef<TelemetryEventListener>

제공되지 않음

원격 분석 이벤트 수신

console.topology/adapter/build

BuildAdapter 는 어댑터를 사용하여 Build 구성 요소에서 사용할 수 있는 데이터에 요소를 조정합니다.

이름값 유형선택 사항설명

adapt

`CodeRef<(element: GraphElement) ⇒ AdapterDataType<BuildConfigData>

undefined>`

제공되지 않음

console.topology/adapter/network

NetworkAdapater 는 어댑터에 기여하여 네트워킹 구성 요소에서 사용할 수 있는 데이터에 요소를 적용합니다.

이름값 유형선택 사항설명

adapt

'CodeRef<(element: Graph915) tekton NetworkAdapterType

undefined>`

제공되지 않음

console.topology/adapter/pod

PodAdapter 은 어댑터를 제공하여 Pod 구성 요소에서 사용할 수 있는 데이터에 요소를 적용합니다.

이름값 유형선택 사항설명

adapt

`CodeRef<(element: GraphElement) ⇒ AdapterDataType<PodsAdapterDataType>

undefined>`

제공되지 않음

console.topology/component/factory

ViewComponentFactory.에 대한 getter입니다.

이름값 유형선택 사항설명

getFactory

CodeRef<ViewComponentFactory>

제공되지 않음

ViewComponentFactory.에 대한 getter입니다.

console.topology/create/connector

create connector 함수의 getter입니다.

이름값 유형선택 사항설명

getCreateConnector

CodeRef<CreateConnectionGetter>

제공되지 않음

create connector 함수의 getter입니다.

console.topology/data/factory

토폴로지 데이터 모델 팩토리 확장

이름값 유형선택 사항설명

id

string

제공되지 않음

팩토리의 고유 ID입니다.

priority

숫자

제공되지 않음

팩토리의 우선 순위

resources

WatchK8sResourcesGeneric

제공됨

useK8sWatchResources 후크에서 가져올 리소스입니다.

workloadKeys

string[]

제공됨

워크로드를 포함하는 리소스의 키입니다.

getDataModel

CodeRef<TopologyDataModelGetter>

제공됨

데이터 모델의 팩토리를 가져옵니다.

isResourceDepicted

CodeRef<TopologyDataModelDepicted>

제공됨

이 모델 팩토리에서 리소스를 묘사하고 있는지 확인하는 함수를 가져옵니다.Getter for function to determine if a resource is depicted by this model factory.

getDataModelReconciler

CodeRef<TopologyDataModelReconciler>

제공됨

getter for function to reconcile data model after all extensions' models have loaded.

console.topology/decorator/provider

토폴로지 실행기 공급자 확장

이름값 유형선택 사항설명

id

string

제공되지 않음

 

priority

숫자

제공되지 않음

 

Quadrant

TopologyQuadrant

제공되지 않음

 

데코레이터

CodeRef<TopologyDecoratorGetter>

제공되지 않음

 
console.topology/details/resource-alert

DetailsResourceAlert 는 특정 토폴로지 컨텍스트 또는 그래프 요소에 대한 경고를 제공합니다.

이름값 유형선택 사항설명

id

string

제공되지 않음

이 경고의 ID입니다. 취소된 후 경고가 표시되지 않아야 하는 경우 상태를 저장하는 데 사용됩니다.

contentProvider

'CodeRef<(element: Graph915) tekton DetailsResourceAlertContent

null>`

제공되지 않음

DetailsResourceLink 는 특정 토폴로지 컨텍스트 또는 그래프 요소에 대한 링크를 제공합니다.

이름값 유형선택 사항설명

link

'CodeRef<(element: Graph915) tekton React.tekton

undefined>`

제공되지 않음

제공된 경우 리소스 링크를 반환합니다. 그러지 않으면 정의되지 않은 것입니다. 스타일에 대해 ResourceIconResourceLink 속성을 사용합니다.

priority

숫자

제공됨

console.topology/details/tab

DetailsTab 은 토폴로지 세부 정보 패널의 탭에 기여합니다.

이름값 유형선택 사항설명

id

string

제공되지 않음

이 세부 정보 탭의 고유 식별자입니다.

label

string

제공되지 않음

UI에 표시할 탭 레이블입니다.

insertBefore

string | string[]

제공됨

여기에 참조된 항목 앞에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used.

insertAfter

string | string[]

제공됨

여기에 참조된 항목 뒤에 이 항목을 삽입합니다. 배열의 경우 순서대로 찾은 첫 번째 항목이 사용됩니다.For arrays, the first one found in order is used. insertBefore 값이 우선합니다.

console.topology/details/tab-section

DetailsTabSection 은 토폴로지 세부 정보 패널의 특정 탭에 대한 섹션을 제공합니다.

이름값 유형선택 사항설명

id

string

제공되지 않음

이 세부 정보 탭의 고유 식별자입니다.

tab

string

제공되지 않음

이 섹션이 기여해야 하는 상위 탭 ID입니다.

공급자

CodeRef<DetailsTabSectionExtensionHook>

제공되지 않음

구성 요소를 반환하는 후크 또는 토폴로지 사이드바.SDK 구성 요소(<Section title=\{}>…​padded 영역)에서 null 또는 정의되지 않은 렌더링이 있는 경우

섹션

'CodeRef<(element: Graph915, renderdatabind?:) tekton null) tekton React.databind

undefined>`

제공되지 않음

공급자가 정의되지 않은 경우 @decated Fallback. rendertekton는 이미 no-op입니다.

insertBefore

string | string[]

제공됨

여기에서 참조되는 항목 앞에 이 항목을 삽입합니다.For arrays, the first one found in order is used.

insertAfter

string | string[]

제공됨

console.topology/display/filters

토폴로지 디스플레이 필터 확장

이름값 유형선택 사항설명

getTopologyFilters

CodeRef<() ⇒ TopologyDisplayOption[]>

제공되지 않음

 

applyDisplayOptions

CodeRef<TopologyApplyDisplayOptions>

제공되지 않음

 
console.topology/relationship/provider

토폴로지 관계 공급자 커넥터 확장

이름값 유형선택 사항설명

제공

CodeRef<RelationshipProviderProvides>

제공되지 않음

 

tooltip

string

제공되지 않음

 

create

CodeRef<RelationshipProviderCreate>

제공되지 않음

 

priority

숫자

제공되지 않음

 
console.user-preference/group
이름값 유형선택 사항설명

id

string

제공되지 않음

사용자 환경 설정 그룹을 식별하는 데 사용되는 ID입니다.

label

string

제공되지 않음

사용자 기본 설정 그룹의 레이블

insertBefore

string

제공됨

이 그룹을 배치하기 전에 사용자 기본 설정 그룹의 ID

insertAfter

string

제공됨

이 그룹을 배치해야 하는 후 사용자 기본 설정 그룹의 ID

console.user-preference/item
이름값 유형선택 사항설명

id

string

제공되지 않음

사용자 기본 설정 항목을 식별하고 insertAfter 및 insertBefore에서 참조하여 항목 순서를 정의하는 데 사용되는 ID입니다.

label

string

제공되지 않음

사용자 기본 설정 라벨

description

string

제공되지 않음

사용자 기본 설정에 대한 설명입니다.

field

UserPreferenceField

제공되지 않음

값을 렌더링하여 사용자 기본 설정을 설정하는 데 사용되는 입력 필드 옵션입니다.

groupId

string

제공됨

항목이 속하는 사용자 기본 설정 그룹을 식별하는 데 사용되는 ID입니다.

insertBefore

string

제공됨

이 항목을 배치해야 하는 사용자 기본 설정 항목의 ID

insertAfter

string

제공됨

이 항목을 배치해야 하는 후 사용자 기본 설정 항목의 ID

console.yaml-template

yaml 편집기를 통해 리소스를 편집하기 위한 YAML 템플릿

이름값 유형선택 사항설명

model

ExtensionK8sModel

제공되지 않음

템플릿과 연결된 모델입니다.

template

CodeRef<string>

제공되지 않음

YAML 템플릿입니다.

name

string

제공되지 않음

템플릿의 이름입니다. 이름 default 를 사용하여 기본 템플릿으로 표시합니다.

dev-console.add/action
이름값 유형선택 사항설명

id

string

제공되지 않음

작업을 식별하는 데 사용되는 ID입니다.

label

string

제공되지 않음

동작의 레이블입니다.

description

string

제공되지 않음

작업에 대한 설명입니다.

href

string

제공되지 않음

href로 이동합니다.

groupId

string

제공됨

작업이 속하는 작업 그룹을 식별하는 데 사용되는 ID입니다.

icon

CodeRef<React.ReactNode>

제공됨

화면 표시 아이콘입니다.

accessReview

AccessReviewResourceAttributes[]

제공됨

작업의 가시성 또는 활성화를 제어하는 선택적 액세스 검토입니다.

dev-console.add/action-group
이름값 유형선택 사항설명

id

string

제공되지 않음

작업 그룹을 식별하는 데 사용되는 ID입니다.

name

string

제공되지 않음

작업 그룹의 제목

insertBefore

string

제공됨

이 그룹을 배치하기 전에 작업 그룹의 ID

insertAfter

string

제공됨

이 그룹을 배치해야 하는 작업 그룹 ID

dev-console.import/environment
이름값 유형선택 사항설명

imageStreamName

string

제공되지 않음

사용자 정의 환경 변수를 제공하는 이미지 스트림의 이름입니다.

imageStreamTags

string[]

제공되지 않음

지원되는 이미지 스트림 태그 목록

환경

ImageEnvironment[]

제공되지 않음

환경 변수 목록

console.page/resource/tab

사용되지 않음. 대신 console.tab/horizontalNav 를 사용합니다. Console 라우터에 새 리소스 탭 페이지를 추가합니다.

이름값 유형선택 사항설명

model

ExtensionK8sGroupKindModel

제공되지 않음

이 리소스 페이지가 연결되는 모델입니다.

component

CodeRef<React.ComponentType<RouteComponentProps<{}, StaticContext, any>>>

제공되지 않음

경로가 일치할 때 렌더링할 구성 요소입니다.

name

string

제공되지 않음

탭의 이름입니다.

href

string

제공됨

탭 링크의 href 옵션입니다. 제공되지 않는 경우 첫 번째 경로가 사용됩니다.

정확한

boolean

제공됨

true인 경우 은 경로가 location.pathname 과 정확히 일치하는 경우에만 일치합니다.

7.5.2. OpenShift Container Platform 콘솔 API

useActivePerspective

현재 활성화된 관점과 활성 관점을 설정하기 위한 콜백을 제공하는 후크. 현재 활성화된 관점 및 setter 콜백을 포함하는 DestinationRule을 반환합니다.

const Component: React.FC = (props) => {
   const [activePerspective, setActivePerspective] = useActivePerspective();
   return <select
     value={activePerspective}
     onChange={(e) => setActivePerspective(e.target.value)}
   >
     {
       // ...perspective options
     }
   </select>
}
GreenCheckCircleIcon

녹색 확인 표시 원 아이콘을 표시하는 구성 요소입니다.

<GreenCheckCircleIcon title="Healthy" />
매개변수 이름설명

className

(선택 사항) 구성 요소의 추가 클래스 이름입니다.

title

(선택 사항) 아이콘 제목

크기

(선택 사항) 아이콘 크기: ('sm', 'md', 'lg', 'xl')

RedExclamationCircleIcon

빨간색 느낌표 원 아이콘을 표시하는 구성 요소입니다.

<RedExclamationCircleIcon title="Failed" />
매개변수 이름설명

className

(선택 사항) 구성 요소의 추가 클래스 이름입니다.

title

(선택 사항) 아이콘 제목

크기

(선택 사항) 아이콘 크기: ('sm', 'md', 'lg', 'xl')

YellowExclamationTriangleIcon

노란색 구분 기호 아이콘을 표시하는 구성 요소입니다.

<YellowExclamationTriangleIcon title="Warning" />
매개변수 이름설명

className

(선택 사항) 구성 요소의 추가 클래스 이름입니다.

title

(선택 사항) 아이콘 제목

크기

(선택 사항) 아이콘 크기: ('sm', 'md', 'lg', 'xl')

BlueInfoCircleIcon

Blue info 원 아이콘을 표시하는 구성 요소입니다.

<BlueInfoCircleIcon title="Info" />
매개변수 이름설명

className

(선택 사항) 구성 요소의 추가 클래스 이름입니다.

title

(선택 사항) 아이콘 제목

크기

(선택 사항) 아이콘 크기: ('sm', 'md', 'lg', 'xl')

ErrorStatus

오류 상태 팝업을 표시하는 구성 요소입니다.

<ErrorStatus title={errorMsg} />
매개변수 이름설명

title

(선택 사항) 상태 텍스트

iconOnly

(선택 사항) true인 경우 아이콘만 표시합니다.

noTooltip

(선택 사항) true인 경우 툴팁이 표시되지 않습니다.

className

(선택 사항) 구성 요소의 추가 클래스 이름입니다.

popoverTitle

(선택 사항) 팝업의 제목

InfoStatus

정보 상태 팝업을 표시하는 구성 요소입니다.

<InfoStatus title={infoMsg} />
매개변수 이름설명

title

(선택 사항) 상태 텍스트

iconOnly

(선택 사항) true인 경우 아이콘만 표시합니다.

noTooltip

(선택 사항) true인 경우 툴팁이 표시되지 않습니다.

className

(선택 사항) 구성 요소의 추가 클래스 이름입니다.

popoverTitle

(선택 사항) 팝업의 제목

ProgressStatus

진행 상태 팝업을 표시하는 구성 요소입니다.

<ProgressStatus title={progressMsg} />
매개변수 이름설명

title

(선택 사항) 상태 텍스트

iconOnly

(선택 사항) true인 경우 아이콘만 표시합니다.

noTooltip

(선택 사항) true인 경우 툴팁이 표시되지 않습니다.

className

(선택 사항) 구성 요소의 추가 클래스 이름입니다.

popoverTitle

(선택 사항) 팝업의 제목

successStatus

성공 상태 팝업을 표시하는 구성 요소입니다.

<SuccessStatus title={successMsg} />
매개변수 이름설명

title

(선택 사항) 상태 텍스트

iconOnly

(선택 사항) true인 경우 아이콘만 표시합니다.

noTooltip

(선택 사항) true인 경우 툴팁이 표시되지 않습니다.

className

(선택 사항) 구성 요소의 추가 클래스 이름입니다.

popoverTitle

(선택 사항) 팝업의 제목

checkAccess

지정된 리소스에 대한 사용자 액세스에 대한 정보를 제공합니다. 리소스 액세스 정보를 사용하여 오브젝트를 반환합니다.

매개변수 이름설명

resourceAttributes

액세스 검토를 위한 리소스 속성

impersonate

가장 세부 정보

useAccessReview

지정된 리소스에 대한 사용자 액세스에 대한 정보를 제공하는 후크. isAllowedloading 값을 사용하여 배열을 반환합니다.

매개변수 이름설명

resourceAttributes

액세스 검토를 위한 리소스 속성

impersonate

가장 세부 정보

useResolvedExtensions

확인된 CodeRef 속성과 함께 콘솔 확장을 사용하기 위한 react hook입니다. 이 후크는 useExtensions 후크로 동일한 인수를 수락하고 조정된 확장 인스턴스 목록을 반환하여 각 확장 기능 속성 내의 모든 코드 참조를 해결합니다. 처음에 후크는 빈 배열을 반환합니다. 해결이 완료되면 React 구성 요소가 조정된 확장 목록을 반환하는 후크로 다시 렌더링됩니다. 일치하는 확장 목록이 변경되면 확인이 다시 시작됩니다. 해결이 완료될 때까지 후크는 이전 결과를 계속 반환합니다. 후크의 결과 요소는 re-render에서 참조로 안정적으로 유지됩니다. 해결된 코드 참조가 있는 조정된 확장 인스턴스 목록, 확인 중 확인이 완료되었는지 여부를 나타내는 부울 플래그, 해결 중 감지된 오류 목록을 포함하는 DestinationRule을 반환합니다.

const [navItemExtensions, navItemsResolved] = useResolvedExtensions<NavItem>(isNavItem);
// process adapted extensions and render your component
매개변수 이름설명

typeGuards

각각 동적 플러그인 확장을 인수로 수락하고 확장이 원하는 유형 제약 조건을 충족하는지 여부를 나타내는 부울 플래그를 반환하는 콜백 목록

HorizontalNav

페이지의 탐색 모음을 만드는 구성 요소는 구성 요소의 일부로 처리됩니다.- Routing은 구성 요소의 일부로 처리됩니다.- console.tab/horizontalNav 는 모든 수평 nav에 콘텐츠를 추가하는 데 사용할 수 있습니다.

const HomePage: React.FC = (props) => {
    const page = {
      href: '/home',
      name: 'Home',
      component: () => <>Home</>
    }
    return <HorizontalNav match={props.match} pages={[page]} />
}
매개변수 이름설명

resource

이 Navigation과 관련된 리소스, K8sResourceCommon 유형의 개체

페이지

페이지 오브젝트의 배열

match

React Router에서 제공하는 일치 오브젝트

VirtualizedTable

가상화된 테이블을 만드는 구성 요소입니다.

const MachineList: React.FC<MachineListProps> = (props) => {
  return (
    <VirtualizedTable<MachineKind>
     {...props}
     aria-label='Machines'
     columns={getMachineColumns}
     Row={getMachineTableRow}
    />
  );
}
매개변수 이름설명

data

표의 데이터

Loaded

데이터가 로드되었음을 나타내는 플래그

loadError

데이터 로드에 문제가 있는 경우 오류 개체

열 설정

row

행 설정

unfilteredData

필터가 없는 원본 데이터

NoDataEmptyMsg

(선택 사항) 데이터 빈 메시지 구성 요소가 없음

EmptyMsg

(선택 사항) 빈 메시지 구성 요소

scrollNode

(선택 사항) 스크롤을 처리하는 기능

label

(선택 사항) 표의 라벨

ariaLabel

(선택 사항) label

gridBreakPoint

응답성을 위해 Grid의 크기 조정

onSelect

(선택 사항) 표 선택 처리를 위한 기능

rowData

(선택 사항) 행과 관련된 데이터

TableData

테이블 행 내에 테이블 데이터를 표시하는 구성 요소입니다.

const PodRow: React.FC<RowProps<K8sResourceCommon>> = ({ obj, activeColumnIDs }) => {
  return (
    <>
      <TableData id={columns[0].id} activeColumnIDs={activeColumnIDs}>
        <ResourceLink kind="Pod" name={obj.metadata.name} namespace={obj.metadata.namespace} />
      </TableData>
      <TableData id={columns[1].id} activeColumnIDs={activeColumnIDs}>
        <ResourceLink kind="Namespace" name={obj.metadata.namespace} />
      </TableData>
    </>
  );
};
매개변수 이름설명

id

테이블의 고유 ID

activeColumnIDs

활성 열

className

(선택 사항) 옵션 클래스 이름

useActiveColumns

사용자가 선택한 활성 테이블 DestinationRules 목록을 제공하는 후크입니다.

  // See implementation for more details on TableColumn type
  const [activeColumns, userSettingsLoaded] = useActiveColumns({
    columns,
    showNamespaceOverride: false,
    columnManagementID,
  });
  return userSettingsAreLoaded ? <VirtualizedTable columns= {activeColumns} {...otherProps} /> : null
매개변수 이름설명

options

키-값 맵으로 전달되는 방법

``

\{TableECDHE[]} options.columns - 사용 가능한 모든 TableECDHEs의 배열

``

{Boolean} [options.showNamespaceOverride] - (선택 사항) true인 경우 열 관리 선택에 관계없이 네임스페이스 열이 포함됩니다.

``

{string} [options.columnManagementID] - (선택 사항) 사용자 설정으로 열 관리 선택을 유지하고 검색하는 데 사용되는 고유 ID입니다. 일반적으로 리소스에 대한 'groupverionkind' 문자열입니다.

현재 사용자가 선택한 활성 열( options.columns의 하위 집합)과 사용자 설정이 로드되었는지 여부를 나타내는 부울 플래그가 포함됩니다.

ListPageHeader

페이지 헤더를 생성하는 구성 요소입니다.

const exampleList: React.FC = () => {
  return (
    <>
      <ListPageHeader title="Example List Page"/>
    </>
  );
};
매개변수 이름설명

title

제목

helpECDHE

(선택 사항) help section as react node

badge

(선택 사항) 반응 노드로 배지 아이콘

ListPageCreate

이 리소스의 YAML 생성에 대한 링크를 자동으로 생성하는 특정 리소스 종류에 대한 생성 버튼을 추가하는 구성 요소입니다.

const exampleList: React.FC<MyProps> = () => {
  return (
    <>
      <ListPageHeader title="Example Pod List Page"/>
        <ListPageCreate groupVersionKind="Pod">Create Pod</ListPageCreate>
      </ListPageHeader>
    </>
  );
};
매개변수 이름설명

groupVersionKind

나타낼 리소스 그룹/버전/종류

제대로 된 링크를 만들기 위한 구성 요소입니다.

const exampleList: React.FC<MyProps> = () => {
 return (
  <>
   <ListPageHeader title="Example Pod List Page"/>
      <ListPageCreateLink to={'/link/to/my/page'}>Create Item</ListPageCreateLink>
   </ListPageHeader>
  </>
 );
};
매개변수 이름설명

다음으로 변경

링크가 직접해야 하는 문자열 위치

createAccessReview

(선택 사항) 네임스페이스가 있는 오브젝트와 액세스를 결정하는 데 사용되는 종류

children

(선택 사항) 구성 요소에 대한 하위 항목

ListPageCreateButton

버튼을 생성하는 구성 요소입니다.

const exampleList: React.FC<MyProps> = () => {
  return (
    <>
      <ListPageHeader title="Example Pod List Page"/>
        <ListPageCreateButton createAccessReview={access}>Create Pod</ListPageCreateButton>
      </ListPageHeader>
    </>
  );
};
매개변수 이름설명

createAccessReview

(선택 사항) 네임스페이스가 있는 오브젝트와 액세스를 결정하는 데 사용되는 종류

pfButtonProps

(선택 사항) Patternfly Button props

ListPageCreateDropdown

권한 확인으로 줄 바꿈 드롭다운을 생성하는 구성 요소입니다.

const exampleList: React.FC<MyProps> = () => {
  const items = {
    SAVE: 'Save',
    DELETE: 'Delete',
  }
  return (
    <>
     <ListPageHeader title="Example Pod List Page"/>
       <ListPageCreateDropdown createAccessReview={access} items={items}>Actions</ListPageCreateDropdown>
     </ListPageHeader>
    </>
  );
};
매개변수 이름설명

항목

key:ReactNode 쌍의 드롭다운 구성 요소에 표시할 항목

onClick

드롭다운 항목을 클릭하기 위한 콜백 함수

createAccessReview

(선택 사항) 네임스페이스가 있는 오브젝트와 액세스를 결정하는 데 사용되는 종류

children

(선택 사항) 드롭다운 토글의 하위 항목

ListPageFilter

목록 페이지에 대한 필터를 생성하는 구성 요소입니다.

  // See implementation for more details on RowFilter and FilterValue types
  const [staticData, filteredData, onFilterChange] = useListPageFilter(
    data,
    rowFilters,
    staticFilters,
  );
  // ListPageFilter updates filter state based on user interaction and resulting filtered data can be rendered in an independent component.
  return (
    <>
      <ListPageHeader .../>
      <ListPagBody>
        <ListPageFilter data={staticData} onFilterChange={onFilterChange} />
        <List data={filteredData} />
      </ListPageBody>
    </>
  )
매개변수 이름설명

data

데이터 지점의 배열

Loaded

데이터가 로드되었음을 나타냅니다.

onFilterChange

filter가 업데이트될 때의 콜백 함수

rowFilters

(선택 사항) 사용 가능한 필터 옵션을 정의하는 RowFilter 요소의 배열입니다.

nameFilterPlaceholder

(선택 사항) 이름 필터의 자리 표시자

labelFilterPlaceholder

(선택 사항) 라벨 필터의 자리 표시자

hideLabelFilter

(선택 사항) 이름 필터와 레이블 필터 대신 이름 필터만 표시합니다.

hideNameLabelFilter

(선택 사항) 이름 필터와 레이블 필터를 모두 숨깁니다.

columnLayout

(선택 사항) 열 레이아웃 오브젝트

hideColumnManagement

(선택 사항) 열 관리를 숨기는 플래그

useListPageFilter

ListPageFilter 구성 요소의 필터 상태를 관리하는 후크입니다. 모든 정적 필터에 의해 필터링된 데이터, 모든 정적 및 행 필터로 필터링된 데이터, rowFilter를 업데이트하는 콜백을 포함하는 DestinationRule을 반환합니다.

  // See implementation for more details on RowFilter and FilterValue types
  const [staticData, filteredData, onFilterChange] = useListPageFilter(
    data,
    rowFilters,
    staticFilters,
  );
  // ListPageFilter updates filter state based on user interaction and resulting filtered data can be rendered in an independent component.
  return (
    <>
      <ListPageHeader .../>
      <ListPagBody>
        <ListPageFilter data={staticData} onFilterChange={onFilterChange} />
        <List data={filteredData} />
      </ListPageBody>
    </>
  )
매개변수 이름설명

data

데이터 지점의 배열

rowFilters

(선택 사항) 사용 가능한 필터 옵션을 정의하는 RowFilter 요소의 배열입니다.

staticFilters

(선택 사항) 데이터에 정적으로 적용되는 FilterValue 요소의 배열입니다.

아이콘 배지와 함께 특정 리소스 유형에 대한 링크를 생성하는 구성 요소입니다.

  <ResourceLink
      kind="Pod"
      name="testPod"
      title={metadata.uid}
  />
매개변수 이름설명

kind

(선택 사항) 리소스의 종류 즉 포드, 배포, 네임스페이스

groupVersionKind

(선택 사항) groupd, version 및 kind가 있는 오브젝트

className

(선택 사항) 구성 요소에 대한 클래스 스타일

displayName

(선택 사항) 구성 요소의 표시 이름을 표시하고, 설정된 경우 리소스 이름을 덮어씁니다.

인라인

(선택 사항) 아이콘 배지 및 하위 이름과 함께 이름을 만드는 플래그

linkTo

(선택 사항) Link 오브젝트를 생성하는 플래그 - 기본값은 true입니다.

name

(선택 사항) 리소스 이름

namesapce

(선택 사항) 종류 리소스에 대한 특정 네임스페이스로 연결할 수 있습니다.

hideIcon

(선택 사항) 아이콘 배지를 숨기는 플래그

title

(선택 사항) link 오브젝트의 제목(표시되지 않음)

dataTest

(선택 사항) 테스트의 식별자

onClick

(선택 사항) 구성 요소를 클릭할 때의 콜백 함수

truncate

(선택 사항) 너무 긴 경우 링크를 중지하는 플래그

resourceIcon

특정 리소스 유형에 대한 아이콘 배지를 생성하는 구성 요소입니다.

<ResourceIcon kind="Pod"/>
매개변수 이름설명

kind

(선택 사항) 리소스의 종류 즉 포드, 배포, 네임스페이스

groupVersionKind

(선택 사항) group, version 및 kind가 있는 오브젝트

className

(선택 사항) 구성 요소에 대한 클래스 스타일

useK8sModel

redux에서 제공된 K8sGroupVersionKind에 대한 k8s 모델을 검색하는 후크. 첫 번째 항목이 k8s 모델이고 두 번째 항목이 inFlight 상태로 있는 배열을 반환합니다.

const Component: React.FC = () => {
  const [model, inFlight] = useK8sModel({ group: 'app'; version: 'v1'; kind: 'Deployment' });
  return ...
}
매개변수 이름설명

groupVersionKind

그룹, 버전, 종류의 k8s 리소스 \{@link K8sGroupVersionKind}는 그룹, 버전, 더 이상 그룹 버전 종류 \{@link K8sResourceKindReference}에 대한 참조를 전달할 수 있습니다.

useK8sModels

redux에서 현재 모든 k8s 모델을 검색하는 후크. 첫 번째 항목이 k8s 모델 목록과 두 번째 항목이 inFlight 상태로 있는 배열을 반환합니다.

const Component: React.FC = () => {
  const [models, inFlight] = UseK8sModels();
  return ...
}
useK8sWatchResource

로드 및 오류 상태와 함께 k8s 리소스를 검색하는 후크 첫 번째 항목이 있는 배열을 resource(s), 두 번째 항목을 로드된 상태로, 세 번째 항목을 오류 상태로 반환합니다.

const Component: React.FC = () => {
  const watchRes = {
        ...
      }
  const [data, loaded, error] = useK8sWatchResource(watchRes)
  return ...
}
매개변수 이름설명

initResource

리소스를 조사하는 데 필요한 옵션.

useK8sWatchResources

로드 및 오류의 각 상태와 함께 k8s 리소스를 검색하는 후크 initResouces에 제공된 키가 있는 맵을 반환하고 value에는 세 가지 속성 데이터, 로드 및 오류가 있습니다.

const Component: React.FC = () => {
  const watchResources = {
        'deployment': {...},
        'pod': {...}
        ...
      }
  const {deployment, pod} = useK8sWatchResources(watchResources)
  return ...
}
매개변수 이름설명

initResources

리소스는 키-값 쌍으로 모니터링해야 합니다. 여기서 키는 리소스에 고유하며, 각 리소스를 조사하는 데 필요한 옵션이 됩니다.

consoleFetch

콘솔 특정 헤더를 추가하고 재시도 및 타임아웃을 허용하는 fetch 에 대한 사용자 정의 래퍼를 사용하여 응답 상태 코드의 유효성을 검사하고 필요한 경우 적절한 오류를 발생시키거나 사용자를 로그아웃합니다. 응답에 해결되는 작업을 반환합니다.

매개변수 이름설명

url

가져올 URL

options

가져오기를 위해 전달할 옵션

timeout

시간 초과(밀리초)

consoleFetchJSON

콘솔 특정 헤더를 추가하고 재시도 및 타임아웃을 허용하는 fetch 관련 사용자 정의 래퍼입니다. 또한 응답 상태 코드의 유효성을 검사하고 적절한 오류가 발생하거나 필요한 경우 사용자를 기록합니다. 응답을 JSON 오브젝트로 반환합니다. 내부적으로 consoleFetch 를 사용합니다. 응답에서 JSON 오브젝트로 확인되는 작업을 반환합니다.

매개변수 이름설명

url

가져올 URL

method

사용할 HTTP 메서드입니다. 기본값은 GET입니다.

options

가져오기를 위해 전달할 옵션

timeout

시간 초과(밀리초)

cluster

요청할 클러스터의 이름입니다. 기본값은 사용자가 선택한 활성 클러스터입니다.

consoleFetchText

콘솔 특정 헤더를 추가하고 재시도 및 타임아웃을 허용하는 fetch 관련 사용자 정의 래퍼입니다. 또한 응답 상태 코드의 유효성을 검사하고 적절한 오류가 발생하거나 필요한 경우 사용자를 기록합니다. 응답을 텍스트로 반환합니다. 내부적으로 consoleFetch 를 사용합니다. 응답에 텍스트로 해결되는 작업을 반환합니다.

매개변수 이름설명

url

가져올 URL

options

가져오기를 위해 전달할 옵션

timeout

시간 초과(밀리초)

cluster

요청할 클러스터의 이름입니다. 기본값은 사용자가 선택한 활성 클러스터입니다.

getConsoleRequestHeaders

현재 redux 상태를 사용하여 API 요청에 대한 가장 및 다중 클러스터 관련 헤더를 생성하는 함수입니다. redux 상태에 따라 적절한 가장 및 clustr requst 헤더가 포함된 오브젝트를 반환합니다.

매개변수 이름설명

targetCluster

제공된 targetCluster로 현재 활성 클러스터 덮어쓰기

k8sGetResource

제공된 옵션에 따라 클러스터에서 리소스를 가져옵니다. 이름이 제공되면 하나의 리소스를 반환하고 다른 리소스는 모델과 일치하는 모든 리소스를 반환합니다. 이 명령은 이름이 모델에 일치하는 모든 리소스를 반환하는 경우 리소스가 포함된 JSON 오브젝트로 응답을 확인하는 것을 반환합니다. 실패하는 경우 HTTP 오류 응답을 사용하여 스키마가 거부됩니다.

매개변수 이름설명

options

맵에서 키-값 쌍으로 전달되는 경우

``

options.model - k8s 모델

``

options.name - 리소스 이름이 제공되지 않으면 해당 모델과 일치하는 모든 리소스를 찾습니다.

``

options.ns - 확인할 네임스페이스로 클러스터 범위의 리소스에 대해 지정하지 않아야 합니다.

``

options.path - 지정된 경우 하위 경로로 적용

``

options.queryParams - URL에 포함할 쿼리 매개변수입니다.

``

options.requestInit - 사용할 fetch init 오브젝트입니다. 여기에는 요청 헤더, 메서드, 리디렉션 등이 있을 수 있습니다. 자세한 내용은 (link: https://microsoft.github.io/PowerBI-JavaScript/interfaces/node_modules_typedoc_node_modules_typescript_lib_dom_d.requestinit.html)을 참조하십시오.

k8sCreateResource

제공된 옵션에 따라 클러스터에 리소스를 생성합니다. 생성된 리소스의 응답으로 확인되는 커밋을 반환합니다. 실패의 경우 HTTP 오류 응답을 사용하여 거부됩니다.

매개변수 이름설명

options

맵에서 키-값 쌍으로 전달되는 경우

``

options.model - k8s 모델

``

options.data - 생성할 리소스의 페이로드

``

options.path - 지정된 경우 하위 경로로 적용

``

options.queryParams - URL에 포함할 쿼리 매개변수입니다.

k8sUpdateResource

providedoptions를 기반으로 클러스터의 전체 리소스를 업데이트합니다. 클라이언트가 기존 리소스를 완전히 교체해야 하는 경우 k8sUpdate를 사용할 수 있습니다. 또는 k8sPatch를 사용하여 부분 업데이트를 수행할 수 있습니다. 업데이트된 리소스의 응답으로 확인되는 커밋을 반환합니다. 실패의 경우 HTTP 오류 응답을 사용하여 거부됩니다.

매개변수 이름설명

options

맵에서 키-값 쌍으로 전달되는 방법

``

options.model - k8s 모델

``

options.data - k8s 리소스의 페이로드 업데이트

``

options.ns - 조회할 네임스페이스로, 클러스터 범위의 리소스에 대해 지정하지 않아야 합니다.

``

options.name - 업데이트할 리소스 이름입니다.

``

options.path - 지정된 경우 하위 경로로 적용

``

options.queryParams - URL에 포함할 쿼리 매개변수입니다.

k8sPatchResource

제공된 옵션에 따라 클러스터의 모든 리소스를 패치합니다. 클라이언트가 부분 업데이트를 수행해야 하는 경우 k8sPatch를 사용할 수 있습니다. 또는 k8sUpdate를 사용하여 기존 리소스를 완전히 교체할 수 있습니다. 자세한 내용은 데이터 추적기 를 참조하십시오. 패치된 리소스의 응답으로 확인되는 커밋을 반환합니다. 실패의 경우 HTTP 오류 응답을 사용하여 거부됩니다.

매개변수 이름설명

options

맵에서 키-값 쌍으로 전달됩니다.

``

options.model - k8s 모델

``

options.resource - 패치할 리소스입니다.

``

options.data - 작업, 경로 및 값이 있는 기존 리소스에 패치될 데이터만 있습니다.

``

options.path - 지정된 경우 하위 경로로 적용됩니다.

``

options.queryParams - URL에 포함할 쿼리 매개변수입니다.

k8sDeleteResource

제공된 모델을 기반으로 클러스터에서 리소스를 삭제합니다. 가비지 컬렉션은 제공된 모델의 propagationPolicy 속성으로 구성되거나 JSON으로 전달될 수 있습니다. Status 유형의 응답으로 확인되는 작업을 반환합니다. 실패의 경우 HTTP 오류 응답을 사용하여 거부됩니다.

{ kind: 'DeleteOptions', apiVersion: 'v1', propagationPolicy }
매개변수 이름설명

options

맵에서 키-값 쌍으로 전달됩니다.

``

options.model - k8s 모델

``

options.resource - 삭제할 리소스입니다.

``

options.path - 지정된 경우 하위 경로로 적용

``

options.queryParams - URL에 포함할 쿼리 매개변수입니다.

``

options.requestInit - 사용할 fetch init 오브젝트입니다. 여기에는 요청 헤더, 메서드, 리디렉션 등이 있을 수 있습니다. 자세한 내용은 \{@link https://microsoft.github.io/PowerBI-JavaScript/interfaces/node_modules_typedoc_node_modules_typescript_lib_dom_d.requestinit.html }을 참조하십시오.

``

options.json - 제공된 경우 리소스의 가비지 컬렉션을 모델의 "propagationPolicy"로 기본으로 설정할 수 있습니다.

k8sListResource

제공된 옵션에 따라 리소스를 클러스터의 배열로 나열합니다. 응답에 해결되는 작업을 반환합니다.

매개변수 이름설명

options

맵에서 키-값 쌍으로 전달되는 경우

``

options.model - k8s 모델

``

options.queryParams - URL에 포함할 쿼리 매개변수이며 "labelSelector" 키로 라벨 선택기를 전달할 수 있습니다.

``

options.requestInit - 사용할 fetch init 오브젝트입니다. 여기에는 요청 헤더, 메서드, 리디렉션 등이 있을 수 있습니다. 자세한 내용은 \{@link https://microsoft.github.io/PowerBI-JavaScript/interfaces/node_modules_typedoc_node_modules_typescript_lib_dom_d.requestinit.html }을 참조하십시오.

k8sListResourceItems

\{@link k8sListResource}와 동일하지만 하위 항목을 반환합니다. 모델 i.e 그룹/버전의 apiVersion을 반환합니다.

getAPIVersionForModel

k8s 모델에 apiVersion을 제공합니다.

매개변수 이름설명

model

k8s 모델

getGroupVersionKindForResource

리소스에 대한 그룹, 버전 및 종류를 제공합니다. 제공된 리소스에 대한 kind 그룹인 version을 반환합니다. 리소스에 API 그룹이 없으면 그룹 "core"가 반환됩니다. 리소스에 잘못된 apiVersion이 있으면 Error가 발생합니다.

매개변수 이름설명

resource

k8s 리소스

getGroupVersionKindForModel

k8s 모델의 그룹, 버전 및 종류를 제공합니다. 이렇게 하면 제공된 모델에 맞는 그룹 version이 반환됩니다. 모델에 apiGroup이 없는 경우 그룹 "core"가 반환됩니다.

매개변수 이름설명

model

k8s 모델

StatusPopupSection

팝업 창에 상태를 표시하는 구성 요소입니다. console.dashboards/overview/health/resource 확장을 빌드하는 데 유용한 구성 요소입니다.

  <StatusPopupSection
    firstColumn={
      <>
        <span>{title}</span>
        <span className="text-secondary">
          My Example Item
        </span>
      </>
    }
    secondColumn='Status'
  >
매개변수 이름설명

firstColumn

팝업의 첫 번째 열 값

secondColumn

(선택 사항) 팝업의 두 번째 열에 대한 값

children

(선택 사항) 팝업에 대한 하위 항목

StatusPopupItem

상태 팝업에 사용되는 상태 요소; StatusPopupSection 에서 사용됩니다.

<StatusPopupSection
   firstColumn='Example'
   secondColumn='Status'
>
   <StatusPopupItem icon={healthStateMapping[MCGMetrics.state]?.icon}>
      Complete
   </StatusPopupItem>
   <StatusPopupItem icon={healthStateMapping[RGWMetrics.state]?.icon}>
       Pending
   </StatusPopupItem>
</StatusPopupSection>
매개변수 이름설명

value

(선택 사항) 표시할 텍스트 값

icon

표시할 아이콘 (선택 사항)

children

하위 요소

개요

대시보드에 대한 래퍼 구성 요소를 생성합니다.

    <Overview>
      <OverviewGrid mainCards={mainCards} leftCards={leftCards} rightCards={rightCards} />
    </Overview>
매개변수 이름설명

className

(선택 사항) div의 스타일 클래스

children

(선택 사항) 대시보드의 요소

OverviewGrid

대시보드의 카드 요소의 Grid를 만들고 개요 내에서 사용됩니다.

    <Overview>
      <OverviewGrid mainCards={mainCards} leftCards={leftCards} rightCards={rightCards} />
    </Overview>
매개변수 이름설명

mainCards

Grid 카드

leftCards

(선택 사항) Grid 왼쪽의 카드

rightCards

(선택 사항) Grid 오른쪽의 카드

InventoryItem

인벤토리 카드 항목을 생성합니다.

  return (
    <InventoryItem>
      <InventoryItemTitle>{title}</InventoryItemTitle>
      <InventoryItemBody error={loadError}>
        {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
      </InventoryItemBody>
    </InventoryItem>
  )
매개변수 이름설명

children

항목 내부를 렌더링하는 요소

InventoryItemTitle

InventoryItem 내에서 사용되는 인벤토리 카드 항목에 대한 제목을 생성합니다.

 return (
   <InventoryItem>
     <InventoryItemTitle>{title}</InventoryItemTitle>
     <InventoryItemBody error={loadError}>
       {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
     </InventoryItemBody>
   </InventoryItem>
 )
매개변수 이름설명

children

제목 내에서 렌더링할 요소

InventoryItemBody

인벤토리 카드의 본문을 생성합니다. InventoryCard 내에서 사용되며 InventoryTitle 과 함께 사용할 수 있습니다.

 return (
   <InventoryItem>
     <InventoryItemTitle>{title}</InventoryItemTitle>
     <InventoryItemBody error={loadError}>
       {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
     </InventoryItemBody>
   </InventoryItem>
 )
매개변수 이름설명

children

인벤토리 카드 또는 제목 내에서 렌더링되는 요소

error

div의 요소

InventoryItemStatus

InventoryItemBody에서 사용되는 선택적 링크 주소를 사용하여 인벤토리 카드의 개수 및 아이콘을 생성합니다.

 return (
   <InventoryItem>
     <InventoryItemTitle>{title}</InventoryItemTitle>
     <InventoryItemBody error={loadError}>
       {loaded && <InventoryItemStatus count={workerNodes.length} icon={<MonitoringIcon />} />}
     </InventoryItemBody>
   </InventoryItem>
 )
매개변수 이름설명

count

디스플레이 수

icon

디스플레이 아이콘

linkTo

(선택 사항) 링크 주소

InventoryItemLoading

인벤토리 카드가 로드될 때; InventoryItem 및 관련 구성 요소와 함께 사용됩니다.

if (loadError) {
   title = <Link to={workerNodesLink}>{t('Worker Nodes')}</Link>;
} else if (!loaded) {
  title = <><InventoryItemLoading /><Link to={workerNodesLink}>{t('Worker Nodes')}</Link></>;
}
return (
  <InventoryItem>
    <InventoryItemTitle>{title}</InventoryItemTitle>
  </InventoryItem>
)
useFlag

FlexVolumeAGS redux 상태에서 지정된 기능 플래그를 반환하는 후크입니다. 요청된 기능 플래그 또는 정의되지 않은 부울 값을 반환합니다.

매개변수 이름설명

flag

반환할 기능 플래그

YAMLEditor

마우스 커서 도움말 및 완료가 포함된 기본 지연 로드 YAML 편집기입니다.

<React.Suspense fallback={<LoadingBox />}>
  <YAMLEditor
    value={code}
  />
</React.Suspense>
매개변수 이름설명

value

렌더링할 yaml 코드를 나타내는 문자열입니다.

options

Monaco 편집기 옵션. 자세한 내용은 https://microsoft.github.io/monaco-editor/api/interfaces/monaco.editor.IStandaloneEditorConstructionOptions.html 을 참조하십시오.

minHeight

유효한 CSS 별점 값의 최소 편집기 높이입니다.

showShortcuts

편집기 상단에 바로 가기를 표시하는 부울입니다.

toolbarLinks

편집기 상단에 있는 툴바 링크 섹션에서 렌더링된 ReactNode 배열입니다.

Onchange

콜백은 코드 변경 이벤트입니다.

onSave

CTRL / CMD + S 명령이 트리거될 때 호출되는 콜백입니다.

ref

{ 편집기에 대한 참조를 반응합니까?: IStandaloneCodeEditor } }. 'editor' 속성을 사용하면 편집기를 제어하는 모든 메서드에 액세스할 수 있습니다. 자세한 내용은 https://microsoft.github.io/monaco-editor/api/interfaces/monaco.editor.IStandaloneCodeEditor.html 을 참조하십시오.

ResourceYAMLEditor

커서 도움말 및 완료를 사용하여 Kubernetes 리소스에 대한 지연 로드 YAML 편집기입니다. 구성 요소에서는 YAMLEditor를 사용하고 리소스 업데이트 처리, 경고, 저장, 취소 및 다시 로드, 액세스 가능 등과 같은 기능을 더 많이 사용합니다. onSave 콜백을 제공하지 않으면 리소스 업데이트가 자동으로 처리됩니다. Citadel은 React.Suspense 구성 요소로 래핑되어야 합니다.

<React.Suspense fallback={<LoadingBox />}>
  <ResourceYAMLEditor
    initialResource={resource}
    header="Create resource"
    onSave={(content) => updateResource(content)}
  />
</React.Suspense>
매개변수 이름설명

initialResource

편집기에서 표시할 리소스를 나타내는 YAML/Object입니다. 이 prop은 초기 렌더링 중에만 사용됩니다.

header

YAML 편집기 상단에 헤더 추가

onSave

Save 버튼에 대한 콜백입니다. 이를 전달하면 편집기에서 리소스에서 수행된 기본 업데이트가 재정의됩니다.

ResourceEventStream

특정 리소스와 관련된 이벤트를 표시하는 구성 요소입니다.

const [resource, loaded, loadError] = useK8sWatchResource(clusterResource);
return <ResourceEventStream resource={resource} />
매개변수 이름설명

resource

관련 이벤트가 표시되어야 하는 오브젝트입니다.

usePrometheusPoll

단일 쿼리를 위해 Prometheus에 대한 폴링을 설정합니다. 쿼리 응답, 응답이 완료되었는지 여부를 나타내는 부울 플래그, 요청의 요청 또는 후 처리 중에 발생한 오류를 나타내는 부울 플래그를 반환합니다.

매개변수 이름설명

``

{PrometheusEndpoint} props.endpoint - PrometheusEndpoint 중 하나(레이블, 쿼리, 범위, 규칙, 대상)

``

{string} [props.query] - (선택 사항) Prometheus 쿼리 문자열. 비어 있거나 정의되지 않은 경우 폴링이 시작되지 않습니다.

``

{number} [props.delay] - (선택 사항) 폴링 지연 간격 (ms)

``

{number} [props.endTime] - QUERY_RANGE 에 대한 (선택 사항) 쿼리 범위 종료

``

{number} [props.samples] - QUERY_RANGE의 경우 (선택 사항)

``

{number} [options.timespan] - QUERY_RANGE의 경우 (선택 사항)

``

{string} [options.namespace] - 추가할 검색 매개 변수

``

{string} [options.timeout] - 추가할 검색 매개 변수

Timestamp

타임스탬프를 렌더링하는 구성 요소입니다. 타임스탬프는 Timestamp 구성 요소의 제공 인스턴스 간에 동기화됩니다. 제공된 타임스탬프는 사용자 로케일에 따라 포맷됩니다.

매개변수 이름설명

timestamp

렌더링할 타임 스탬프입니다. Format은 ISO 8601 (Kubernetes에서 사용), epoch 타임 스탬프 또는 Date 인스턴스가 될 것으로 예상됩니다.

simple

구성 요소의 간단한 버전을 렌더링하려면 아이콘과 툴팁이 생략됩니다.

omitSuffix

접미사를 저장하는 날짜를 포맷합니다.

className

구성 요소에 대한 추가 클래스 이름입니다.

useModal

후크가 Modals를 시작합니다.

const context: AppPage: React.FC = () => {<br/> const [launchModal] = useModal();<br/> const onClick = () => launchModal(ModalComponent);<br/> return (<br/>   <Button onClick={onClick}>Launch a Modal</Button><br/> )<br/>}<br/>`
ActionServiceProvider

console.action/provider 확장 유형에 대한 다른 플러그인에서 기여를 받을 수 있는 구성 요소입니다.

   const context: ActionContext = { 'a-context-id': { dataFromDynamicPlugin } };

   ...

   <ActionServiceProvider context={context}>
       {({ actions, options, loaded }) =>
         loaded && (
           <ActionMenu actions={actions} options={options} variant={ActionMenuVariant.DROPDOWN} />
         )
       }
   </ActionServiceProvider>
매개변수 이름설명

context

contextId 및 선택적 플러그인 데이터가 있는 오브젝트

NamespaceECDHE

왼쪽 위치에 네임스페이스 드롭다운 메뉴를 사용하여 수평 툴바를 렌더링하는 구성 요소입니다. 추가 구성 요소는 하위 항목으로 전달될 수 있으며 네임스페이스 드롭다운의 오른쪽으로 렌더링됩니다. 이 구성 요소는 페이지 상단에서 사용하도록 설계되었습니다. k8s 리소스가 있는 페이지의 경우와 같이 사용자가 활성 네임스페이스를 변경할 수 있어야 하는 페이지에서 사용해야 합니다.

   const logNamespaceChange = (namespace) => console.log(`New namespace: ${namespace}`);

   ...

   <NamespaceBar onNamespaceChange={logNamespaceChange}>
     <NamespaceBarApplicationSelector />
   </NamespaceBar>
   <Page>

     ...
매개변수 이름설명

onNamespaceChange

(선택 사항) 네임스페이스 옵션을 선택할 때 실행되는 함수입니다. 새 네임스페이스를 유일한 인수로 문자열 형식으로 허용합니다. 활성 네임스페이스는 옵션이 선택될 때 자동으로 업데이트되지만 이 기능을 통해 추가 논리를 적용할 수 있습니다. 네임스페이스가 변경되면 URL의 namespace 매개변수가 이전 네임스페이스에서 새로 선택된 네임스페이스로 변경됩니다.

isDisabled

(선택 사항) true로 설정된 경우 네임스페이스 드롭다운을 비활성화하는 부울 플래그입니다. 이 옵션은 네임스페이스 드롭다운에만 적용되며 하위 구성 요소에는 영향을 미치지 않습니다.

children

(선택 사항) 도구 모음 내부에서 네임스페이스 드롭다운 오른쪽에 렌더링할 추가 요소를 추가합니다.

ErrorBoundaryFallbackPage

"Oh no!를 표시하려면 전체 페이지 ErrorBoundaryFallbackPage 구성 요소를 만듭니다. 스택 추적 및 기타 유용한 디버깅 정보와 함께 메시지가 잘못되었습니다. 이는 구성 요소와 함께 Inconjunction에 사용됩니다.

//in ErrorBoundary component
 return (
   if (this.state.hasError) {
     return <ErrorBoundaryFallbackPage errorMessage={errorString} componentStack={componentStackString}
      stack={stackTraceString} title={errorString}/>;
   }

   return this.props.children;
)
매개변수 이름설명

errorMessage

오류 메시지에 대한 텍스트 설명

componentStack

예외의 구성 요소 추적

stack

예외 스택 추적

title

오류 경계 페이지의 헤더로 렌더링할 제목

PerspectiveContext

@deprecated - 관점 컨텍스트 대신 제공된 usePerspectiveContext 를 사용합니다.

매개변수 이름설명

PerspectiveContextType

활성 관점 및 setter가 있는 오브젝트

useAccessReviewAllowed

@deprecated - 지정된 리소스에 대한 사용자 액세스에 대한 허용 상태를 제공하는 대신 @console/dynamic-plugin-sdk에서 useAccessReview를 사용합니다. isAllowed 부울 값을 반환합니다.

매개변수 이름설명

resourceAttributes

액세스 검토를 위한 리소스 속성

impersonate

가장 세부 정보

useSafetyFirst

@deprecated - 이 후크는 지정된 구성 요소를 마운트 해제할 수 있는 경우 React 상태의 안전한 비동기 설정을 확인하는 콘솔 functionality.Hook과 관련이 없습니다. 한 쌍의 state 값이 있는 배열을 반환하고 set 함수가 있습니다.

매개변수 이름설명

initialState

초기 상태 값

7.5.3. 동적 플러그인 문제 해결

플러그인을 로드하는 데 문제가 발생하면 이 문제 해결 팁 목록을 참조하십시오.

  • 다음 명령을 실행하여 콘솔 Operator 구성에서 플러그인을 활성화했으며 플러그인 이름이 출력인지 확인합니다.

    $ oc get console.operator.openshift.io cluster -o jsonpath='{.spec.plugins}'
    • 관리자 화면의 개요 페이지의 상태 카드에서 활성화된 플러그인을 확인합니다. 플러그인이 최근에 활성화된 경우 브라우저를 새로 고쳐야 합니다.
  • 다음을 통해 플러그인 서비스가 정상인지 확인합니다.

    • 플러그인 포드 상태가 실행 중이며 컨테이너가 준비되었는지 확인합니다.
    • 서비스 레이블 선택기가 Pod와 일치하고 대상 포트가 올바른지 확인합니다.
    • 콘솔 Pod의 터미널에 있는 서비스의 plugin-manifest.json 을 컬거나 클러스터의 다른 Pod를 컬링합니다.
  • ConsolePlugin 리소스 이름(consolePlugin.name)이 package.json 에 사용된 플러그인 이름과 일치하는지 확인합니다.
  • ConsolePlugin 리소스에서 서비스 이름, 네임스페이스, 포트 및 경로가 올바르게 선언되었는지 확인합니다.
  • 플러그인 서비스에서 HTTPS 및 서비스 제공 인증서를 사용하는지 확인합니다.
  • 콘솔 pod 로그에서 인증서 또는 연결 오류를 확인합니다.
  • 플러그인이 사용하는 기능 플래그가 비활성화되었는지 확인합니다.
  • 플러그인에 패키지.json에 충족되지 않는 consolePlugin. dependencies 가 없는지 확인합니다.

    • 여기에는 콘솔 버전 종속 항목 또는 다른 플러그인의 종속성이 포함될 수 있습니다. 브라우저에서 플러그인의 이름으로 JS 콘솔을 필터링하여 기록된 메시지를 확인합니다.
  • nav 확장 모드 또는 섹션 ID에 오타가 없는지 확인합니다.

    • 플러그인이 로드될 수 있지만 ID가 올바르지 않으면 nav 항목이 누락되었습니다. URL을 편집하여 플러그인 페이지로 직접 이동해 보십시오.
  • 콘솔 포드에서 플러그인 서비스로 트래픽을 차단하는 네트워크 정책이 없는지 확인합니다.

    • 필요한 경우 openshift-console 네임스페이스의 콘솔 Pod가 서비스에 요청할 수 있도록 네트워크 정책을 조정합니다.
  • 개발자 도구 브라우저의 콘솔 탭에서 브라우저에 로드할 동적 플러그인 목록을 확인합니다.

    • window.SERVER_FLAGS.consolePlugins 를 평가하여 콘솔 프런트 엔드의 동적 플러그인을 확인합니다.

8장. 웹 터미널

8.1. 웹 터미널 설치

OpenShift Container Platform OperatorHub에 나열된 Web Terminal Operator를 사용하여 웹 터미널을 설치할 수 있습니다. Web Terminal Operator를 설치하면 DevWorkspace CRD와 같은 명령행 구성에 필요한 사용자 정의 리소스 정의(CRD)가 자동으로 설치됩니다. 웹 콘솔은 웹 터미널을 열 때 필요한 리소스를 생성합니다.

사전 요구 사항

  • OpenShift Container Platform 웹 콘솔에 로그인되어 있습니다.
  • 클러스터 관리자 권한이 있어야 합니다.

절차

  1. 웹 콘솔의 Administrator 모드에서 Operator → OperatorHub로 이동합니다.
  2. 키워드로 필터링 상자를 사용하여 카탈로그에서 Web Terminal Operator를 검색한 다음 Web Terminal 타일을 클릭합니다.
  3. Web Terminal 페이지에서 Operator에 대한 간략한 설명을 확인하고Install을 클릭합니다.
  4. Install Operator 페이지에서 모든 필드의 기본값을 유지합니다.

    • Update Channel 메뉴의 fast 옵션으로 Web Terminal Operator의 최신 릴리스버전을 설치할 수 있습니다.
    • Installation Mode 메뉴의 All namespaces on the cluster를 사용하면 Operator가 클러스터의 모든 네임스페이스를 모니터링하고 사용할 수 있습니다.
    • Installed Namespace 메뉴의 openshift-operators 옵션은 기본 openshift-operators 네임스페이스에 Operator를 설치합니다.
    • Approval Strategy 메뉴의 Automatic 옵션은 Operator에 향후 지원되는 업그레이드가 OLM(Operator Lifecycle Manager)에 의해 자동으로 처리됩니다.
  5. 설치를 클릭합니다.
  6. Installed Operators 페이지에서 View Operator를 클릭하여 Operator가 Installed Operators 페이지에 나열되어 있는지 확인합니다.

    참고

    Web Terminal Operator는 DevWorkspace Operator를 종속성으로 설치합니다.

  7. Operator가 설치되면 페이지를 새로 고침하여 콘솔 마스트 헤드에 있는 명령행 터미널 아이콘( odc wto icon )을 확인합니다.

8.2. 웹 터미널 사용

웹 콘솔에서 내장된 명령행 터미널 인스턴스를 시작할 수 있습니다. 이 터미널 인스턴스는 oc,kubectl,odo,kn,tkn,helmsubctl 과 같은 클러스터와 상호 작용하기 위한 일반적인 CLI 툴로 사전 설치됩니다. 또한 작업 중인 프로젝트의 컨텍스트도 포함되어 있으며 인증 정보를 사용하여 자동으로 로그인됩니다.

8.2.1. 웹 터미널 액세스

Web Terminal Operator가 설치되면 웹 터미널에 액세스할 수 있습니다. 웹 터미널이 초기화되면 oc,kubectl,odo,kn,tkn,helmsubctl 과 같은 사전 설치된 CLI 툴을 웹 터미널에서 사용할 수 있습니다. 터미널에서 실행한 명령 목록에서 해당 명령을 선택하여 명령을 다시 실행할 수 있습니다. 이러한 명령은 여러 터미널 세션에서 유지됩니다. 웹 터미널은 종료되거나 브라우저 창 또는 탭을 닫을 때까지 열린 상태로 유지됩니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에 액세스하고 웹 콘솔에 로그인되어 있습니다.
  • Web Terminal Operator가 클러스터에 설치되어 있습니다.

절차

  1. 웹 터미널을 시작하려면 콘솔 마스트 헤드에서 명령행 터미널 아이콘( odc wto icon )을 클릭합니다. 명령줄 터미널 창에 웹 터미널 인스턴스가 표시됩니다. 이 인스턴스는 사용자의 인증 정보를 사용하여 자동으로 로그인됩니다.
  2. 현재 세션에서 프로젝트를 선택하지 않은 경우 프로젝트 드롭다운 목록에서 DevWorkspace CR을 생성해야 하는 프로젝트를 선택합니다. 기본적으로 현재 프로젝트는 선택됩니다.

    참고
    • DevWorkspace CR은 아직 존재하지 않는 경우에만 생성됩니다.
    • openshift-terminal 프로젝트는 클러스터 관리자에게 사용되는 기본 프로젝트입니다. 다른 프로젝트를 선택할 수 있는 옵션이 없습니다. Web Terminal Operator는 DevWorkspace Operator를 종속성으로 설치합니다.
  3. 선택 사항: 현재 세션에 대한 웹 터미널 시간 제한을 설정합니다.

    1. 시간 초과를 클릭합니다.
    2. 표시되는 필드에 시간 초과 값을 입력합니다.
    3. 드롭다운 목록에서 Seconds,minutes,Hours 또는 Milliseconds의 시간 초과 간격을 선택합니다.
  4. 선택 사항: 사용할 웹 터미널의 사용자 정의 이미지를 선택합니다.

    1. 이미지를 클릭합니다.
    2. 표시되는 필드에 사용하려는 이미지의 URL을 입력합니다.
  5. Start를 클릭하여 선택한 프로젝트를 사용하여 웹 터미널을 초기화합니다.
  6. + 를 클릭하여 콘솔의 웹 터미널에서 여러 탭을 엽니다.

8.3. 웹 터미널 문제 해결

8.3.1. 웹 터미널 및 네트워크 정책

클러스터에 네트워크 정책이 구성된 경우 웹 터미널이 시작되지 않을 수 있습니다. 웹 터미널 인스턴스를 초기화하려면 Web Terminal Operator가 웹 터미널의 Pod와 통신하여 실행 중인지 확인해야 하며 OpenShift Container Platform 웹 콘솔은 터미널 내의 클러스터에 자동으로 로그인하기 위해 정보를 보내야 합니다. 두 단계가 모두 실패하면 웹 터미널이 초기화되지 못하고 터미널 패널이 로드 중 상태인 것으로 나타납니다.

이 문제를 방지하려면 터미널에 사용되는 네임스페이스에 대한 네트워크 정책에서 openshift-consoleopenshift-operators 네임스페이스에서 수신을 허용하는지 확인합니다.

8.4. 웹 터미널 설치 제거

Web Terminal Operator를 설치 제거해도 Operator를 설치할 때 생성된 CRD(사용자 정의 리소스 정의) 또는 관리 리소스는 제거되지 않습니다. 보안을 위해 이러한 구성 요소를 수동으로 제거해야 합니다. 이러한 구성 요소를 제거하면 Operator가 제거될 때 터미널이 유휴 상태가 되지 않기 때문에 클러스터 리소스를 저장합니다.

웹 터미널 설치 제거는 2단계로 수행됩니다.

  1. Operator를 설치할 때 추가된 Web Terminal Operator 및 관련 사용자 지정 리소스(CR)를 제거합니다.
  2. Web Terminal Operator의 종속성으로 추가된 DevWorkspace Operator 및 관련 사용자 정의 리소스를 설치 제거합니다.

8.4.1. Web Terminal Operator 제거

Web Terminal Operator 및 Operator에서 사용하는 사용자 정의 리소스를 제거하여 웹 터미널을 설치 제거할 수 있습니다.

사전 요구 사항

  • 클러스터 관리자 액세스 권한이 있는 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • oc CLI를 설치했습니다.

절차

  1. 웹 콘솔의 Administrator 모드에서 Operator → Installed Operators로 이동합니다.
  2. 필터 목록을 스크롤하거나 Filter by name 상자에 키워드를 입력하여 Web Terminal Operator를 찾습니다.
  3. Web Terminal Operator의 옵션 메뉴 kebab 를 클릭한 다음 Operator 설치 제거를 선택합니다.
  4. Uninstall Operator 확인 대화 상자에서 Uninstall을 클릭하여 클러스터에서 Operator, Operator 배포 및 pod를 제거합니다. Operator는 실행을 중지하고 더 이상 업데이트가 수신되지 않습니다.

8.4.2. DevWorkspace Operator 제거

웹 터미널을 완전히 제거하려면 Operator에서 사용하는 DevWorkspace Operator 및 사용자 정의 리소스도 제거해야 합니다.

중요

DevWorkspace Operator는 독립 실행형 Operator이며 클러스터에 설치된 다른 Operator의 종속성으로 필요할 수 있습니다. DevWorkspace Operator가 더 이상 필요하지 않은 경우에만 아래 단계를 수행하십시오.

전제 조건

  • 클러스터 관리자 액세스 권한이 있는 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • oc CLI를 설치했습니다.

절차

  1. 관련 Kubernetes 오브젝트와 함께 Operator에서 사용하는 DevWorkspace 사용자 정의 리소스를 제거합니다.

    $ oc delete devworkspaces.workspace.devfile.io --all-namespaces --all --wait
    $ oc delete devworkspaceroutings.controller.devfile.io --all-namespaces --all --wait
    주의

    이 단계가 완료되지 않으면 종료자가 Operator를 완전히 제거하기 어렵습니다.

  2. Operator에서 사용하는 CRD를 제거합니다.

    주의

    DevWorkspace Operator는 변환 Webhook를 사용하는 CRD(사용자 정의 리소스 정의)를 제공합니다. 이러한 CRD를 제거하지 않으면 클러스터에 문제가 발생할 수 있습니다.

    $ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceroutings.controller.devfile.io
    $ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaces.workspace.devfile.io
    $ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspacetemplates.workspace.devfile.io
    $ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceoperatorconfigs.controller.devfile.io
  3. 관련된 모든 사용자 정의 리소스 정의가 제거되었는지 확인합니다. 다음 명령은 출력을 표시하지 않아야 합니다.

    $ oc get customresourcedefinitions.apiextensions.k8s.io | grep "devfile.io"
  4. devworkspace-webhook-server 배포, 변경 및 검증 웹 후크를 제거합니다.

    $ oc delete deployment/devworkspace-webhook-server -n openshift-operators
    $ oc delete mutatingwebhookconfigurations controller.devfile.io
    $ oc delete validatingwebhookconfigurations controller.devfile.io
    참고

    변경 및 검증 웹 후크를 제거하지 않고 devworkspace-webhook-server 배포를 제거하는 경우 oc exec 명령을 사용하여 클러스터의 컨테이너에서 명령을 실행할 수 없습니다. Webhook를 제거한 후 oc exec 명령을 다시 사용할 수 있습니다.

  5. 나머지 서비스, 보안 및 구성 맵을 모두 제거합니다. 설치에 따라 다음 명령에 포함된 일부 리소스가 클러스터에 존재하지 않을 수 있습니다.

    $ oc delete all --selector app.kubernetes.io/part-of=devworkspace-operator,app.kubernetes.io/name=devworkspace-webhook-server -n openshift-operators
    $ oc delete serviceaccounts devworkspace-webhook-server -n openshift-operators
    $ oc delete clusterrole devworkspace-webhook-server
    $ oc delete clusterrolebinding devworkspace-webhook-server
  6. DevWorkspace Operator를 설치 제거합니다.

    1. 웹 콘솔의 Administrator 모드에서 Operator → Installed Operators로 이동합니다.
    2. 필터 목록을 스크롤하거나 Filter by name 상자에서 키워드를 입력하여 DevWorkspace Operator를 찾습니다.
    3. Operator의 옵션 메뉴 kebab 를 클릭한 다음 Operator 설치 제거를 선택합니다.
    4. Uninstall Operator 확인 대화 상자에서 Uninstall을 클릭하여 클러스터에서 Operator, Operator 배포 및 pod를 제거합니다. Operator는 실행을 중지하고 더 이상 업데이트가 수신되지 않습니다.

9장. OpenShift Container Platform에서 웹 콘솔 비활성화

OpenShift Container Platform 웹 콘솔을 비활성화할 수 있습니다.

9.1. 전제 조건

  • OpenShift Container Platform 클러스터를 배포합니다.

9.2. 웹 콘솔 비활성화

console.operator.openshift.io 리소스를 편집하여 웹 콘솔을 비활성화할 수 있습니다.

  • console.operator.openshift.io 리소스를 편집합니다.

    $ oc edit consoles.operator.openshift.io cluster

    다음 예제는 리소스에서 수정할 수 있는 매개 변수를 표시합니다.

    apiVersion: operator.openshift.io/v1
    kind: Console
    metadata:
      name: cluster
    spec:
      managementState: Removed 1
    1
    웹 콘솔을 비활성화하려면 managementState 매개 변수 값을 Removed로 설정합니다. 이 매개 변수의 다른 유효한 값은 Managed (클러스터 제어 하에서 콘솔을 활성화) 및 Unmanaged (사용자가 웹 콘솔 관리를 제어하고 있음)입니다.

10장. 웹 콘솔에서 퀵 스타트 튜토리얼 만들기

OpenShift Container Platform 웹 콘솔에 대한 퀵 스타트 튜토리얼을 생성하려면 다음 지침에 따라 모든 퀵 스타트에서 사용자에게 일관된 사용자 환경을 유지합니다.

10.1. 퀵 스타트 이해

퀵 스타트는 사용자 작업에 대한 가이드 튜토리얼입니다. 웹 콘솔의 Help 메뉴에서 퀵 스타트에 액세스할 수 있습니다. 애플리케이션, Operator 또는 기타 다른 제품 오퍼링을 사용하는 경우에 유용합니다.

퀵 스타트는 주로 작업과 단계로 구성됩니다. 각 작업에는 여러 단계가 있으며 각 퀵스타트에는 여러 작업이 있습니다. 예를 들면 다음과 같습니다.

  • 작업 1

    • 1 단계
    • 2 단계
    • 3 단계
  • 작업 2

    • 1 단계
    • 2 단계
    • 3 단계
  • 작업 3

    • 1 단계
    • 2 단계
    • 3 단계

10.2. 사용자 워크플로우 퀵 스타트

기존 퀵 스타트 튜토리얼과 상호 작용할 때 예상되는 워크플로우 환경은 다음과 같습니다.

  1. Administrator 또는 Developer 모드에서 Help 아이콘을 클릭하고 Quick Starts를 선택합니다.
  2. 퀵 스타트 카드를 클릭합니다.
  3. 표시되는 창에서 Start를 클릭합니다.
  4. 화면에 있는 지침을 실행 완료한 후 Next를 클릭합니다.
  5. 표시되는 Check your work 모듈에서 질문에 대답하여 작업을 완료했는지 확인합니다.

    1. Yes를 선택한 경우 Next를 클릭하여 다음 작업으로 이동합니다.
    2. No를 선택하면 작업 단계를 반복하고 작업을 다시 확인하십시오.
  6. 위의 1단계에서 6단계를 반복하여 퀵 스타트의 나머지 작업을 완료합니다.
  7. 마지막 작업이 완료되면 Close를 클릭하여 퀵 스타트를 종료합니다.

10.3. 퀵 스타트 구성 요소

퀵 스타트는 다음 섹션으로 구성됩니다.

  • Card: 제목, 설명, 시간 커밋 및 완료 상태를 포함하여 퀵 스타트의 기본 정보를 제공하는 카탈로그 타일
  • Introduction: 퀵 스타트의 목표 및 작업에 대한 간략한 개요
  • Task headings: 빠른 시작의 각 작업에 대한 하이퍼 링크 제목
  • Check your work module: 사용자가 작업을 완료했는지 확인할 수 있는 모듈입니다. 퀵 스타트의 다음 작업으로 이동하기 전에 작업이 성공적으로 완료되었는지 확인할 수 있습니다.
  • Hint: 사용자가 제품의 특정 영역을 식별하는 데 도움이 되는 애니메이션
  • Button

    • Next and back buttons: 퀵 스타트의 각 작업 내에서 단계 및 모듈로 이동하기 위한 버튼
    • Final screen buttons: 퀵 스타트를 위한 버튼, 퀵 스타트의 이전 작업으로 돌아가거나 퀵 스타트를 표시할 수 있는 버튼

퀵 스타트의 주요 콘텐츠 영역에는 다음 섹션이 포함되어 있습니다.

  • Card copy
  • Introduction
  • Task steps
  • Modals and in-app messaging
  • Check your work module

10.4. 퀵 스타트 사용

OpenShift Container Platform에는 ConsoleQuickStart 개체에 정의된 퀵 스타트 사용자 정의 리소스가 있습니다. Operator 및 관리자는 이 리소스를 사용하여 클러스터에 퀵 스타트를 제공할 수 있습니다.

사전 요구 사항

  • 클러스터 관리자 권한이 있어야합니다.

절차

  1. 새로운 퀵 스타트를 만들려면 다음을 실행합니다.

    $ oc get -o yaml consolequickstart spring-with-s2i > my-quick-start.yaml
  2. 다음을 실행합니다.

    $ oc create -f my-quick-start.yaml
  3. 이 문서에 설명된 지침을 사용하여 YAML 파일을 업데이트합니다.
  4. 편집한 내용을 저장합니다.

10.4.1. 퀵 스타트 API 문서 보기

절차

  • 퀵 스타트 API 문서를 보려면 다음을 실행합니다.

    $ oc explain consolequickstarts

oc explain -h를 실행하여 oc explain 사용법에 대한 자세한 내용을 확인합니다.

10.4.2. 퀵 스타트의 요소에서 퀵 스타트 CR에 매핑

이 섹션에서는 웹 콘솔 내에서 퀵 스타트 부분에 표시되는 퀵 스타트 리소스(CR)의 일부를 시각적으로 매핑하는 방법을 설명합니다.

10.4.2.1. conclusion 요소

YAML 파일에 conclusion 요소 표시

...
summary:
  failed: Try the steps again.
  success: Your Spring application is running.
title: Run the Spring application
conclusion: >-
  Your Spring application is deployed and ready. 1

1
conclusion 텍스트

웹 콘솔에서 conclusion 요소의 표시

퀵 스타트의 마지막 부분에 conclusion가 표시됩니다.

웹 콘솔에서 conclusion 퀵 스타트

10.4.2.2. description 요소

YAML 파일에서 description 요소 보기

apiVersion: console.openshift.io/v1
kind: ConsoleQuickStart
metadata:
  name: spring-with-s2i
spec:
  description: 'Import a Spring Application from git, build, and deploy it onto OpenShift.' 1
...

1
description 텍스트

웹 콘솔에서 description 요소 보기

설명은 퀵 스타트 페이지의 퀵 스타트 소개 부분에 표시됩니다.

웹 콘솔에서 퀵 스타트 설명

10.4.2.3. displayName 요소

YAML 파일에서 displayName 요소 보기

apiVersion: console.openshift.io/v1
kind: ConsoleQuickStart
metadata:
  name: spring-with-s2i
spec:
  description: 'Import a Spring Application from git, build, and deploy it onto OpenShift.'
  displayName: Get started with Spring 1
  durationMinutes: 10

1
displayName 텍스트입니다.

웹 콘솔에서 displayName 요소 표시

표시 이름은 퀵 스타트 페이지의 퀵 스타트 소개 부분에 표시됩니다.

웹 콘솔에서 퀵 스타트 표시 이름

10.4.2.4. durationMinutes 요소

YAML 파일에서 durationMinutes element 요소 표시

apiVersion: console.openshift.io/v1
kind: ConsoleQuickStart
metadata:
  name: spring-with-s2i
spec:
  description: 'Import a Spring Application from git, build, and deploy it onto OpenShift.'
  displayName: Get started with Spring
  durationMinutes: 10 1

1
durationMinutes 값 (분)입니다. 이 값은 퀵 스타트를 완료하는 데 걸리는 시간을 정의합니다.

웹 콘솔에서 durationMinutes 요소 표시

duration minutes 요소는 Quick Starts 페이지의 퀵 스타트 소개 부분에 표시됩니다.

웹 콘솔에서 퀵 스타트 durationMinutes 요소

10.4.2.5. icon 요소

YAML 파일의 icon 요소 표시

...
spec:
  description: 'Import a Spring Application from git, build, and deploy it onto OpenShift.'
  displayName: Get started with Spring
  durationMinutes: 10
  icon: >-   1
    data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJMYXllcl8xIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMTUzZDNjO30uY2xzLTJ7ZmlsbDojZDhkYTlkO30uY2xzLTN7ZmlsbDojNThjMGE4O30uY2xzLTR7ZmlsbDojZmZmO30uY2xzLTV7ZmlsbDojM2Q5MTkxO308L3N0eWxlPjwvZGVmcz48dGl0bGU+c25vd2Ryb3BfaWNvbl9yZ2JfZGVmYXVsdDwvdGl0bGU+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAxMi42OSw1OTNjLTExLjEyLTM4LjA3LTMxLTczLTU5LjIxLTEwMy44LTkuNS0xMS4zLTIzLjIxLTI4LjI5LTM5LjA2LTQ3Ljk0QzgzMy41MywzNDEsNzQ1LjM3LDIzNC4xOCw2NzQsMTY4Ljk0Yy01LTUuMjYtMTAuMjYtMTAuMzEtMTUuNjUtMTUuMDdhMjQ2LjQ5LDI0Ni40OSwwLDAsMC0zNi41NS0yNi44LDE4Mi41LDE4Mi41LDAsMCwwLTIwLjMtMTEuNzcsMjAxLjUzLDIwMS41MywwLDAsMC00My4xOS0xNUExNTUuMjQsMTU1LjI0LDAsMCwwLDUyOCw5NS4yYy02Ljc2LS42OC0xMS43NC0uODEtMTQuMzktLjgxaDBsLTEuNjIsMC0xLjYyLDBhMTc3LjMsMTc3LjMsMCwwLDAtMzEuNzcsMy4zNSwyMDguMjMsMjA4LjIzLDAsMCwwLTU2LjEyLDE3LjU2LDE4MSwxODEsMCwwLDAtMjAuMjcsMTEuNzUsMjQ3LjQzLDI0Ny40MywwLDAsMC0zNi41NywyNi44MUMzNjAuMjUsMTU4LjYyLDM1NSwxNjMuNjgsMzUwLDE2OWMtNzEuMzUsNjUuMjUtMTU5LjUsMTcyLTI0MC4zOSwyNzIuMjhDOTMuNzMsNDYwLjg4LDgwLDQ3Ny44Nyw3MC41Miw0ODkuMTcsNDIuMzUsNTIwLDIyLjQzLDU1NC45LDExLjMxLDU5MywuNzIsNjI5LjIyLTEuNzMsNjY3LjY5LDQsNzA3LjMxLDE1LDc4Mi40OSw1NS43OCw4NTkuMTIsMTE4LjkzLDkyMy4wOWEyMiwyMiwwLDAsMCwxNS41OSw2LjUyaDEuODNsMS44Ny0uMzJjODEuMDYtMTMuOTEsMTEwLTc5LjU3LDE0My40OC0xNTUuNiwzLjkxLTguODgsNy45NS0xOC4wNSwxMi4yLTI3LjQzcTUuNDIsOC41NCwxMS4zOSwxNi4yM2MzMS44NSw0MC45MSw3NS4xMiw2NC42NywxMzIuMzIsNzIuNjNsMTguOCwyLjYyLDQuOTUtMTguMzNjMTMuMjYtNDkuMDcsMzUuMy05MC44NSw1MC42NC0xMTYuMTksMTUuMzQsMjUuMzQsMzcuMzgsNjcuMTIsNTAuNjQsMTE2LjE5bDUsMTguMzMsMTguOC0yLjYyYzU3LjItOCwxMDAuNDctMzEuNzIsMTMyLjMyLTcyLjYzcTYtNy42OCwxMS4zOS0xNi4yM2M0LjI1LDkuMzgsOC4yOSwxOC41NSwxMi4yLDI3LjQzLDMzLjQ5LDc2LDYyLjQyLDE0MS42OSwxNDMuNDgsMTU1LjZsMS44MS4zMWgxLjg5YTIyLDIyLDAsMCwwLDE1LjU5LTYuNTJjNjMuMTUtNjQsMTAzLjk1LTE0MC42LDExNC44OS0yMTUuNzhDMTAyNS43Myw2NjcuNjksMTAyMy4yOCw2MjkuMjIsMTAxMi42OSw1OTNaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzY0LjE1LDE4NS4yM2MxNy44OS0xNi40LDM0LjctMzAuMTUsNDkuNzctNDAuMTFhMjEyLDIxMiwwLDAsMSw2NS45My0yNS43M0ExOTgsMTk4LDAsMCwxLDUxMiwxMTYuMjdhMTk2LjExLDE5Ni4xMSwwLDAsMSwzMiwzLjFjNC41LjkxLDkuMzYsMi4wNiwxNC41MywzLjUyLDYwLjQxLDIwLjQ4LDg0LjkyLDkxLjA1LTQ3LjQ0LDI0OC4wNi0yOC43NSwzNC4xMi0xNDAuNywxOTQuODQtMTg0LjY2LDI2OC40MmE2MzAuODYsNjMwLjg2LDAsMCwwLTMzLjIyLDU4LjMyQzI3Niw2NTUuMzQsMjY1LjQsNTk4LDI2NS40LDUyMC4yOSwyNjUuNCwzNDAuNjEsMzExLjY5LDI0MC43NCwzNjQuMTUsMTg1LjIzWiIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTUyNy41NCwzODQuODNjODQuMDYtOTkuNywxMTYuMDYtMTc3LjI4LDk1LjIyLTIzMC43NCwxMS42Miw4LjY5LDI0LDE5LjIsMzcuMDYsMzEuMTMsNTIuNDgsNTUuNSw5OC43OCwxNTUuMzgsOTguNzgsMzM1LjA3LDAsNzcuNzEtMTAuNiwxMzUuMDUtMjcuNzcsMTc3LjRhNjI4LjczLDYyOC43MywwLDAsMC0zMy4yMy01OC4zMmMtMzktNjUuMjYtMTMxLjQ1LTE5OS0xNzEuOTMtMjUyLjI3QzUyNi4zMywzODYuMjksNTI3LDM4NS41Miw1MjcuNTQsMzg0LjgzWiIvPjxwYXRoIGNsYXNzPSJjbHMtNCIgZD0iTTEzNC41OCw5MDguMDdoLS4wNmEuMzkuMzksMCwwLDEtLjI3LS4xMWMtMTE5LjUyLTEyMS4wNy0xNTUtMjg3LjQtNDcuNTQtNDA0LjU4LDM0LjYzLTQxLjE0LDEyMC0xNTEuNiwyMDIuNzUtMjQyLjE5LTMuMTMsNy02LjEyLDE0LjI1LTguOTIsMjEuNjktMjQuMzQsNjQuNDUtMzYuNjcsMTQ0LjMyLTM2LjY3LDIzNy40MSwwLDU2LjUzLDUuNTgsMTA2LDE2LjU5LDE0Ny4xNEEzMDcuNDksMzA3LjQ5LDAsMCwwLDI4MC45MSw3MjNDMjM3LDgxNi44OCwyMTYuOTMsODkzLjkzLDEzNC41OCw5MDguMDdaIi8+PHBhdGggY2xhc3M9ImNscy01IiBkPSJNNTgzLjQzLDgxMy43OUM1NjAuMTgsNzI3LjcyLDUxMiw2NjQuMTUsNTEyLDY2NC4xNXMtNDguMTcsNjMuNTctNzEuNDMsMTQ5LjY0Yy00OC40NS02Ljc0LTEwMC45MS0yNy41Mi0xMzUuNjYtOTEuMThhNjQ1LjY4LDY0NS42OCwwLDAsMSwzOS41Ny03MS41NGwuMjEtLjMyLjE5LS4zM2MzOC02My42MywxMjYuNC0xOTEuMzcsMTY3LjEyLTI0NS42Niw0MC43MSw1NC4yOCwxMjkuMSwxODIsMTY3LjEyLDI0NS42NmwuMTkuMzMuMjEuMzJhNjQ1LjY4LDY0NS42OCwwLDAsMSwzOS41Nyw3MS41NEM2ODQuMzQsNzg2LjI3LDYzMS44OCw4MDcuMDUsNTgzLjQzLDgxMy43OVoiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik04ODkuNzUsOTA4YS4zOS4zOSwwLDAsMS0uMjcuMTFoLS4wNkM4MDcuMDcsODkzLjkzLDc4Nyw4MTYuODgsNzQzLjA5LDcyM2EzMDcuNDksMzA3LjQ5LDAsMCwwLDIwLjQ1LTU1LjU0YzExLTQxLjExLDE2LjU5LTkwLjYxLDE2LjU5LTE0Ny4xNCwwLTkzLjA4LTEyLjMzLTE3My0zNi42Ni0yMzcuNHEtNC4yMi0xMS4xNi04LjkzLTIxLjdjODIuNzUsOTAuNTksMTY4LjEyLDIwMS4wNSwyMDIuNzUsMjQyLjE5QzEwNDQuNzksNjIwLjU2LDEwMDkuMjcsNzg2Ljg5LDg4OS43NSw5MDhaIi8+PC9zdmc+Cg==
...

1
base64 값으로 정의된 icon입니다.

웹 콘솔에서 icon 요소 표시

icon은 Quick Starts 페이지에서 퀵 스타트의 소개 부분에 표시됩니다.

웹 콘솔에서 퀵 스타트 icon 요소

10.4.2.6. introduction 요소

YAML 파일에서 introduction 요소 표시

...
  introduction: >- 1
    **Spring** is a Java framework for building applications based on a distributed microservices architecture.

    - Spring enables easy packaging and configuration of Spring applications into a self-contained executable application which can be easily deployed as a container to OpenShift.

    - Spring applications can integrate OpenShift capabilities to provide a natural "Spring on OpenShift" developer experience for both existing and net-new Spring applications. For example:

    - Externalized configuration using Kubernetes ConfigMaps and integration with Spring Cloud Kubernetes

    - Service discovery using Kubernetes Services

    - Load balancing with Replication Controllers

    - Kubernetes health probes and integration with Spring Actuator

    - Metrics: Prometheus, Grafana, and integration with Spring Cloud Sleuth

    - Distributed tracing with Istio & Jaeger tracing

    - Developer tooling through Red Hat OpenShift and Red Hat CodeReady developer tooling to quickly scaffold new Spring projects, gain access to familiar Spring APIs in your favorite IDE, and deploy to Red Hat OpenShift
...

1
introduction에서는 퀵 스타트를 소개하고 해당 작업의 목록을 표시합니다.

웹 콘솔에서 introduction 요소 표시

퀵 스타트 카드를 클릭하면 퀵 스타트를 소개하고 퀵 스타트에 포함된 작업 목록이 나열된 사이드 패널이 슬라이딩됩니다.

웹 콘솔에서 퀵스타트 introduction 요소

10.4.3. 퀵 스타트에 사용자 정의 아이콘 추가

모든 퀵 스타트에 대해 기본 아이콘이 제공됩니다. 사용자 정의 아이콘을 지정할 수 있습니다.

절차

  1. 사용자 정의 아이콘으로 사용할 .svg 파일을 찾습니다.
  2. 온라인 도구를 사용하여 텍스트를 base64로 변환합니다.
  3. YAML 파일에서 icon: >-을 추가하고 다음 줄에 data:image/svg+xml;base64가 포함되고 그 뒤에 base64 변환의 출력이 포함됩니다. 예를 들면 다음과 같습니다.

    icon: >-
       data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHJvbGU9ImltZyIgdmlld.

10.4.4. 퀵 스타트에 대한 액세스 제한

모든 사용자가 퀵 스타트를 사용할 수 있는 것은 아닙니다. YAML 파일의 accessReviewResources 섹션에서는 퀵 스타트에 대한 액세스 제한 기능을 제공합니다.

HelmChartRepository 리소스를 생성하는 기능이 있는 경우에만 사용자가 퀵 스타트에 액세스할 수 있도록 하려면 다음 설정을 사용합니다.

accessReviewResources:
  - group: helm.openshift.io
    resource: helmchartrepositories
    verb: create

Operator 그룹 및 패키지 매니페스트를 나열하고 Operator를 설치할 수 있는 기능이 있는 경우에만 사용자가 퀵 스타트에 액세스할 수 있도록 하려면 다음 설정을 사용합니다.

accessReviewResources:
  - group: operators.coreos.com
    resource: operatorgroups
    verb: list
  - group: packages.operators.coreos.com
    resource: packagemanifests
    verb: list

10.4.5. 기타 퀵 스타트 링크

절차

  • YAML 파일의 nextQuickStart 섹션에서 링크로 연결하려는 퀵 스타트의 name (displayName이 아님)을 제공합니다. 예를 들면 다음과 같습니다.

    nextQuickStart:
      - add-healthchecks

10.4.6. 퀵 스타트에서 지원되는 태그

이 태그를 사용하여 퀵 스타트 내용을 마크다운으로 작성합니다. 마크다운은 HTML로 변환됩니다.

Tag설명

'b',

굵은 텍스트를 정의합니다.

'img',

이미지를 포함합니다.

'i',

이탤릭체 텍스트를 정의합니다.

'strike',

취소선 (strike-through) 텍스트를 정의합니다.

's',

작은 텍스트를 정의합니다.

'del',

작은 텍스트를 정의합니다.

'em',

강조된 텍스트를 정의합니다.

'strong',

중요한 텍스트를 정의합니다.

'a',

앵커 태그를 정의합니다.

'p',

단락 텍스트를 정의합니다.

'h1',

레벨 1 제목을 정의합니다.

'h2',

레벨 2 제목을 정의합니다.

'h3',

레벨 3 제목을 정의합니다.

'h4',

레벨 4 제목을 정의합니다.

'ul',

순서가 지정되지 않은 목록을 정의합니다.

'ol',

순서가 지정된 목록을 정의합니다.

'li',

목록 항목을 정의합니다.

'code',

텍스트를 코드로 정의합니다.

'pre',

미리 포맷된 텍스트 블록을 정의합니다.

'button',

텍스트에 버튼을 정의합니다.

10.4.7. 퀵 스타트 강조 표시 참조

강조 표시 또는 힌트 기능을 사용하면 빠른 시작에 웹 콘솔의 구성 요소를 강조 표시하고 예상할 수 있는 링크를 포함할 수 있습니다.

마크다운 구문에는 다음이 포함됩니다.

  • 대괄호로 묶은 링크 텍스트
  • highlight 키워드 다음에 예상 요소의 ID가 표시됨

10.4.7.1. 화면 전환기

[Perspective switcher]{{highlight qs-perspective-switcher}}

10.4.7.2. 관리자 화면 탐색 링크

[Home]{{highlight qs-nav-home}}
[Operators]{{highlight qs-nav-operators}}
[Workloads]{{highlight qs-nav-workloads}}
[Serverless]{{highlight qs-nav-serverless}}
[Networking]{{highlight qs-nav-networking}}
[Storage]{{highlight qs-nav-storage}}
[Service catalog]{{highlight qs-nav-servicecatalog}}
[Compute]{{highlight qs-nav-compute}}
[User management]{{highlight qs-nav-usermanagement}}
[Administration]{{highlight qs-nav-administration}}

10.4.7.3. 개발자 화면 탐색 링크

[Add]{{highlight qs-nav-add}}
[Topology]{{highlight qs-nav-topology}}
[Search]{{highlight qs-nav-search}}
[Project]{{highlight qs-nav-project}}
[Helm]{{highlight qs-nav-helm}}

10.4.7.4. 일반적인 탐색 링크

[Builds]{{highlight qs-nav-builds}}
[Pipelines]{{highlight qs-nav-pipelines}}
[Monitoring]{{highlight qs-nav-monitoring}}

10.4.8. 코드 스니펫 마크다운 참조

웹 콘솔에서 CLI 코드 조각이 빠른 시작에 포함된 경우 실행할 수 있습니다. 이 기능을 사용하려면 Web Terminal Operator를 설치해야 합니다. Web Terminal Operator를 설치하지 않는 경우 웹 터미널에서 실행되는 웹 터미널 및 코드 조각 작업이 표시되지 않습니다. 또는 Web Terminal Operator가 설치되어 있는지 여부에 관계없이 코드 조각을 클립보드에 복사할 수 있습니다.

10.4.8.1. 인라인 코드 조각의 구문

`code block`{{copy}}
`code block`{{execute}}
참고

execute 구문이 사용되는 경우 Web Terminal Operator를 설치했는지 여부에 관계없이 Copy to clipboard 작업이 표시됩니다.

10.4.8.2. 여러 줄 코드 조각의 구문

```
multi line code block
```{{copy}}

```
multi line code block
```{{execute}}

10.5. 퀵 스타트 콘텐츠 가이드 라인

10.5.1. Card copy

퀵 스타트 카드의 제목과 설명을 사용자 지정할 수 있지만 상태를 사용자 정의 할 수 없습니다.

  • 설명을 하나 또는 두 문장으로 정리합니다.
  • 동사로 시작하고 사용자의 목표를 전달합니다. 올바른 예:

    Create a serverless application.

10.5.2. 소개

퀵 스타트 카드를 클릭하면 퀵 스타트를 소개하고 퀵 스타트에 포함된 작업 목록이 나열된 사이드 패널이 슬라이딩됩니다.

  • 도입 부분의 내용을 명확하고 간결한 정보로 제공하십시오.
  • 퀵 스타트의 결과를 설명하십시오. 사용자가 시작하기 전에 퀵 스타트의 목적을 이해하고 있어야 합니다.
  • 퀵 스타트가 아니라 사용자가 수행할 작업을 제공합니다.

    • 올바른 예:

      In this quick start, you will deploy a sample application to {product-title}.
    • 잘못된 예:

      This quick start shows you how to deploy a sample application to {product-title}.
  • 도입 부분은 기능의 복잡성에 따라 최대 4~5개의 문장으로 구성해야 합니다. 도입 부분이 긴 경우 사용자를 압도해 버릴 수 있습니다.
  • 도입 부분 이후에 퀵 스타트 작업을 나열하고 각 작업의 목록을 동사로 시작합니다. 작업 수를 추가하거나 제거할 때마다 복사본을 업데이트해야 하므로 작업 수를 지정하지 마십시오.

    • 올바른 예:

      Tasks to complete: Create a serverless application; Connect an event source; Force a new revision
    • 잘못된 예:

      You will complete these 3 tasks: Creating a serverless application; Connecting an event source; Forcing a new revision

10.5.3. 작업 단계

사용자가 Start를 클릭하면 퀵 스타트를 완료하기 위해 수행해야 하는 일련의 단계가 표시됩니다.

작업 단계를 작성할 때 다음과 같은 일반적인 지침을 따르십시오.

  • 버튼 및 레이블에 대해 "Click"을 사용합니다. 체크 박스, 라디오 버튼, 드롭다운 메뉴에 "Select"를 사용합니다.
  • "Click on" 대신 "Click"을 사용합니다.

    • 올바른 예:

      Click OK.
    • 잘못된 예:

      Click on the OK button.
  • 사용자에게 AdministratorDeveloper 모드 간의 이동 방법을 보여줍니다. 사용자가 이미 적절한 모드에 있는 경우에도 해당 사용자가 적절한 위치로 이동하는 방법에 대한 지침을 제공합니다.

    예:

    Enter the Developer perspective: In the main navigation, click the dropdown menu and select Developer.
    Enter the Administrator perspective: In the main navigation, click the dropdown menu and select Admin.
  • "Location, action" 구조를 사용합니다. 사용자에게 수행할 작업을 지시하기 전에 이동해야하는 위치를 알려줍니다.

    • 올바른 예:

      In the node.js deployment, hover over the icon.
    • 잘못된 예:

      Hover over the icon in the node.js deployment.
  • 제품의 용어에 대해서는 일관되게 대문자를 사용합니다.
  • 메뉴 유형이나 목록을 드롭다운으로 지정해야 하는 경우 하이픈 없이 "dropdown"의 한 단어로 작성합니다.
  • 사용자 작업과 제품 기능에 대한 추가 정보를 명확히 구분합니다.

    • 사용자 작업:

      Change the time range of the dashboard by clicking the dropdown menu and selecting time range.
    • 추가 정보:

      To look at data in a specific time frame, you can change the time range of the dashboard.
  • “오른쪽 상단 코너에서 아이콘을 클릭” 등과 같은 지시문을 사용하지 마십시오. UI 레이아웃을 변경할 때마다 지시문은 구식이 됩니다. 또한 다른 화면 크기를 가진 사용자에게 데스크탑 사용자의 지침이 정확하지 않을 수 있습니다. 대신 이름을 사용하여 특정 정보를 식별할 수 있도록 합니다.

    • 올바른 예:

      In the navigation menu, click Settings.
    • 잘못된 예:

      In the left-hand menu, click Settings.
  • "회색 원형 클릭"과 같이 색상만으로 항목을 식별하지 마십시오. 색상으로만 항목을 식별하는 것은 시력 제한이 있는사용자, 특히 색맹인 사용자에게는 도움이 되지 않습니다. 대신 버튼 복사와 같이 이름 또는 복사를 사용하여 항목을 식별합니다.

    • 올바른 예:

      The success message indicates a connection.
    • 잘못된 예:

      The message with a green icon indicates a connection.
  • 2 인칭을 일관되게 사용합니다:

    • 올바른 예:

      Set up your environment.
    • 잘못된 예:

      Let's set up our environment.

10.5.4. 작업 모듈 확인

  • 사용자가 단계를 완료하면 Check your work 모듈이 표시됩니다. 이 모듈에서는 사용자에게 단계 결과에 대한 질문에 yes 또는 no의 답변을 입력하도록 하므로 사용자는 작업을 검토할 수 있습니다. 이 모듈의 경우, yes 또는 no 의 대답을 요구하는 질문 만 작성해야 합니다.

    • 사용자가 Yes로 응답하면 체크 표시가 표시됩니다.
    • 사용자가 No로 응답하면 필요에 따라 관련 문서에 대한 링크와 함께 오류 메시지가 표시됩니다. 그러면 사용자가 돌아가서 다시 시도할 수 있습니다.

10.5.5. UI 요소 포맷

다음 지침을 사용하여 UI 요소를 포맷합니다.

  • 버튼, 드롭다운, 탭, 필드 및 기타 UI 컨트롤의 복사: UI에 표시되는 대로 복사본을 만들고 이를 굵게 표시합니다.
  • 페이지, 창, 패널 이름을 포함한 기타 모든 UI 요소: UI에 표시되는 대로 복사본을 만들고 이를 굵게 표시합니다.
  • 코드 또는 사용자 입력 텍스트: 고정폭 글꼴을 사용합니다.
  • 힌트: 네비게이션 또는 마스터헤드 요소에 대한 힌트가 포함된 경우 링크와 같이 텍스트 스타일을 지정합니다.
  • CLI 명령: 고정폭 글꼴을 사용합니다.
  • 실행 중인 텍스트에서 명령에는 굵은 고정폭 글꼴을 사용합니다.
  • 매개변수 또는 옵션이 변수 값인 경우, 이텔릭체 고정폭 글꼴을 사용합니다.
  • 매개변수에 굵은 고정폭 글꼴을 사용하고 옵션에는 고정폭 글꼴을 사용합니다.

10.6. 추가 리소스

법적 공지

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.