Red Hat OpenShift Container Platform 웹 콘솔은 그래픽 사용자 인터페이스를 제공하여 프로젝트 데이터를 시각화하고 관리, 관리 및 문제 해결 작업을 수행할 수 있습니다. 웹 콘솔은 openshift-console 프로젝트의 컨트롤 플레인 노드에서 Pod로 실행됩니다. console-operator Pod에서 관리합니다. 관리자 및 개발자 화면이 모두 지원됩니다.
관리자 및 개발자 화면을 모두 사용하면 OpenShift Container Platform에 대한 퀵 스타트 튜토리얼을 생성할 수 있습니다. 퀵 스타트는 사용자 작업에 대한 가이드 튜토리얼이며 애플리케이션, Operator 또는 기타 제품 오퍼링을 사용하는 데 유용합니다.
웹 콘솔은 컨트롤 플레인 노드에서 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>
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>
Copy to ClipboardCopied!Toggle word wrapToggle overflow
이러한 세부 사항을 사용하여 로그인하고 웹 콘솔에 로그인하고 액세스하십시오.
설치하지 않은 기존 클러스터의 경우 oc whoami --show-console을 사용하여 웹 콘솔 URL을 확인할 수 있습니다.
중요
dir 매개변수는 매니페스트 파일, ISO 이미지 및 auth 디렉터리를 저장하는 assets 디렉터리를 지정합니다. auth 디렉터리는 kubeadmin-password 및 kubeconfig 파일을 저장합니다. kubeadmin 사용자는 kubeconfig 파일을 사용하여 다음 설정으로 클러스터에 액세스할 수 있습니다. export KUBECONFIG=<install_directory>/auth/kubeconfig. kubeconfig 는 생성된 ISO 이미지에 한정되므로 kubeconfig 가 설정되고 oc 명령이 실패하면 생성된 ISO 이미지로 시스템을 부팅하지 못할 수 있습니다. 디버깅을 수행하려면 부트스트랩 프로세스 중에 kubeadmin-password 파일의 콘텐츠를 사용하여 core 사용자로 콘솔에 로그인할 수 있습니다.
사용자가 웹 콘솔에서 로그 아웃할 때 로드할 페이지의 URL을 지정합니다. 값을 지정하지 않으면 사용자는 웹 콘솔의 로그인 페이지로 돌아갑니다. logoutRedirect URL을 지정하면 사용자가 아이덴티티 공급자를 통해 단일 로그 아웃 (SLO)을 수행하여 단일 사인온 세션을 삭제할 수 있습니다.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Operator 설정이 업데이트되면 사용자 정의 로고 설정 맵을 콘솔 네임 스페이스에 동기화하고 이를 콘솔 pod에 마운트한 후 다시 배포합니다.
성공적으로 실행되었는지 확인합니다. 문제가 있는 경우 콘솔 클러스터 Operator는 Degraded 상태를 보고하고 콘솔 Operator 설정도 CustomLogoDegraded 상태를 KeyOrFilenameInvalid 또는 NoImageProvided와 같은 이유와 함께 보고합니다.
clusteroperator를 확인하려면 다음을 실행합니다.
oc get clusteroperator console -o yaml
$oc get clusteroperator console -o yaml
Copy to ClipboardCopied!Toggle word wrapToggle overflow
콘솔 Operator 설정을 확인하려면 다음을 실행합니다.
oc get consoles.operator.openshift.io -o yaml
$oc get consoles.operator.openshift.io -o yaml
Copy to ClipboardCopied!Toggle word wrapToggle overflow
유효한 위치 설정은 HelpMenu, UserMenu, ApplicationMenu 및 NamespaceDashboard입니다.
모든 네임 스페이스에 사용자 정의 링크를 표시하려면 다음 예제를 따르십시오.
apiVersion: console.openshift.io/v1
kind: ConsoleLink
metadata:
name: namespaced-dashboard-link-for-all-namespaces
spec:
href: 'https://www.example.com'
location: NamespaceDashboard
text: This appears in all namespaces
apiVersion: console.openshift.io/v1
kind: ConsoleLink
metadata:name: namespaced-dashboard-link-for-all-namespaces
spec:href:'https://www.example.com'location: NamespaceDashboard
text: This appears in all namespaces
Copy to ClipboardCopied!Toggle word wrapToggle overflow
일부 네임 스페이스에만 사용자 정의 링크를 표시하려면 다음 예제를 따르십시오.
apiVersion: console.openshift.io/v1
kind: ConsoleLink
metadata:
name: namespaced-dashboard-for-some-namespaces
spec:
href: 'https://www.example.com'
location: NamespaceDashboard
# This text will appear in a box called "Launcher" under "namespace" or "project" in the web console
text: Custom Link Text
namespaceDashboard:
namespaces:
# for these specific namespaces
- my-namespace
- your-namespace
- other-namespace
apiVersion: console.openshift.io/v1
kind: ConsoleLink
metadata:name: namespaced-dashboard-for-some-namespaces
spec:href:'https://www.example.com'location: NamespaceDashboard
# This text will appear in a box called "Launcher" under "namespace" or "project" in the web consoletext: Custom Link Text
namespaceDashboard:namespaces:# for these specific namespaces- my-namespace
- your-namespace
- other-namespace
Copy to ClipboardCopied!Toggle word wrapToggle overflow
애플리케이션 메뉴에 사용자 정의 링크를 표시하려면 다음 예제를 따르십시오.
apiVersion: console.openshift.io/v1
kind: ConsoleLink
metadata:
name: application-menu-link-1
spec:
href: 'https://www.example.com'
location: ApplicationMenu
text: Link 1
applicationMenu:
section: My New Section
# image that is 24x24 in size
imageURL: https://via.placeholder.com/24
apiVersion: console.openshift.io/v1
kind: ConsoleLink
metadata:name: application-menu-link-1spec:href:'https://www.example.com'location: ApplicationMenu
text: Link 1
applicationMenu:section: My New Section
# image that is 24x24 in sizeimageURL: https://via.placeholder.com/24
Copy to ClipboardCopied!Toggle word wrapToggle overflow
console 및 downloads의 경우 사용자 지정 경로 기능은 ingress 구성 경로 구성 API를 사용합니다. console 사용자 정의 경로가 ingress 구성 및 console-operator 구성에 모두 설정된 경우 새 ingress 구성 사용자 정의 경로 구성이 우선합니다. console-operator 구성을 통한 경로 구성은 더 이상 사용되지 않습니다.
TLS 인증서 (tls.crt) 및 키 (tls.key)가 포함된 openshift-config 네임스페이스의 시크릿에 대한 참조입니다. 사용자 지정 호스트 이름 접미사가 클러스터 도메인 접미사와 일치하지 않는 경우 이 작업이 필요합니다. 접미사가 일치하는 경우 시크릿은 선택 사항입니다.
파일을 저장하여 변경 사항을 적용합니다.
참고
애플리케이션 인그레스 로드 밸런서를 가리키는 사용자 정의 콘솔 경로에 대한 DNS 레코드를 추가합니다.
TLS 인증서 (tls.crt) 및 키 (tls.key)가 포함된 openshift-config 네임스페이스의 시크릿에 대한 참조입니다. 사용자 지정 호스트 이름 접미사가 클러스터 도메인 접미사와 일치하지 않는 경우 이 작업이 필요합니다. 접미사가 일치하는 경우 시크릿은 선택 사항입니다.
파일을 저장하여 변경 사항을 적용합니다.
참고
애플리케이션 인그레스 로드 밸런서를 가리키는 사용자 정의 다운로드 경로에 대한 DNS 레코드를 추가합니다.
사용자 정의 로그인 페이지를 사용하여 서비스 약관 정보를 작성하십시오. 사용자 정의 로그인 페이지는 GitHub 또는 Google과 같은 타사 로그인 공급자를 사용하는 경우에도 사용자가 신뢰하는 브랜드 페이지를 표시하고 사용자를 인증 공급자로 리디렉션하는데 유용할 수 있습니다. 인증 프로세스 중에 사용자 정의 오류 페이지를 렌더링할 수도 있습니다.
참고
오류 템플릿 사용자 지정은 요청 헤더 및 OIDC 기반 IDP와 같이 리디렉션을 사용하는 ID 프로바이더(IDP)로 제한됩니다. LDAP 및 htpasswd와 같이 직접 암호 인증을 사용하는 IDP에는 영향을 미치지 않습니다.
사전 요구 사항
클러스터 관리자 권한이 있어야합니다.
프로세스
다음 명령을 실행하여 수정할 수 있는 템플릿을 만듭니다.
oc adm create-login-template > login.html
$oc adm create-login-template > login.html
Copy to ClipboardCopied!Toggle word wrapToggle overflow
apiVersion: console.openshift.io/v1
kind: ConsoleExternalLogLink
metadata:
name: example
spec:
hrefTemplate: >-
https://example.com/logs?resourceName=${resourceName}&containerName=${containerName}&resourceNamespace=${resourceNamespace}&podLabels=${podLabels}
text: Example Logs
apiVersion: console.openshift.io/v1
kind: ConsoleExternalLogLink
metadata:name: example
spec:hrefTemplate:>-
https://example.com/logs?resourceName=${resourceName}&containerName=${containerName}&resourceNamespace=${resourceNamespace}&podLabels=${podLabels}text: Example Logs
Copy to ClipboardCopied!Toggle word wrapToggle overflow
apiVersion: console.openshift.io/v1
kind: ConsoleNotification
metadata:
name: example
spec:
text: This is an example notification message with an optional link.
location: BannerTop
link:
href: 'https://www.example.com'
text: Optional link text
color: '#fff'
backgroundColor: '#0088ce'
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'
Copy to ClipboardCopied!Toggle word wrapToggle overflow
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
apiVersion: console.openshift.io/v1
kind: ConsoleCLIDownload
metadata:name: example-cli-download-links
spec:description:|
This is an example of download linksdisplayName: 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
Copy to ClipboardCopied!Toggle word wrapToggle overflow
OpenShift Container Platform 웹 콘솔은 기본적으로 관리자 및 개발자 의 두 가지 화면을 제공합니다. 설치된 콘솔 플러그인에 따라 더 많은 화면을 사용할 수 있습니다. 클러스터 관리자는 모든 사용자 또는 특정 사용자 역할에 대한 화면을 표시하거나 숨길 수 있습니다. 화면을 사용자 정의하면 사용자가 역할 및 작업에 적용할 수 있는 화면만 볼 수 있습니다. 예를 들어 클러스터 리소스, 사용자 및 프로젝트를 관리할 수 없도록 권한이 없는 사용자로부터 관리자 화면을 숨길 수 있습니다. 마찬가지로 애플리케이션을 생성, 배포 및 모니터링할 수 있도록 개발자 역할을 가진 사용자에게 개발자 화면을 표시할 수 있습니다.
RBAC(역할 기반 액세스 제어)를 기반으로 사용자의 화면 가시성을 사용자 지정할 수도 있습니다. 예를 들어 특정 권한이 필요한 모니터링 목적으로 화면를 사용자 지정하는 경우 필요한 권한이 있는 사용자만 화면을 볼 수 있음을 정의할 수 있습니다.
각 화면에는 YAML 보기에서 편집할 수 있는 다음과 같은 필수 매개변수가 포함되어 있습니다.
id: 표시 또는 숨길 화면의 ID를 정의합니다.
visibility: 필요한 경우 액세스 검토 검사와 함께 화면의 상태를 정의합니다.
state 화면을 활성화, 비활성화 또는 액세스 검토 검토가 필요한지 여부를 정의합니다.
참고
기본적으로 모든 화면이 활성화됩니다. 사용자 화면을 사용자 지정하면 변경 사항이 전체 클러스터에 적용됩니다.
동적 플러그인은 런타임 시 원격 소스에서 로드되고 해석됩니다. 동적 플러그인을 콘솔에 제공하고 노출하는 한 가지 방법은 OLM Operator를 사용하는 것입니다. Operator는 HTTP 서버와 함께 플랫폼에 배포를 생성하여 플러그인을 호스팅하고 Kubernetes 서비스를 사용하여 노출합니다.
동적 플러그인을 사용하면 런타임 시 콘솔 사용자 인터페이스에 사용자 정의 페이지 및 기타 확장을 추가할 수 있습니다. ConsolePlugin 사용자 정의 리소스는 콘솔에 플러그인을 등록하고 클러스터 관리자는 콘솔 Operator 구성에서 플러그인을 활성화합니다.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
요소 선택기와 같은 플러그인 구성 요소 외부의 DestinationRule에 영향을 줄 수 있는 선택기를 사용하지 마십시오. 이는 API가 아니며 변경될 수 있습니다. 이를 사용하면 플러그인이 손상될 수 있습니다. 플러그인 구성 요소 외부에서 4.6.1에 영향을 줄 수 있는 요소 선택기와 같은 선택기를 사용하지 마십시오.
플러그인 웹 서버에서 제공하는 모든 자산에 대해 Content-Type 응답 헤더를 사용하여 유효한 JavaScript Multipurpose Internet Mail Extension(MIME) 유형을 제공합니다. 각 플러그인 배포에는 지정된 플러그인의 생성된 자산을 호스팅하는 웹 서버가 포함되어야 합니다.
Webpack 버전 5 이상을 사용하여 Webpack 플러그인을 빌드해야 합니다.
충돌을 방지하려면 CSS 클래스 이름 앞에 플러그인 이름을 붙여야 합니다. 예를 들면 my-plugin__heading 및 my-plugin_\_icon 입니다.
다른 콘솔 페이지와 일관된 모양, 느낌 및 동작을 유지해야 합니다.
요소 선택기와 같이 플러그인 구성 요소 외부의 태그에 영향을 줄 수 있는 선택기를 피해야 합니다. 이는 API가 아니며 변경될 수 있습니다.
플러그인 웹 서버에서 제공하는 모든 자산에 대해 Content-Type 응답 헤더를 사용하여 유효한 JavaScript Multipurpose Internet Mail Extension(MIME) 유형을 제공해야 합니다. 각 플러그인 배포에는 지정된 플러그인의 생성된 자산을 호스팅하는 웹 서버가 포함되어야 합니다.
PatternFly 지침
플러그인을 생성할 때 PatternFly 사용에 대한 다음 지침을 따르십시오.
PatternFly 구성 요소 및 PatternFly CSS 변수를 사용합니다. 핵심 PatternFly 구성 요소는 SDK를 통해 사용할 수 있습니다. PatternFly 구성 요소 및 변수를 사용하면 플러그인이 향후 콘솔 버전에서 일관성을 유지하는 데 도움이 됩니다.
OpenShift Container Platform 버전 4.14 및 이전 버전을 사용하는 경우 Patternfly 4.x를 사용하십시오.
OpenShift Container Platform 4.15 이상을 사용하는 경우 Patternfly 5.x를 사용하십시오.
Bootstrap 또는 Tailwind와 같은 다른 CSS 라이브러리는 사용하지 마십시오. PatternFly와 충돌할 수 있으며 콘솔의 나머지 부분과 일치하지 않을 수 있습니다. 플러그인은 기본 PatternFly 스타일에서 평가할 사용자 인터페이스에 고유한 스타일만 포함해야 합니다. 플러그인의 @patternfly/react-styles/*/.css 또는 모든 스타일에서 @patternfly/patternfly 패키지와 같은 스타일을 가져오지 마십시오.
콘솔 애플리케이션은 지원되는 모든 PatternFly 버전에 대한 기본 스타일을 로드합니다.
선택 사항: 플러그인을 로컬에서 테스트하려면 컨테이너에서 OpenShift Container Platform 웹 콘솔을 실행합니다. Docker 또는 Podman 3.2.0 이상을 사용할 수 있습니다.
프로세스
이름 충돌을 방지하려면 name에 plugin__ 접두사를 추가합니다. 플러그인 템플릿은 기본적으로 plugin__console-plugin-template 네임스페이스를 사용하며, plugin__my-plugin 과 같은 플러그인 이름을 바꿀 때 업데이트해야 합니다. useTranslation 후크를 사용할 수 있습니다. 예를 들면 다음과 같습니다.
로드 중 동적 플러그인 후 i18n 네임스페이스에서 모든 플러그인의 현지화 리소스를 로드합니다.
console-extensions.json 의 라벨에 %plugin__console-plugin-template~My Label% 형식을 사용합니다. 콘솔은 plugin__console-plugin-template 네임스페이스에서 현재 언어의 메시지로 값을 대체합니다. 예를 들면 다음과 같습니다.
plugin:name:""description:""image:""imagePullPolicy: IfNotPresent
replicas:2port:9443securityContext:enabled:truepodSecurityContext:enabled:truerunAsNonRoot:trueseccompProfile:type: RuntimeDefault
containerSecurityContext:enabled:trueallowPrivilegeEscalation:falsecapabilities:drop:- ALL
resources:requests:cpu: 10m
memory: 50Mi
basePath: /
certificateSecretName:""serviceAccount:create:trueannotations:{}name:""patcherServiceAccount:create:trueannotations:{}name:""jobs:patchConsoles:enabled:trueimage:"registry.redhat.io/openshift4/ose-tools-rhel8@sha256:e44074f21e0cca6464e50cb6ff934747e0bd11162ea01d522433a1a1ae116103"podSecurityContext:enabled:truerunAsNonRoot:trueseccompProfile:type: RuntimeDefault
containerSecurityContext:enabled:trueallowPrivilegeEscalation:falsecapabilities:drop:- ALL
resources:requests:cpu: 10m
memory: 50Mi
Copy to ClipboardCopied!Toggle word wrapToggle overflow
검증
관리 → 클러스터 설정 → 구성 → 콘솔operator.openshift.io → 콘솔 플러그인에서 이동하거나 개요 페이지를 방문하여 활성화된 플러그인 목록을 확인합니다.
참고
새 플러그인 구성이 표시되는 데 몇 분 정도 걸릴 수 있습니다. 플러그인이 표시되지 않는 경우 플러그인이 최근에 활성화된 경우 브라우저를 새로 고쳐야 할 수 있습니다. 런타임 시 오류가 발생하면 브라우저 개발자 도구의 JS 콘솔을 확인하여 플러그인 코드의 오류를 확인합니다.
플러그인에서 클러스터 내 서비스에 HTTP 요청을 수행해야 하는 경우 spec.proxy array 필드를 사용하여 ConsolePlugin 리소스에서 서비스 프록시를 선언할 수 있습니다. 콘솔 백엔드는 /api/proxy/plugin/<plugin-name>/<proxy-alias>/<request-path>?<optional-query-parameters > 끝점을 노출하여 플러그인과 서비스 간의 통신을 프록시합니다. 프록시 요청은 기본적으로 서비스 CA 번들을 사용합니다. 서비스에서 HTTPS를 사용해야 합니다.
참고
플러그인은 JavaScript 코드에서 요청을 만들기 위해 consolefetch API를 사용해야 합니다. 그렇지 않으면 일부 요청이 실패할 수 있습니다. 자세한 내용은 "Dynamic plugin API"를 참조하십시오.
각 항목에 대해 끝점 및 별칭 필드 아래에 프록시의 끝점 과 별칭 을 지정해야 합니다. Service 프록시 유형의 경우 끝점 유형 필드를 Service 로 설정해야 하며 서비스에이름,네임스페이스, 포트 필드의 값이 포함되어야 합니다. 예를 들어 /api/proxy/plugin/helm/helm-charts/releases?limit=10 은 10개의 helm 릴리스를 나열하는helm-charts 서비스가 있는 helm 플러그인의 프록시 요청 경로입니다.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
새 파일ECDHE /components/ECDHETab.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>
);
}
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>
);
}
Copy to ClipboardCopied!Toggle word wrapToggle overflow
플러그인 이름과 함께 Helm 차트를 새 네임스페이스 또는 -n 명령줄 옵션에 지정된 기존 네임스페이스에 Helm 릴리스 이름으로 설치하여 클러스터에 플러그인을 배포합니다. 다음 명령을 사용하여 plugin.image 매개변수 내에 이미지 위치를 제공합니다.
이 확장을 통해 플러그인은 카탈로그 항목 유형에 대한 공급자를 제공할 수 있습니다. 예를 들어 Helm 플러그인은 모든 Helm 차트를 가져오는 공급자를 추가할 수 있습니다. 이 확장 기능을 사용하여 다른 플러그인에서 특정 카탈로그 항목 유형에 항목을 추가할 수도 있습니다.
동일한 열에 있는 다른 모든 세부 정보 항목을 기준으로 하는 선택적 정렬 가중치입니다. 유효한 JavaScriptNumber 로 표시됩니다. 각 열의 항목은 독립적으로 정렬되며 가장 낮은 항목이 가장 높습니다. 정렬 가중치가 없는 항목은 정렬 가중치가 있는 항목 다음에 정렬됩니다.
console.storage-class/provisioner
스토리지 클래스를 생성하는 동안 옵션으로 새 스토리지 클래스 프로비전 프로그램을 추가합니다.
Expand
이름
값 유형
선택 사항
설명
CSI
ProvisionerDetails
제공됨
컨테이너 스토리지 인터페이스 프로비저너 유형
OTHERS
ProvisionerDetails
제공됨
기타 프로비저너 유형
console.storage-provider
이 확장을 사용하여 스토리지 및 공급자별 구성 요소를 연결할 때 선택하는 새 스토리지 공급자를 제공할 수 있습니다.
더 이상 사용되지 않음: 공급자가 정의되지 않은 경우 Fallback. renderNull은 이미 작동하지 않습니다.
insertBefore
string | string[]
제공됨
여기서 참조하는 항목 앞에 이 항목을 삽입합니다. 배열의 경우 첫 번째 항목이 순서대로 사용됩니다.
insertAfter
string | string[]
제공됨
이 항목을 여기에 참조한 항목 뒤에 삽입합니다. 배열의 경우 첫 번째 항목이 순서대로 사용됩니다. insertBefore 값이 우선합니다.
console.topology/display/filters
토폴로지 표시 필터 확장
Expand
이름
값 유형
선택 사항
설명
getTopologyFilters
CodeRef<() ⇒ TopologyDisplayOption[]>
제공되지 않음
확장과 관련된 토폴로지 필터의 getter
applyDisplayOptions
CodeRef<TopologyApplyDisplayOptions>
제공되지 않음
모델에 필터를 적용하는 함수
console.topology/relationship/provider
토폴로지 관계 공급자 커넥터 확장
Expand
이름
값 유형
선택 사항
설명
provides
CodeRef<RelationshipProviderProvides>
제공되지 않음
소스 노드와 대상 노드 사이에 연결을 생성할 수 있는지 확인하는 데 사용됩니다.
tooltip
string
제공되지 않음
툴팁은 커넥터 작업이 드롭 대상 위에 마우스를 가져가는 시기를 표시합니다(예: "Visual Connector 만들기")
create
CodeRef<RelationshipProviderCreate>
제공되지 않음
연결을 생성하기 위해 커넥터가 대상 노드 위에 드롭될 때 실행되는 콜백
priority
number
제공되지 않음
관계의 우선 순위는 여러 개일 경우 더 높은 것이 우선됩니다.
console.user-preference/group
이 확장은 콘솔 사용자 참조 페이지에 그룹을 추가하는 데 사용할 수 있습니다. 콘솔 사용자 참조 페이지에 세로 탭 옵션으로 표시됩니다.
Expand
이름
값 유형
선택 사항
설명
id
string
제공되지 않음
사용자 기본 설정 그룹을 식별하는 데 사용되는 ID입니다.
label
string
제공되지 않음
사용자 기본 설정 그룹의 레이블
insertBefore
string
제공됨
이 그룹을 배치하기 전에 사용자 기본 설정 그룹의 ID
insertAfter
string
제공됨
이 그룹을 배치해야 하는 사용자 기본 그룹의 ID
console.user-preference/item
이 확장 기능을 사용하여 콘솔 사용자 기본 설정 페이지의 사용자 기본 설정 그룹에 항목을 추가할 수 있습니다.
Expand
이름
값 유형
선택 사항
설명
id
string
제공되지 않음
사용자 기본 항목을 식별하고 insertAfter에서 참조되고 항목 순서를 정의하기 전에 삽입하는 데 사용되는 ID
label
string
제공되지 않음
사용자 기본 설정의 레이블
description
string
제공되지 않음
사용자 우선순위에 대한 설명
field
UserPreferenceField
제공되지 않음
사용자 기본 설정을 위해 값을 렌더링하는 데 사용되는 입력 필드 옵션
groupId
string
제공됨
항목이 속한 사용자 기본 설정 그룹을 식별하는 데 사용되는 ID
insertBefore
string
제공됨
이 항목을 배치하기 전에 사용자 기본 설정 항목의 ID
insertAfter
string
제공됨
이 항목을 배치해야 하는 사용자 기본 설정 항목의 ID
console.yaml-template
yaml 편집기를 통해 리소스를 편집하기 위한 YAML 템플릿입니다.
Expand
이름
값 유형
선택 사항
설명
model
ExtensionK8sModel
제공되지 않음
템플릿과 관련된 모델입니다.
템플릿
CodeRef<string>
제공되지 않음
YAML 템플릿입니다.
name
string
제공되지 않음
템플릿의 이름입니다. 이를 기본 템플릿으로 표시하려면 default 이름을 사용합니다.
dev-console.add/action
이 확장 기능을 통해 플러그인은 개발자 화면의 추가 페이지에 작업 항목을 추가할 수 있습니다. 예를 들어 서버리스 플러그인은 개발자 콘솔의 추가 페이지에 서버리스 함수를 추가하기 위한 새 작업 항목을 추가할 수 있습니다.
Expand
이름
값 유형
선택 사항
설명
id
string
제공되지 않음
작업을 식별하는 데 사용되는 ID입니다.
label
string
제공되지 않음
작업의 레이블입니다.
description
string
제공되지 않음
작업에 대한 설명입니다.
href
string
제공되지 않음
탐색할 href 입니다.
groupId
string
제공됨
작업이 속한 작업 그룹을 식별하는 데 사용되는 ID입니다.
icon
CodeRef<React.ReactNode>
제공됨
화면 표시 아이콘입니다.
accessReview
AccessReviewResourceAttributes[]
제공됨
작업의 가시성 또는 사용을 제어하는 선택적 액세스 검토입니다.
dev-console.add/action-group
이 확장 기능을 사용하면 플러그인에서 개발자 콘솔의 추가 페이지에 그룹을 구성할 수 있습니다. 확장 정의에 따라 추가 작업 페이지에서 함께 그룹화되는 작업으로 그룹을 참조할 수 있습니다. 예를 들어 서버리스 플러그인은 서버리스 그룹에 여러 추가 작업과 함께 제공할 수 있습니다.
Expand
이름
값 유형
선택 사항
설명
id
string
제공되지 않음
작업 그룹을 식별하는 데 사용되는 ID
name
string
제공되지 않음
작업 그룹의 제목
insertBefore
string
제공됨
이 그룹을 배치하기 전에 작업 그룹의 ID
insertAfter
string
제공됨
이 그룹을 배치해야 하는 작업 그룹의 ID
dev-console.import/environment
이 확장 기능을 사용하여 개발자 콘솔 Git 가져오기 양식의 빌더 이미지 선택기 아래에 추가 빌드 환경 변수 필드를 지정할 수 있습니다. 설정하면 필드가 빌드 섹션에서 동일한 이름의 환경 변수를 재정의합니다.
Expand
이름
값 유형
선택 사항
설명
imageStreamName
string
제공되지 않음
사용자 정의 환경 변수를 제공하는 이미지 스트림 이름
imageStreamTags
string[]
제공되지 않음
지원되는 이미지 스트림 태그 목록
environments
ImageEnvironment[]
제공되지 않음
환경 변수 목록
console.dashboards/overview/detail/item
더 이상 사용되지 않습니다. 대신 CustomOverviewDetailItem 유형을 사용합니다.
Expand
이름
값 유형
선택 사항
설명
component
CodeRef<React.ComponentType<{}>>
제공되지 않음
DetailItem 구성 요소를 기반으로 하는 값
console.page/resource/tab
더 이상 사용되지 않습니다. 대신 console.tab/horizontalNav 를 사용합니다. 콘솔 라우터에 새 리소스 탭 페이지를 추가합니다.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Expand
매개변수 이름
설명
items
키: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>
</>
)
// 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>
</>
)
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Expand
매개변수 이름
설명
data
데이터 지점의 배열
loaded
데이터가 로드되었음을 나타냅니다.
onFilterChange
필터가 업데이트될 때의 콜백 함수
rowFilters
(선택 사항) 사용 가능한 필터 옵션을 정의하는 RowFilter 요소의 배열
nameFilterPlaceholder
(선택 사항) 이름 필터의 자리 표시자
labelFilterPlaceholder
(선택 사항) 라벨 필터의 자리 표시자
hideLabelFilter
(선택 사항) 이름 필터와 레이블 필터 대신 이름 필터만 표시합니다.
hideNameLabelFilter
(선택 사항) 이름 필터와 레이블 필터를 모두 숨깁니다.
columnLayout
(선택 사항) 열 레이아웃 오브젝트
hideColumnManagement
(선택 사항) 열 관리를 숨기는 플래그
useListPageFilter
ListPageFilter 구성 요소의 필터 상태를 관리하는 후크입니다. 모든 정적 필터, 모든 정적 및 행 필터로 필터링된 데이터, rowFilter를 업데이트하는 콜백이 포함된 튜플을 반환합니다.
예제
// 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>
</>
)
// 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>
</>
)
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Expand
매개변수 이름
설명
initResources
리소스는 키-값 쌍으로 조사해야 합니다. 여기서 키는 리소스에 고유하며 해당 리소스를 조사하는 데 필요한 옵션은 값입니다.
consoleFetch
콘솔 특정 헤더를 추가하고 재시도 및 타임아웃을 허용하는 fetch 에 대한 사용자 정의 래퍼를 사용하여 응답 상태 코드의 유효성을 검사하고 필요한 경우 적절한 오류를 발생시키거나 사용자를 로그아웃합니다. 응답에 해결되는 작업을 반환합니다.
Expand
매개변수 이름
설명
url
가져올 URL
options
가져오기를 위해 전달할 옵션
timeout
시간 초과(밀리초)
consoleFetchJSON
콘솔 특정 헤더를 추가하고 재시도 및 타임아웃을 허용하는 fetch 관련 사용자 정의 래퍼입니다. 또한 응답 상태 코드의 유효성을 검사하고 적절한 오류가 발생하거나 필요한 경우 사용자를 기록합니다. 응답을 JSON 오브젝트로 반환합니다. 내부적으로 consoleFetch 를 사용합니다. 응답에서 JSON 오브젝트로 확인되는 작업을 반환합니다.
Expand
매개변수 이름
설명
url
가져올 URL
method
사용할 HTTP 메서드입니다. 기본값은 GET입니다.
options
가져오기를 위해 전달할 옵션
timeout
시간 초과(밀리초)
cluster
요청할 클러스터의 이름입니다. 기본값은 사용자가 선택한 활성 클러스터입니다.
consoleFetchText
콘솔 특정 헤더를 추가하고 재시도 및 타임아웃을 허용하는 fetch 관련 사용자 정의 래퍼입니다. 또한 응답 상태 코드의 유효성을 검사하고 적절한 오류가 발생하거나 필요한 경우 사용자를 기록합니다. 응답을 텍스트로 반환합니다. 내부적으로 consoleFetch 를 사용합니다. 응답에 텍스트로 해결되는 작업을 반환합니다.
Expand
매개변수 이름
설명
url
가져올 URL
options
가져오기를 위해 전달할 옵션
timeout
시간 초과(밀리초)
cluster
요청할 클러스터의 이름입니다. 기본값은 사용자가 선택한 활성 클러스터입니다.
getConsoleRequestHeaders
현재 redux 상태를 사용하여 API 요청에 대해 가장 및 다중 클러스터 관련 헤더를 생성하는 함수입니다. redux 상태를 기준으로 적절한 가장 및 클러스터 요청 헤더가 포함된 개체를 반환합니다.
Expand
매개변수 이름
설명
targetCluster
제공된 targetCluster를 사용하여 현재 활성 클러스터 덮어쓰기
k8sGetResource
제공된 옵션에 따라 클러스터에서 리소스를 가져옵니다. 이름이 제공되면 하나의 리소스를 반환하고 다른 리소스는 모델과 일치하는 모든 리소스를 반환합니다. 이 명령은 이름이 모델에 일치하는 모든 리소스를 반환하는 경우 리소스가 포함된 JSON 오브젝트로 응답을 확인하는 것을 반환합니다. 실패하는 경우 HTTP 오류 응답을 사용하여 스키마가 거부됩니다.
Expand
매개변수 이름
설명
options
맵에서 키-값 쌍으로 전달되는 경우
options.model
k8s 모델
options.name
리소스가 제공되지 않은 경우 해당 이름과 일치하는 모든 리소스를 찾습니다.
options.ns
조사할 네임스페이스는 클러스터 범위 리소스에 지정되어서는 안 됩니다.
options.path
제공되는 경우 하위 경로로 첨부
options.queryParams
URL에 포함될 쿼리 매개변수입니다.
options.requestInit
사용할 fetch init 오브젝트입니다. 여기에는 요청 헤더, 메서드, 리디렉션 등이 있을 수 있습니다. 자세한 내용은 Interface RequestInit 에서 참조하십시오.
k8sCreateResource
제공된 옵션에 따라 클러스터에 리소스를 생성합니다. 생성된 리소스의 응답으로 확인되는 커밋을 반환합니다. 실패의 경우 HTTP 오류 응답을 사용하여 거부됩니다.
Expand
매개변수 이름
설명
options
맵에서 키-값 쌍으로 전달되는 경우
options.model
k8s 모델
options.data
생성할 리소스의 페이로드
options.path
제공되는 경우 하위 경로로 첨부
options.queryParams
URL에 포함될 쿼리 매개변수입니다.
k8sUpdateResource
providedoptions를 기반으로 클러스터의 전체 리소스를 업데이트합니다. 클라이언트가 기존 리소스를 완전히 교체해야 하는 경우 k8sUpdate를 사용할 수 있습니다. 또는 k8sPatch를 사용하여 부분 업데이트를 수행할 수 있습니다. 업데이트된 리소스의 응답으로 확인되는 커밋을 반환합니다. 실패의 경우 HTTP 오류 응답을 사용하여 거부됩니다.
Expand
매개변수 이름
설명
options
맵에서 키-값 쌍으로 전달되는 경우
options.model
k8s 모델
options.data
업데이트할 k8s 리소스의 페이로드
options.ns
조사할 네임스페이스는 클러스터 범위 리소스에 지정하지 않아야 합니다.
options.name
업데이트할 리소스 이름입니다.
options.path
제공되는 경우 하위 경로로 첨부
options.queryParams
URL에 포함될 쿼리 매개변수입니다.
k8sPatchResource
제공된 옵션에 따라 클러스터의 모든 리소스를 패치합니다. 클라이언트가 부분 업데이트를 수행해야 하는 경우 k8sPatch를 사용할 수 있습니다. 또는 k8sUpdate를 사용하여 기존 리소스를 완전히 교체할 수 있습니다. 자세한 내용은 데이터 추적기 를 참조하십시오. 패치된 리소스의 응답으로 확인되는 커밋을 반환합니다. 실패의 경우 HTTP 오류 응답을 사용하여 거부됩니다.
Expand
매개변수 이름
설명
options
맵에서 키-값 쌍으로 전달됩니다.
options.model
k8s 모델
options.resource
패치할 리소스입니다.
options.data
작업, 경로 및 값을 사용하여 기존 리소스에 패치할 데이터만 적용합니다.
options.path
제공되는 경우 하위 경로로 추가합니다.
options.queryParams
URL에 포함될 쿼리 매개변수입니다.
k8sDeleteResource
제공된 모델을 기반으로 클러스터에서 리소스를 삭제합니다. 가비지 컬렉션 작업은 Foreground|Background가 제공된 모델에서 propagationPolicy 속성을 사용하거나 json으로 전달할 수 있습니다. 상태 유형의 응답으로 확인되는 작업을 반환합니다. 실패의 경우 HTTP 오류 응답을 사용하여 거부됩니다.
{ editor?: istandaloneCodeEditor } 에 대한 참조에 대해 반응합니다. editor 속성을 사용하여 편집기를 제어하는 모든 메서드에 액세스할 수 있습니다. 자세한 내용은 Interface IStandaloneCodeEditor 를 참조하십시오.
ResourceYAMLEditor
커서 도움말 및 완료를 사용하여 Kubernetes 리소스에 대한 지연 로드 YAML 편집기입니다. 구성 요소에서는 YAMLEditor를 사용하고 리소스 업데이트 처리, 경고, 저장, 취소 및 다시 로드, 액세스 가능 등과 같은 기능을 더 많이 사용합니다. onSave 콜백이 제공되지 않는 한 리소스 업데이트가 자동으로 처리됩니다. React.Suspense 구성 요소에서 래핑해야 합니다.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Expand
매개변수 이름
설명
context
contextId 및 선택적 플러그인 데이터가 있는 오브젝트
NamespaceECDHE
왼쪽 위치에 네임스페이스 드롭다운 메뉴를 사용하여 수평 툴바를 렌더링하는 구성 요소입니다. 추가 구성 요소는 자식으로 전달될 수 있으며 네임스페이스 드롭다운 오른쪽에 렌더링됩니다. 이 구성 요소는 페이지 상단에서 사용하도록 설계되었습니다. k8s 리소스가 있는 페이지의 경우와 같이 사용자가 활성 네임스페이스를 변경할 수 있어야 하는 페이지에서 사용해야 합니다.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
Expand
매개변수 이름
설명
onNamespaceChange
(선택 사항) 네임스페이스 옵션을 선택할 때 실행되는 함수입니다. 새 네임스페이스를 유일한 인수로 문자열 형식으로 허용합니다. 활성 네임스페이스는 옵션이 선택될 때 자동으로 업데이트되지만 이 기능을 통해 추가 논리를 적용할 수 있습니다. 네임스페이스가 변경되면 URL의 namespace 매개변수가 이전 네임스페이스에서 새로 선택한 네임스페이스로 변경됩니다.
isDisabled
(선택 사항) true로 설정된 경우 네임스페이스 드롭다운을 비활성화하는 부울 플래그입니다. 이 옵션은 네임스페이스 드롭다운에만 적용되며 하위 구성 요소에는 영향을 미치지 않습니다.
children
(선택 사항) 도구 모음 내부에서 네임스페이스 드롭다운 오른쪽에 렌더링할 추가 요소를 추가합니다.
ErrorBoundaryFallbackPage
"Oh no!를 표시하려면 전체 페이지 ErrorBoundaryFallbackPage 구성 요소를 만듭니다. 스택 추적 및 기타 유용한 디버깅 정보와 함께 메시지가 잘못되었습니다. 이는 구성 요소와 함께 Inconjunction에 사용됩니다.
OpenShift Container Platform OperatorHub에 나열된 Web Terminal Operator를 사용하여 웹 터미널을 설치할 수 있습니다. Web Terminal Operator를 설치하면 DevWorkspace CRD와 같은 명령행 구성에 필요한 사용자 정의 리소스 정의(CRD)가 자동으로 설치됩니다. 웹 콘솔은 웹 터미널을 열 때 필요한 리소스를 생성합니다.
사전 요구 사항
OpenShift Container Platform 웹 콘솔에 로그인되어 있습니다.
클러스터 관리자 권한이 있어야 합니다.
프로세스
웹 콘솔의 관리자 화면에서 Operator → OperatorHub로 이동합니다.
키워드로 필터링 상자를 사용하여 카탈로그에서 Web Terminal Operator를 검색한 다음 Web Terminal 타일을 클릭합니다.
Web Terminal 페이지에서 Operator에 대한 간략한 설명을 확인하고Install을 클릭합니다.
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)에 의해 자동으로 처리됩니다.
웹 콘솔에서 포함된 명령줄 터미널 인스턴스를 시작할 수 있습니다. 이 터미널 인스턴스는 oc,kubectl,odo,kn,tkn,helm 및 subctl 과 같은 클러스터와 상호 작용하기 위한 일반적인 CLI 툴로 사전 설치됩니다. 또한 작업 중인 프로젝트의 컨텍스트도 포함되어 있으며 인증 정보를 사용하여 자동으로 로그인됩니다.
Web Terminal Operator가 설치되면 웹 터미널에 액세스할 수 있습니다. 웹 터미널이 초기화되면 oc,kubectl,odo,kn,tkn,helm 및 subctl 과 같은 사전 설치된 CLI 툴을 웹 터미널에서 사용할 수 있습니다. 터미널에서 실행한 명령 목록에서 명령을 선택하여 명령을 다시 실행할 수 있습니다. 이러한 명령은 여러 터미널 세션에 걸쳐 유지됩니다. 웹 터미널은 종료되거나 브라우저 창 또는 탭을 닫을 때까지 열린 상태로 유지됩니다.
사전 요구 사항
OpenShift Container Platform 클러스터에 액세스하고 웹 콘솔에 로그인되어 있습니다.
Web Terminal Operator가 클러스터에 설치되어 있습니다.
프로세스
웹 터미널을 시작하려면 콘솔 마스트 헤드에서 명령줄 터미널 아이콘(
)을 클릭합니다. 명령줄 터미널 창에 웹 터미널 인스턴스가 표시됩니다. 이 인스턴스는 사용자의 인증 정보를 사용하여 자동으로 로그인됩니다.
현재 세션에서 프로젝트를 선택하지 않은 경우 프로젝트 드롭다운 목록에서 DevWorkspace CR을 생성해야 하는 프로젝트를 선택합니다. 기본적으로 현재 프로젝트는 선택됩니다.
참고
하나의 DevWorkspace CR은 한 사용자의 웹 터미널을 정의합니다. 이 CR에는 사용자의 웹 터미널 상태 및 컨테이너 이미지 구성 요소에 대한 세부 정보가 포함되어 있습니다.
DevWorkspace CR은 아직 존재하지 않는 경우에만 생성됩니다.
openshift-terminal 프로젝트는 클러스터 관리자에게 사용되는 기본 프로젝트입니다. 다른 프로젝트를 선택할 수 있는 옵션이 없습니다. Web Terminal Operator는 DevWorkspace Operator를 종속성으로 설치합니다.
선택 사항: 현재 세션에 대한 웹 터미널 시간 제한을 설정합니다.
시간 초과를 클릭합니다.
표시되는 필드에 시간 초과 값을 입력합니다.
드롭다운 목록에서 Seconds,minutes,Hours 또는 Milliseconds의 시간 초과 간격을 선택합니다.
클러스터에 네트워크 정책이 구성된 경우 웹 터미널이 시작되지 않을 수 있습니다. 웹 터미널 인스턴스를 시작하려면 Web Terminal Operator가 웹 터미널의 pod와 통신하여 실행 중인지 확인해야 하며 OpenShift Container Platform 웹 콘솔에서 터미널 내의 클러스터에 자동으로 로그인할 수 있는 정보를 보내야 합니다. 두 단계 모두 실패하면 웹 터미널이 시작되지 않고 컨텍스트 데드라인 초과 오류가 발생할 때까지 터미널 패널이 로드 상태에 있습니다.
이 문제를 방지하려면 터미널에 사용되는 네임스페이스에 대한 네트워크 정책에서 openshift-console 및 openshift-operators 네임스페이스에서 수신을 허용하는지 확인합니다.
다음 샘플에서는 openshift-console 및 openshift-operators 네임스페이스에서 수신할 수 있는 NetworkPolicy 오브젝트를 보여줍니다.
Web Terminal Operator를 설치 제거해도 Operator를 설치할 때 생성된 CRD(사용자 정의 리소스 정의) 또는 관리 리소스는 제거되지 않습니다. 보안을 위해 이러한 구성 요소를 수동으로 제거해야 합니다. 이러한 구성 요소를 제거하면 Operator가 제거될 때 터미널이 유휴 상태가 되지 않기 때문에 클러스터 리소스를 저장합니다.
웹 터미널 설치 제거는 2단계로 수행됩니다.
Operator를 설치할 때 추가된 Web Terminal Operator 및 관련 사용자 지정 리소스(CR)를 제거합니다.
Web Terminal Operator의 종속성으로 추가된 DevWorkspace Operator 및 관련 사용자 정의 리소스를 설치 제거합니다.
...
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.
...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
Copy to ClipboardCopied!Toggle word wrapToggle overflow
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.'
...
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
...
Copy to ClipboardCopied!Toggle word wrapToggle overflow
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
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
Copy to ClipboardCopied!Toggle word wrapToggle overflow
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
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
Copy to ClipboardCopied!Toggle word wrapToggle overflow
...
spec:
description: 'Import a Spring Application from git, build, and deploy it onto OpenShift.'
displayName: Get started with Spring
durationMinutes: 10
icon: >-
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJMYXllcl8xIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMTUzZDNjO30uY2xzLTJ7ZmlsbDojZDhkYTlkO30uY2xzLTN7ZmlsbDojNThjMGE4O30uY2xzLTR7ZmlsbDojZmZmO30uY2xzLTV7ZmlsbDojM2Q5MTkxO308L3N0eWxlPjwvZGVmcz48dGl0bGU+c25vd2Ryb3BfaWNvbl9yZ2JfZGVmYXVsdDwvdGl0bGU+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAxMi42OSw1OTNjLTExLjEyLTM4LjA3LTMxLTczLTU5LjIxLTEwMy44LTkuNS0xMS4zLTIzLjIxLTI4LjI5LTM5LjA2LTQ3Ljk0QzgzMy41MywzNDEsNzQ1LjM3LDIzNC4xOCw2NzQsMTY4Ljk0Yy01LTUuMjYtMTAuMjYtMTAuMzEtMTUuNjUtMTUuMDdhMjQ2LjQ5LDI0Ni40OSwwLDAsMC0zNi41NS0yNi44LDE4Mi41LDE4Mi41LDAsMCwwLTIwLjMtMTEuNzcsMjAxLjUzLDIwMS41MywwLDAsMC00My4xOS0xNUExNTUuMjQsMTU1LjI0LDAsMCwwLDUyOCw5NS4yYy02Ljc2LS42OC0xMS43NC0uODEtMTQuMzktLjgxaDBsLTEuNjIsMC0xLjYyLDBhMTc3LjMsMTc3LjMsMCwwLDAtMzEuNzcsMy4zNSwyMDguMjMsMjA4LjIzLDAsMCwwLTU2LjEyLDE3LjU2LDE4MSwxODEsMCwwLDAtMjAuMjcsMTEuNzUsMjQ3LjQzLDI0Ny40MywwLDAsMC0zNi41NywyNi44MUMzNjAuMjUsMTU4LjYyLDM1NSwxNjMuNjgsMzUwLDE2OWMtNzEuMzUsNjUuMjUtMTU5LjUsMTcyLTI0MC4zOSwyNzIuMjhDOTMuNzMsNDYwLjg4LDgwLDQ3Ny44Nyw3MC41Miw0ODkuMTcsNDIuMzUsNTIwLDIyLjQzLDU1NC45LDExLjMxLDU5MywuNzIsNjI5LjIyLTEuNzMsNjY3LjY5LDQsNzA3LjMxLDE1LDc4Mi40OSw1NS43OCw4NTkuMTIsMTE4LjkzLDkyMy4wOWEyMiwyMiwwLDAsMCwxNS41OSw2LjUyaDEuODNsMS44Ny0uMzJjODEuMDYtMTMuOTEsMTEwLTc5LjU3LDE0My40OC0xNTUuNiwzLjkxLTguODgsNy45NS0xOC4wNSwxMi4yLTI3LjQzcTUuNDIsOC41NCwxMS4zOSwxNi4yM2MzMS44NSw0MC45MSw3NS4xMiw2NC42NywxMzIuMzIsNzIuNjNsMTguOCwyLjYyLDQuOTUtMTguMzNjMTMuMjYtNDkuMDcsMzUuMy05MC44NSw1MC42NC0xMTYuMTksMTUuMzQsMjUuMzQsMzcuMzgsNjcuMTIsNTAuNjQsMTE2LjE5bDUsMTguMzMsMTguOC0yLjYyYzU3LjItOCwxMDAuNDctMzEuNzIsMTMyLjMyLTcyLjYzcTYtNy42OCwxMS4zOS0xNi4yM2M0LjI1LDkuMzgsOC4yOSwxOC41NSwxMi4yLDI3LjQzLDMzLjQ5LDc2LDYyLjQyLDE0MS42OSwxNDMuNDgsMTU1LjZsMS44MS4zMWgxLjg5YTIyLDIyLDAsMCwwLDE1LjU5LTYuNTJjNjMuMTUtNjQsMTAzLjk1LTE0MC42LDExNC44OS0yMTUuNzhDMTAyNS43Myw2NjcuNjksMTAyMy4yOCw2MjkuMjIsMTAxMi42OSw1OTNaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzY0LjE1LDE4NS4yM2MxNy44OS0xNi40LDM0LjctMzAuMTUsNDkuNzctNDAuMTFhMjEyLDIxMiwwLDAsMSw2NS45My0yNS43M0ExOTgsMTk4LDAsMCwxLDUxMiwxMTYuMjdhMTk2LjExLDE5Ni4xMSwwLDAsMSwzMiwzLjFjNC41LjkxLDkuMzYsMi4wNiwxNC41MywzLjUyLDYwLjQxLDIwLjQ4LDg0LjkyLDkxLjA1LTQ3LjQ0LDI0OC4wNi0yOC43NSwzNC4xMi0xNDAuNywxOTQuODQtMTg0LjY2LDI2OC40MmE2MzAuODYsNjMwLjg2LDAsMCwwLTMzLjIyLDU4LjMyQzI3Niw2NTUuMzQsMjY1LjQsNTk4LDI2NS40LDUyMC4yOSwyNjUuNCwzNDAuNjEsMzExLjY5LDI0MC43NCwzNjQuMTUsMTg1LjIzWiIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTUyNy41NCwzODQuODNjODQuMDYtOTkuNywxMTYuMDYtMTc3LjI4LDk1LjIyLTIzMC43NCwxMS42Miw4LjY5LDI0LDE5LjIsMzcuMDYsMzEuMTMsNTIuNDgsNTUuNSw5OC43OCwxNTUuMzgsOTguNzgsMzM1LjA3LDAsNzcuNzEtMTAuNiwxMzUuMDUtMjcuNzcsMTc3LjRhNjI4LjczLDYyOC43MywwLDAsMC0zMy4yMy01OC4zMmMtMzktNjUuMjYtMTMxLjQ1LTE5OS0xNzEuOTMtMjUyLjI3QzUyNi4zMywzODYuMjksNTI3LDM4NS41Miw1MjcuNTQsMzg0LjgzWiIvPjxwYXRoIGNsYXNzPSJjbHMtNCIgZD0iTTEzNC41OCw5MDguMDdoLS4wNmEuMzkuMzksMCwwLDEtLjI3LS4xMWMtMTE5LjUyLTEyMS4wNy0xNTUtMjg3LjQtNDcuNTQtNDA0LjU4LDM0LjYzLTQxLjE0LDEyMC0xNTEuNiwyMDIuNzUtMjQyLjE5LTMuMTMsNy02LjEyLDE0LjI1LTguOTIsMjEuNjktMjQuMzQsNjQuNDUtMzYuNjcsMTQ0LjMyLTM2LjY3LDIzNy40MSwwLDU2LjUzLDUuNTgsMTA2LDE2LjU5LDE0Ny4xNEEzMDcuNDksMzA3LjQ5LDAsMCwwLDI4MC45MSw3MjNDMjM3LDgxNi44OCwyMTYuOTMsODkzLjkzLDEzNC41OCw5MDguMDdaIi8+PHBhdGggY2xhc3M9ImNscy01IiBkPSJNNTgzLjQzLDgxMy43OUM1NjAuMTgsNzI3LjcyLDUxMiw2NjQuMTUsNTEyLDY2NC4xNXMtNDguMTcsNjMuNTctNzEuNDMsMTQ5LjY0Yy00OC40NS02Ljc0LTEwMC45MS0yNy41Mi0xMzUuNjYtOTEuMThhNjQ1LjY4LDY0NS42OCwwLDAsMSwzOS41Ny03MS41NGwuMjEtLjMyLjE5LS4zM2MzOC02My42MywxMjYuNC0xOTEuMzcsMTY3LjEyLTI0NS42Niw0MC43MSw1NC4yOCwxMjkuMSwxODIsMTY3LjEyLDI0NS42NmwuMTkuMzMuMjEuMzJhNjQ1LjY4LDY0NS42OCwwLDAsMSwzOS41Nyw3MS41NEM2ODQuMzQsNzg2LjI3LDYzMS44OCw4MDcuMDUsNTgzLjQzLDgxMy43OVoiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik04ODkuNzUsOTA4YS4zOS4zOSwwLDAsMS0uMjcuMTFoLS4wNkM4MDcuMDcsODkzLjkzLDc4Nyw4MTYuODgsNzQzLjA5LDcyM2EzMDcuNDksMzA3LjQ5LDAsMCwwLDIwLjQ1LTU1LjU0YzExLTQxLjExLDE2LjU5LTkwLjYxLDE2LjU5LTE0Ny4xNCwwLTkzLjA4LTEyLjMzLTE3My0zNi42Ni0yMzcuNHEtNC4yMi0xMS4xNi04LjkzLTIxLjdjODIuNzUsOTAuNTksMTY4LjEyLDIwMS4wNSwyMDIuNzUsMjQyLjE5QzEwNDQuNzksNjIwLjU2LDEwMDkuMjcsNzg2Ljg5LDg4OS43NSw5MDhaIi8+PC9zdmc+Cg==
...
...spec:description:'Import a Spring Application from git, build, and deploy it onto OpenShift.'displayName: Get started with Spring
durationMinutes:10icon:>-
...
introduction: >-
**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
...
...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
...
Copy to ClipboardCopied!Toggle word wrapToggle overflow
웹 콘솔에서 CLI 코드 조각이 빠른 시작에 포함된 경우 실행할 수 있습니다. 이 기능을 사용하려면 Web Terminal Operator를 설치해야 합니다. Web Terminal Operator를 설치하지 않는 경우 웹 터미널에서 실행되는 웹 터미널 및 코드 조각 작업이 표시되지 않습니다. 또는 Web Terminal Operator가 설치되어 있는지 여부에 관계없이 코드 조각을 클립보드에 복사할 수 있습니다.
사용자가 Start를 클릭하면 퀵 스타트를 완료하기 위해 수행해야 하는 일련의 단계가 표시됩니다.
작업 단계를 작성할 때 다음과 같은 일반적인 지침을 따르십시오.
버튼 및 레이블에 대해 "Click"을 사용합니다. 체크 박스, 라디오 버튼, 드롭다운 메뉴에 "Select"를 사용합니다.
"Click on" 대신 "Click"을 사용합니다.
올바른 예:
Click OK.
Click OK.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
잘못된 예:
Click on the OK button.
Click on the OK button.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
사용자에게 관리자 및 개발자 화면 간의 이동 방법을 보여줍니다. 사용자가 이미 적절한 화면에 있는 경우에도 해당 사용자가 적절한 위치로 이동하는 방법에 대한 지침을 제공합니다.
예:
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.
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.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
"Location, action" 구조를 사용합니다. 사용자에게 수행할 작업을 지시하기 전에 이동해야하는 위치를 알려줍니다.
올바른 예:
In the node.js deployment, hover over the icon.
In the node.js deployment, hover over the icon.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
잘못된 예:
Hover over the icon in the node.js deployment.
Hover over the icon in the node.js deployment.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
제품의 용어에 대해서는 일관되게 대문자를 사용합니다.
메뉴 유형이나 목록을 드롭다운으로 지정해야 하는 경우 하이픈 없이 "dropdown"의 한 단어로 작성합니다.
사용자 작업과 제품 기능에 대한 추가 정보를 명확히 구분합니다.
사용자 작업:
Change the time range of the dashboard by clicking the dropdown menu and selecting time range.
Change the time range of the dashboard by clicking the dropdown menu and selecting time range.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
추가 정보:
To look at data in a specific time frame, you can change the time range of the dashboard.
To look at data in a specific time frame, you can change the time range of the dashboard.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
“오른쪽 상단 코너에서 아이콘을 클릭” 등과 같은 지시문을 사용하지 마십시오. UI 레이아웃을 변경할 때마다 지시문은 구식이 됩니다. 또한 다른 화면 크기를 가진 사용자에게 데스크탑 사용자의 지침이 정확하지 않을 수 있습니다. 대신 이름을 사용하여 특정 정보를 식별할 수 있도록 합니다.
올바른 예:
In the navigation menu, click Settings.
In the navigation menu, click Settings.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
잘못된 예:
In the left-hand menu, click Settings.
In the left-hand menu, click Settings.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
"회색 원형 클릭"과 같이 색상만으로 항목을 식별하지 마십시오. 색상으로만 항목을 식별하는 것은 시력 제한이 있는사용자, 특히 색맹인 사용자에게는 도움이 되지 않습니다. 대신 버튼 복사와 같이 이름 또는 복사를 사용하여 항목을 식별합니다.
올바른 예:
The success message indicates a connection.
The success message indicates a connection.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
잘못된 예:
The message with a green icon indicates a connection.
The message with a green icon indicates a connection.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
2 인칭을 일관되게 사용합니다:
올바른 예:
Set up your environment.
Set up your environment.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
잘못된 예:
Let's set up our environment.
Let's set up our environment.
Copy to ClipboardCopied!Toggle word wrapToggle overflow
사용자가 단계를 완료하면 Check your work 모듈이 표시됩니다. 이 모듈에서는 사용자에게 단계 결과에 대한 질문에 yes 또는 no의 답변을 입력하도록 하므로 사용자는 작업을 검토할 수 있습니다. 이 모듈의 경우, yes 또는 no 의 대답을 요구하는 질문 만 작성해야 합니다.
사용자가 Yes로 응답하면 체크 표시가 표시됩니다.
사용자가 No로 응답하면 필요에 따라 관련 문서에 대한 링크와 함께 오류 메시지가 표시됩니다. 그러면 사용자가 돌아가서 다시 시도할 수 있습니다.
클러스터 관리자는 OperatorHub를 사용하여 개발자를 위한 계층화된 제품 외부에서 사용자 지정을 제공하여 OpenShift Container Platform 웹 콘솔의 클러스터에 Operator를 설치할 수 있습니다. 예를 들어 Web Terminal Operator를 사용하면 클러스터와 상호 작용을 위한 일반적인 CLI 툴을 사용하여 브라우저에서 웹 터미널을 시작할 수 있습니다.
Red Hat OpenShift Lightspeed는 OpenShift Container Platform을 위한 강력한 인공 지능 가상 도우미입니다. OpenShift Lightspeed 기능은 OpenShift Container Platform 웹 콘솔의 자연 언어 인터페이스를 사용합니다.
이 초기 액세스 프로그램은 고객이 사용자 경험, 기능 및 기능, 문제가 발생한 문제에 대한 피드백을 제공하여 OpenShift Lightspeed가 출시되고 일반적으로 사용 가능하게 될 때 고객의 요구에 맞게 조정되도록 합니다.
Red Hat OpenShift Pipelines는 Kubernetes 리소스 기반의 클라우드 네이티브 CI/CD(연속 통합 및 연속 제공) 솔루션입니다. OpenShift Container Platform 웹 콘솔에서 OperatorHub를 사용하여 Red Hat OpenShift Pipelines Operator를 설치합니다. Operator가 설치되면 Pipeline 페이지에서 Pipeline 오브젝트를 생성하고 수정할 수 있습니다.
Red Hat OpenShift Serverless를 사용하면 개발자가 OpenShift Container Platform에서 서버리스 이벤트 기반 애플리케이션을 생성하고 배포할 수 있습니다. OpenShift Container Platform 웹 콘솔 OperatorHub를 사용하여 OpenShift Serverless Operator를 설치할 수 있습니다.
Red Hat Developer Hub는 간소화된 개발 환경을 경험하는 데 사용할 수 있는 플랫폼입니다. Red Hat Developer Hub는 중앙 집중식 소프트웨어 카탈로그에 의해 구동되며 마이크로 서비스 및 인프라에 효율성을 제공합니다. 이를 통해 제품 팀은 손상 없이 양질의 코드를 제공할 수 있습니다. 개발자 허브 설치 방법에 대한 자세한 내용은 퀵 스타트를 사용할 수 있습니다.
웹 콘솔은 Red Hat Developer Hub Operator 설치 방법에 대한 지침을 빠르게 시작할 수 있습니다.
사전 요구 사항
관리자 권한으로 OpenShift Container Platform 웹 콘솔에 로그인해야 합니다.
프로세스
관리자 화면의 개요 페이지에서 시작하기 리소스 타일에서 Operator를 사용하여 RHDH(Red Hat Developer Hub) 설치를 클릭합니다.
Operator를 사용하여 Red Hat Developer Hub를 설치하는 지침과 함께 퀵 스타트 창이 표시됩니다. Operator 설치, Red Hat Developer Hub 인스턴스를 생성하고 OpenShift 콘솔 애플리케이션 메뉴에 인스턴스를 추가하는 방법에 대한 빠른 시작 방법에 대한 지침을 따르십시오.
검증
표시된 애플리케이션 시작 관리자 링크를 클릭하여 애플리케이션 탭을 사용할 수 있는지 확인할 수 있습니다.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman 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 Software Collections 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.