3장. Dev Spaces 구성


이 섹션에서는 Red Hat OpenShift Dev Spaces의 구성 방법 및 옵션에 대해 설명합니다.

3.1. CheCluster 사용자 정의 리소스 이해

OpenShift Dev Spaces의 기본 배포는 Red Hat OpenShift Dev Spaces Operator에 의해 매개변수화된 CheCluster 사용자 정의 리소스로 구성됩니다.

CheCluster 사용자 정의 리소스는 Kubernetes 오브젝트입니다. CheCluster 사용자 정의 리소스 YAML 파일을 편집하여 구성할 수 있습니다. 이 파일에는 devWorkspace,cheServer,pluginRegistry,devfileRegistry,대시보드imagePuller 와 같은 각 구성 요소를 구성하는 섹션이 포함되어 있습니다.

Red Hat OpenShift Dev Spaces Operator는 CheCluster 사용자 정의 리소스를 OpenShift Dev Spaces 설치의 각 구성 요소에서 사용할 수 있는 구성 맵으로 변환합니다.

OpenShift 플랫폼은 각 구성 요소에 구성을 적용하고 필요한 Pod를 생성합니다. OpenShift가 구성 요소의 구성 변경을 감지하면 Pod를 적절하게 재시작합니다.

예 3.1. OpenShift Dev Spaces 서버 구성 요소의 기본 속성 구성

  1. cheServer 구성 요소 섹션에서 적절한 수정 사항을 사용하여 CheCluster 사용자 정의 리소스 YAML 파일을 적용합니다.
  2. Operator는 che ConfigMap 을 생성합니다.
  3. OpenShift는 ConfigMap 의 변경 사항을 감지하고 OpenShift Dev Spaces 포드를 다시 시작합니다.

3.1.1. dsc를 사용하여 설치 중에 CheCluster 사용자 정의 리소스 구성

적절한 구성으로 OpenShift Dev Spaces를 배포하려면 OpenShift Dev Spaces를 설치하는 동안 CheCluster 사용자 정의 리소스 YAML 파일을 편집합니다. 그렇지 않으면 OpenShift Dev Spaces 배포는 Operator에서 매개변수화된 기본 구성을 사용합니다.

사전 요구 사항

프로세스

  • 구성할 CheCluster 사용자 정의 리소스의 하위 집합이 포함된 che-operator-cr-patch.yaml YAML 파일을 생성합니다.

    spec:
      <component>:
          <property_to_configure>: <value>
  • OpenShift Dev Spaces를 배포하고 che-operator-cr-patch.yaml 파일에 설명된 변경 사항을 적용합니다.

    $ dsc server:deploy \
    --che-operator-cr-patch-yaml=che-operator-cr-patch.yaml \
    --platform <chosen_platform>

검증

  1. 구성된 속성의 값을 확인합니다.

    $ oc get configmap che -o jsonpath='{.data.<configured_property>}' \
    -n openshift-devspaces

3.1.2. CLI를 사용하여 CheCluster 사용자 정의 리소스 구성

OpenShift Dev Spaces의 실행 중인 인스턴스를 구성하려면 CheCluster 사용자 정의 리소스 YAML 파일을 편집합니다.

사전 요구 사항

  • OpenShift에서 OpenShift Dev Spaces의 인스턴스입니다.
  • 대상 OpenShift 클러스터에 대한 관리 권한이 있는 활성 oc 세션. CLI 시작하기를 참조하십시오.

프로세스

  1. 클러스터에서 CheCluster 사용자 정의 리소스를 편집합니다.

    $ oc edit checluster/devspaces -n openshift-devspaces
  2. 파일을 저장하고 종료하여 변경 사항을 적용합니다.

검증

  1. 구성된 속성의 값을 확인합니다.

    $ oc get configmap che -o jsonpath='{.data.<configured_property>}' \
    -n openshift-devspaces

3.1.3. CheCluster 사용자 정의 리소스 필드 참조

이 섹션에서는 CheCluster 사용자 정의 리소스를 사용자 정의하는 데 사용할 수 있는 모든 필드에 대해 설명합니다.

예 3.2. CheCluster 사용자 정의 리소스 최소 예.

apiVersion: org.eclipse.che/v2
kind: CheCluster
metadata:
  name: devspaces
  namespace: openshift-devspaces
spec:
  components: {}
  devEnvironments: {}
  networking: {}
표 3.1. 개발 환경 구성 옵션.
속성설명기본

containerBuildConfiguration

컨테이너 빌드 구성.

 

defaultComponents

DevWorkspaces에 적용되는 기본 구성 요소입니다. 이러한 기본 구성 요소는 구성 요소가 포함되지 않은 Devfile 때 사용해야 합니다.

 

defaultEditor

를 사용하여 만들 작업 공간에 대한 기본 편집기입니다. 플러그인 ID 또는 URI일 수 있습니다. 플러그인 ID에는 게시자/이름/버전 형식이 있어야 합니다. URI는 http:// 또는 https:// 에서 시작해야 합니다.

 

defaultNamespace

사용자의 기본 네임스페이스.

{ "autoProvision": true, "template": "<username>-che"}

defaultPlugins

DevWorkspaces에 적용되는 기본 플러그인입니다.

 

deploymentStrategy

DeploymentStrategy는 기존 작업 공간 Pod를 새로 교체하는 데 사용할 배포 전략을 정의합니다. 사용 가능한 배포 계층은 RecreateRollingUpdate 입니다. Recreate 배포 전략을 사용하면 새 작업 공간이 생성되기 전에 기존 작업 공간 포드가 종료됩니다. RollingUpdate 배포 전략을 사용하면 새 작업 공간 Pod가 생성되고 새 작업 공간 Pod가 준비 상태인 경우에만 기존 작업 공간 Pod가 삭제됩니다. 지정하지 않으면 기본 Recreate 배포 전략이 사용됩니다.

 

disableContainerBuildCapabilities

컨테이너 빌드 기능을 비활성화합니다. false (기본값)로 설정하면 devEnvironments.security.containerSecurityContext 필드가 무시되고 다음 컨테이너 SecurityContext가 적용됩니다. containerSecurityContext: allowPrivilegeEscalation: true capabilities: add: - SETGID - SETUID

 

gatewayContainer

GatewayContainer 구성

 

ignoredUnrecoverableEvents

IgnoredUnrecoverableEvents는 시작 중인 작업 공간 실패 여부를 결정할 때 무시해야 하는 Kubernetes 이벤트 이름 목록을 정의합니다. 이 옵션은 일시적인 클러스터 문제가 false-positives를 트리거하는 경우 사용해야 합니다(예: 클러스터가 FailedScheduling 이벤트가 발생하는 경우). 여기에 나열된 이벤트는 작업 공간 실패를 트리거하지 않습니다.

 

imagePullPolicy

imagePullPolicy는 DevWorkspace의 컨테이너에 사용되는 imagePullPolicy를 정의합니다.

 

maxNumberOfRunningWorkspacesPerUser

사용자당 실행 중인 최대 작업 공간 수입니다. 값 -1을 사용하면 사용자가 무제한의 작업 공간을 실행할 수 있습니다.

 

maxNumberOfWorkspacesPerUser

사용자가 유지할 수 있는 총 작업 공간 수(중지 및 실행 중) 수입니다. 값 -1을 사용하면 사용자가 무제한의 작업 공간을 유지할 수 있습니다.

-1

nodeSelector

노드 선택기는 작업 공간 Pod를 실행할 수 있는 노드를 제한합니다.

 

persistUserHome

PersistUserhome은 작업 영역에서 사용자 홈 디렉터리를 유지하기 위한 구성 옵션을 정의합니다.

 

podSchedulerName

작업 공간 Pod를 위한 Pod 스케줄러입니다. 지정하지 않으면 Pod 스케줄러가 클러스터의 기본 스케줄러로 설정됩니다.

 

projectCloneContainer

프로젝트 복제 컨테이너 구성입니다.

 

secondsOfInactivityBeforeIdling

작업 공간에 대한 유휴 시간(초)입니다. 이 시간 초과는 활동이 없는 경우 작업 공간이 유휴 상태가 되는 기간입니다. 비활성으로 인한 작업 공간 유휴 상태를 비활성화하려면 이 값을 -1로 설정합니다.

1800

secondsOfRunBeforeIdling

작업 공간에 대한 시간 초과를 초 단위로 실행합니다. 이 시간 초과는 작업 공간이 실행되는 최대 기간입니다. 작업 공간 실행 시간 초과를 비활성화하려면 이 값을 -1로 설정합니다.

-1

보안

작업 공간 보안 구성.

 

serviceAccount

작업 공간을 시작할 때 DevWorkspace Operator에서 사용하는 ServiceAccount입니다.

 

serviceAccountTokens

예상 볼륨으로 작업 공간 Pod에 마운트될 ServiceAccount 토큰 목록입니다.

 

startTimeoutSeconds

StartTimeoutSeconds는 자동으로 실패하기 전에 작업 공간을 시작하는 데 사용할 수 있는 최대 기간(초)을 결정합니다. 지정하지 않으면 기본값 300초(5분)가 사용됩니다.

300

storage

작업 공간 영구 스토리지.

{ "pvcStrategy": "per-user"}

허용 오차

작업 공간 Pod의 Pod 허용 오차는 작업 공간 Pod를 실행할 수 있는 위치를 제한합니다.

 

trustedCerts

신뢰할 수 있는 인증서 설정

 

user

사용자 구성.

 

workspacesPodAnnotations

WorkspacesPodAnnotations는 작업 공간 Pod에 대한 추가 주석을 정의합니다.

 
표 3.2. defaultNamespace 옵션.
속성설명기본

autoProvision

가 사용자 네임스페이스를 자동으로 생성할 수 있는지 여부를 나타냅니다. false로 설정하면 클러스터 관리자가 사용자 네임스페이스를 미리 생성해야 합니다.

true

템플릿

사용자 네임스페이스를 사전에 생성하지 않으면 이 필드는 첫 번째 작업 공간을 시작할 때 생성된 Kubernetes 네임스페이스를 정의합니다. < username > 및 < userid > 자리 표시자(예: che-workspace-<username>)를 사용할 수 있습니다.

"<username>-che"

표 3.3. defaultPlugins 옵션.
속성설명기본

편집기

기본 플러그인을 지정할 편집기 ID입니다. 플러그인 ID에는 게시자/이름/버전 형식이 있어야 합니다.

 

plugins

지정된 편집기의 기본 플러그인 URI입니다.

 
표 3.4. gatewayContainer 옵션.
속성설명기본

env

컨테이너에서 설정할 환경 변수 목록입니다.

 

image

컨테이너 이미지. Operator에서 제공하는 기본 컨테이너 이미지를 사용하도록 생략하거나 비워 둡니다.

 

imagePullPolicy

이미지 가져오기 정책. 기본값은 항상 Night ly,next 또는 latest 이미지의 경우 및 IfNotPresent 입니다.

 

name

컨테이너 이름.

 

resources

이 컨테이너에 필요한 컴퓨팅 리소스입니다.

 
표 3.5. 스토리지 옵션.
속성설명기본

perUserStrategyPvcConfig

사용자 PVC 전략을 사용할 때 PVC 설정입니다.

 

perWorkspaceStrategyPvcConfig

작업 공간 PVC 전략을 사용할 때 PVC 설정입니다.

 

pvcStrategy

OpenShift Dev Spaces 서버의 영구 볼륨 클레임 전략입니다. 지원되는 전략은 사용자별 (한 볼륨의 모든 작업 공간 PVC), 작업 공간 당(각 작업 공간에는 개별 PVC가 지정됨) 및 임시 (작업 공간이 중지될 때 로컬 변경 사항이 손실되는 비영구 스토리지)입니다.

"per-user"

표 3.6. 사용자별 PVC 전략 옵션.
속성설명기본

claimSize

영구 볼륨 클레임 크기. 클레임 크기를 업데이트하려면 크기 조정을 지원해야 하는 스토리지 클래스입니다.

 

storageClass

영구 볼륨 클레임의 스토리지 클래스입니다. 생략하거나 비워 두면 기본 스토리지 클래스가 사용됩니다.

 
표 3.7. 작업별 PVC 전략 옵션.
속성설명기본

claimSize

영구 볼륨 클레임 크기. 클레임 크기를 업데이트하려면 크기 조정을 지원해야 하는 스토리지 클래스입니다.

 

storageClass

영구 볼륨 클레임의 스토리지 클래스입니다. 생략하거나 비워 두면 기본 스토리지 클래스가 사용됩니다.

 
표 3.8. trustedCerts 옵션.
속성설명기본

gitTrustedCertsConfigMapName

ConfigMap에는 OpenShift Dev Spaces 구성 요소로 전파하고 Git에 대한 특정 구성을 제공하는 인증서가 포함되어 있습니다. https://www.eclipse.org/che/docs/stable/administration-guide/deploying-che-with-support-for-git-repositories-with-self-signed-certificates/ ConfigMap에는 app.kubernetes.io/part-of=che.eclipse.org 레이블이 있어야 합니다.

 
표 3.9. containerBuildConfiguration options.
속성설명기본

openShiftSecurityContextConstraint

컨테이너를 빌드하는 OpenShift 보안 컨텍스트 제약 조건입니다.

"container-build"

표 3.10. OpenShift Dev Spaces 구성 요소 구성.
속성설명기본

cheServer

OpenShift Dev Spaces 서버와 관련된 일반 구성 설정

{ "debug": false, "logLevel": "INFO"}

대시보드

OpenShift Dev Spaces 설치에서 사용하는 대시보드와 관련된 구성 설정입니다.

 

devWorkspace

DevWorkspace Operator 구성.

 

devfileRegistry

OpenShift Dev Spaces 설치에서 사용하는 devfile 레지스트리와 관련된 구성 설정

 

imagePuller

Kubernetes 이미지 가져오기 구성.

 

메트릭

OpenShift Dev Spaces 서버 지표 구성.

{ "enable": true}

pluginRegistry

OpenShift Dev Spaces 설치에서 사용하는 플러그인 레지스트리와 관련된 구성 설정

 
표 3.11. OpenShift Dev Spaces 서버 구성 요소와 관련된 일반 구성 설정
속성설명기본

Clusterroles

OpenShift Dev Spaces ServiceAccount에 할당된 추가 ClusterRoles. 각 역할에는 app.kubernetes.io/part-of=che.eclipse.org 레이블이 있어야 합니다. 기본값은 - < devspaces-namespace>-cheworkspaces-clusterrole - < devspaces-namespace>-cheworkspaces-namespaces-clusterrole - < devspaces-namespace>-cheworkspaces-devworkspace-clusterrole 입니다. 여기서 <devspaces-namespace>는 CheCluster CR이 생성되는 네임스페이스입니다. OpenShift Dev Spaces Operator는 이미 이러한 ClusterRoles에 있는 모든 권한을 부여해야 합니다.

 

debug

OpenShift Dev Spaces 서버의 디버그 모드를 활성화합니다.

false

배포

배포 덮어쓰기 옵션.

 

extraProperties

CheCluster CR(사용자 정의 리소스)의 다른 필드에서 이미 생성된 값 외에도 OpenShift Dev Spaces 서버에서 사용할 생성된 che ConfigMap에 적용된 추가 환경 변수 맵입니다. extraProperties 필드에 다른 CR 필드에서 che ConfigMap에 일반적으로 생성된 속성이 포함된 경우 extraProperties 에 정의된 값이 대신 사용됩니다.

 

logLevel

OpenShift Dev Spaces 서버의 로그 수준: INFO 또는 DEBUG.

"INFO"

proxy

Kubernetes 클러스터의 프록시 서버 설정 OpenShift 클러스터에 추가 구성이 필요하지 않습니다. OpenShift 클러스터에 대한 이러한 설정을 지정하면 OpenShift 프록시 구성을 덮어씁니다.

 
표 3.12. 프록시 옵션.
속성설명기본

credentialsSecretName

프록시 서버의 사용자암호 가 포함된 시크릿 이름입니다. 시크릿에는 app.kubernetes.io/part-of=che.eclipse.org 레이블이 있어야 합니다.

 

nonProxyHosts

프록시를 바이패스하여 직접 연결할 수 있는 호스트 목록입니다. 와일드카드 도메인을 사용하여 .<DOMAIN > 양식을 지정합니다. 예를 들어 - localhost - 127.0.0.1 - my.host.com - 123.42.12.32 프록시 구성이 필요한 경우에만 사용합니다. Operator는 OpenShift 클러스터 전체 프록시 구성을 준수하여 사용자 정의 리소스에서 nonProxyHosts 를 정의하면 클러스터 프록시 구성에서 비프록시 호스트 목록과 사용자 정의 리소스에 정의된 호스트 목록이 병합됩니다. 다음 페이지를 참조하십시오. https://docs.openshift.com/container-platform/latest/networking/enable-cluster-wide-proxy.html. 일부 프록시 구성에서 localhost는 127.0.0.1로 변환되지 않을 수 있습니다. 이 경우 localhost와 127.0.0.1을 모두 지정해야 합니다.

 

port

프록시 서버 포트.

 

url

프록시 서버의 URL(protocol+hostname)입니다. 프록시 구성이 필요한 경우에만 사용합니다. Operator는 OpenShift 클러스터 전체 프록시 구성을 준수하여 사용자 정의 리소스에서 url 을 정의하면 클러스터 프록시 구성을 덮어씁니다. 다음 페이지를 참조하십시오. https://docs.openshift.com/container-platform/latest/networking/enable-cluster-wide-proxy.html.

 
표 3.13. OpenShift Dev Spaces 설치에서 사용하는 플러그인 레지스트리 구성 요소와 관련된 구성 설정
속성설명기본

배포

배포 덮어쓰기 옵션.

 

disableInternalRegistry

내부 플러그인 레지스트리를 비활성화합니다.

 

externalPluginRegistries

외부 플러그인 레지스트리.

 

openVSXURL

VSX 레지스트리 URL을 엽니다. 포함된 인스턴스를 생략하면 사용됩니다.

 
표 3.14. externalPluginRegistries options.
속성설명기본

url

플러그인 레지스트리의 공용 URL입니다.

 
표 3.15. OpenShift Dev Spaces 설치에서 사용하는 Devfile 레지스트리 구성 요소와 관련된 구성 설정
속성설명기본

배포

더 이상 사용되지 않는 배포 덮어쓰기 옵션

 

disableInternalRegistry

내부 devfile 레지스트리를 비활성화합니다.

 

externalDevfileRegistries

즉시 사용 가능한 샘플 devfile을 제공하는 외부 devfile 레지스트리입니다.

 
표 3.16. externalDevfileRegistries options.
속성설명기본

url

즉시 사용할 수 있는 devfile 샘플에 서비스를 제공하는 devfile 레지스트리의 공개 기관.

 
표 3.17. OpenShift Dev Spaces 설치에서 사용하는 대시보드 구성 요소와 관련된 구성 설정입니다.
속성설명기본

브랜딩

대시보드 브랜딩 리소스.

 

배포

배포 덮어쓰기 옵션.

 

headerMessage

대시보드 헤더 메시지.

 

logLevel

대시보드의 로그 수준입니다.

"ERROR"

표 3.18. headerMessage 옵션.
속성설명기본

표시

메시지를 표시하도록 대시보드에 지시합니다.

 

text

사용자 대시보드에 경고 메시지가 표시됩니다.

 
표 3.19. Kubernetes 이미지 가져오기 구성 요소 구성입니다.
속성설명기본

enable

커뮤니티 지원 Kubernetes Image Puller Operator를 설치하고 구성합니다. 사양을 제공하지 않고 값을 true 로 설정하면 Operator에서 관리하는 기본 Kubernetes Image Puller 오브젝트가 생성됩니다. 값을 false 로 설정하면 Kubernetes Image Puller 오브젝트가 삭제되고 사양이 제공되었는지 여부에 관계없이 Operator가 제거됩니다. spec.images 필드를 비워 두면 권장되는 작업 공간 관련 이미지 세트가 자동으로 감지되고 설치 후 미리 가져옵니다. 이 Operator와 해당 동작은 커뮤니티 지원이지만 해당 페이로드는 상업적으로 지원되는 이미지를 가져오는 데 상업적으로 지원될 수 있습니다.

 

spec

CheCluster에서 이미지 풀러를 구성하는 Kubernetes 이미지 Puller 사양입니다.

 
표 3.20. OpenShift Dev Spaces 서버 지표 구성 요소 구성 요소.
속성설명기본

enable

OpenShift Dev Spaces 서버 엔드포인트에 대한 지표 를 활성화합니다.

true

표 3.21. 사용자가 원격 Git 리포지토리에서 작업할 수 있는 구성 설정입니다.
속성설명기본

azure

사용자가 Azure DevOps Service(dev.azure.com)에서 호스팅되는 리포지토리를 사용할 수 있습니다.

 

Bitbucket

사용자가 Bitbucket(bitbucket.org 또는 자체 호스팅)에서 호스팅되는 리포지토리를 사용할 수 있습니다.

 

github

사용자가 GitHub에서 호스팅되는 리포지토리(github.com 또는 GitHub Enterprise)로 작업할 수 있습니다.

 

gitlab

사용자가 GitLab(gitlab.com 또는 자체 호스팅)에서 호스팅되는 리포지토리를 사용할 수 있습니다.

 
표 3.22. GitHub 옵션.
속성설명기본

disableSubdomainIsolation

하위 도메인 격리를 비활성화합니다. 더 이상 사용되지 않는 che.eclipse.org/scm-github-disable-subdomain-isolation 주석입니다. 자세한 내용은 다음 페이지를 참조하십시오. https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-github/.

 

endpoint

GitHub 서버 엔드 포인트 URL. 더 이상 사용되지 않는 che.eclipse.org/scm-server-endpoint 주석입니다. 자세한 내용은 다음 페이지를 참조하십시오. https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-github/.

 

secretName

base64로 인코딩된 GitHub OAuth 클라이언트 ID 및 GitHub OAuth 클라이언트 시크릿이 포함된 Kubernetes 시크릿입니다. 자세한 내용은 다음 페이지를 참조하십시오. https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-github/.

 
표 3.23. GitLab 옵션.
속성설명기본

endpoint

GitLab 서버 엔드 포인트 URL. 더 이상 사용되지 않는 che.eclipse.org/scm-server-endpoint 주석입니다. 다음 페이지를 참조하십시오. https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-gitlab/.

 

secretName

base64로 인코딩된 GitHub 애플리케이션 ID 및 GitLab Application Client 시크릿이 포함된 Kubernetes 시크릿입니다. 다음 페이지를 참조하십시오. https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-gitlab/.

 
표 3.24. Bitbucket 옵션.
속성설명기본

endpoint

Bitbucket 서버 끝점 URL. 더 이상 사용되지 않는 che.eclipse.org/scm-server-endpoint 주석입니다. 다음 페이지를 참조하십시오. https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-1-for-a-bitbucket-server/.

 

secretName

base64로 인코딩된 Bitbucket OAuth 1.0 또는 OAuth 2.0 데이터가 포함된 Kubernetes 시크릿입니다. 자세한 내용은 다음 페이지를 참조하십시오. https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-1-for-a-bitbucket-server/https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-the-bitbucket-cloud/.

 
표 3.25. Azure 옵션.
속성설명기본

secretName

base64로 인코딩된 Azure DevOps 서비스 애플리케이션 ID 및 클라이언트 시크릿이 포함된 Kubernetes 시크릿입니다. 다음 페이지를 참조하십시오. https://www.eclipse.org/che/docs/stable/administration-guide/configuring-oauth-2-for-microsoft-azure-devops-services

 
표 3.26. 네트워킹, OpenShift Dev Spaces 인증 및 TLS 구성.
속성설명기본

annotations

Ingress(OpenShift 플랫폼의 경로)에 설정할 주석을 정의합니다. kubernetes 플랫폼의 기본값은 kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/proxy-read-timeout: "3600", nginx.ingress.kubernetes.io/proxy-connect-timeout: "3600", nginx.ingress.kubernetes.io/ssl-redirect: "true"입니다.

 

auth

인증 설정.

{ "gateway": { "configLabels": { "app": "che", "component": "che-gateway-config" } }}

domain

OpenShift 클러스터의 경우 Operator는 도메인을 사용하여 경로의 호스트 이름을 생성합니다. 생성된 호스트 이름은 che-<devspaces-namespace>.<domain>이라는 패턴을 따릅니다. <devspaces-namespace>는 CheCluster CRD가 생성되는 네임스페이스입니다. 레이블과 함께 기본이 아닌 Ingress 컨트롤러에서 제공하는 경로를 생성합니다. Kubernetes 클러스터의 경우 글로벌 인그레스 도메인이 포함되어 있습니다. 기본값이 없습니다. 이 값을 지정해야 합니다.

 

hostname

설치된 OpenShift Dev Spaces 서버의 공개 호스트 이름입니다.

 

ingressClassName

IngressClassName은 IngressClass 클러스터 리소스의 이름입니다. 클래스 이름이 IngressClassName 필드와 kubernetes.io/ingress.class 주석 모두에 정의된 경우 IngressClassName 필드가 우선합니다.

 

labels

Ingress(OpenShift 플랫폼의 경로)에 설정할 레이블을 정의합니다.

 

tlsSecretName

Ingress TLS 종료를 설정하는 데 사용되는 시크릿의 이름입니다. 필드가 빈 문자열인 경우 기본 클러스터 인증서가 사용됩니다. 시크릿에는 app.kubernetes.io/part-of=che.eclipse.org 레이블이 있어야 합니다.

 
표 3.27. 인증 옵션.
속성설명기본

advancedAuthorization

사전 인증 설정 Che에 액세스할 수 있는 사용자 및 그룹을 결정합니다. 사용자가 allowUsers 목록에 있거나 allowGroups 목록의 그룹 멤버인 경우 OpenShift Dev Spaces에 액세스할 수 있으며 denyUsers 목록도 denyGroups 목록의 멤버가 아닌 경우 OpenShift Dev Spaces에 액세스할 수 있습니다. allowUsersallowGroups 가 비어 있으면 모든 사용자가 Che에 액세스할 수 있습니다. denyUsersdenyGroups 가 비어 있으면 Che에 액세스할 수 없는 사용자는 없습니다.

 

gateway

게이트웨이 설정.

{ "configLabels": { "app": "che", "component": "che-gateway-config" }}

identityProviderURL

ID 공급자 서버의 공용 URL입니다.

 

identityToken

업스트림으로 전달할 ID 토큰입니다. id_tokenaccess_token 의 두 가지 유형이 지원됩니다. 기본값은 id_token 입니다. 이 필드는 Kubernetes용으로 만든 OpenShift Dev Spaces 설치에만 해당하며 OpenShift에서만 무시됩니다.

 

oAuthAccessTokenInactivityTimeoutSeconds

OpenShift 측에 ID 페더레이션을 설정하는 데 사용되는 OpenShift OAuthClient 리소스에서 설정할 토큰의 비활성 타임아웃입니다. 0은 이 클라이언트의 토큰이 시간 초과되지 않음을 의미합니다.

 

oAuthAccessTokenMaxAgeSeconds

OpenShift 측에 ID 페더레이션을 설정하는 데 사용되는 OpenShift OAuthClient 리소스에 토큰을 설정하는 데 사용할 토큰의 최대 기간에 액세스합니다. 0은 만료를 의미합니다.

 

oAuthClientName

OpenShift 측에 ID 페더레이션을 설정하는 데 사용되는 OpenShift OAuthClient 리소스의 이름입니다.

 

oAuthScope

액세스 토큰 범위. 이 필드는 Kubernetes용으로 만든 OpenShift Dev Spaces 설치에만 해당하며 OpenShift에서만 무시됩니다.

 

oAuthSecret

OpenShift 측에 ID 페더레이션을 설정하는 데 사용되는 OpenShift OAuthClient 리소스에 설정된 시크릿의 이름입니다. Kubernetes의 경우 일반 텍스트 oAuthSecret 값 또는 키 oAuthSecret 이 포함된 kubernetes 시크릿의 이름일 수 있으며 값은 보안입니다. 참고: 이 시크릿은 CheCluster 리소스와 동일한 네임스페이스에 있어야 하며 app.kubernetes.io/part-of=che.eclipse.org 레이블을 포함해야 합니다.

 
표 3.28. 게이트웨이 옵션.
속성설명기본

configLabels

게이트웨이 구성 레이블입니다.

{ "app": "che", "component": "che-gateway-config"}

배포

배포 덮어쓰기 옵션. 게이트웨이 배포는 여러 컨테이너로 구성되므로, 구성에서 이름별로 구분해야 합니다. - gateway - configbump - oauth-proxy - kube-rbac-proxy

 

kubeRbacProxy

OpenShift Dev Spaces 게이트웨이 Pod 내에서 kube-rbac-proxy 구성

 

oAuthProxy

OpenShift Dev Spaces 게이트웨이 포드 내에서 oauth-proxy 구성

 

traefik

OpenShift Dev Spaces 게이트웨이 포드 내에서 Restoreefik 구성

 
표 3.29. OpenShift Dev Spaces 이미지를 저장하는 대체 레지스트리 구성.
속성설명기본

hostname

이미지를 가져올 대체 컨테이너 레지스트리의 선택적 호스트 이름 또는 URL입니다. 이 값은 OpenShift Dev Spaces 배포와 관련된 모든 기본 컨테이너 이미지에 정의된 컨테이너 레지스트리 호스트 이름을 재정의합니다. 이는 제한된 환경에 OpenShift Dev Space를 설치하는 데 특히 유용합니다.

 

조직

이미지를 가져올 대체 레지스트리의 선택적 리포지토리 이름입니다. 이 값은 OpenShift Dev Spaces 배포와 관련된 모든 기본 컨테이너 이미지에 정의된 컨테이너 레지스트리 조직을 재정의합니다. 이는 제한된 환경에 OpenShift Dev Space를 설치하는 데 특히 유용합니다.

 
표 3.30. 배포 옵션.
속성설명기본

컨테이너

Pod에 속하는 컨테이너 목록입니다.

 

securityContext

Pod를 사용하여 실행해야 하는 보안 옵션입니다.

 
표 3.31. 컨테이너 옵션.
속성설명기본

env

컨테이너에서 설정할 환경 변수 목록입니다.

 

image

컨테이너 이미지. Operator에서 제공하는 기본 컨테이너 이미지를 사용하도록 생략하거나 비워 둡니다.

 

imagePullPolicy

이미지 가져오기 정책. 기본값은 항상 Night ly,next 또는 latest 이미지의 경우 및 IfNotPresent 입니다.

 

name

컨테이너 이름.

 

resources

이 컨테이너에 필요한 컴퓨팅 리소스입니다.

 
표 3.32. 컨테이너 옵션.
속성설명기본

limits

허용되는 최대 컴퓨팅 리소스 양을 설명합니다.

 

요청

필요한 최소 컴퓨팅 리소스 양을 설명합니다.

 
표 3.33. 요청 옵션.
속성설명기본

cpu

CPU(코어)입니다. (500m = .5 cores) 값을 지정하지 않으면 구성 요소에 따라 기본값이 설정됩니다. value가 0 이면 구성 요소에 대한 값이 설정되지 않습니다.

 

memory

메모리(바이트)입니다. (500GI = 500GiB = 500 * 1024 * 1024 * 1024) 값을 지정하지 않으면 구성 요소에 따라 기본값이 설정됩니다. value가 0 이면 구성 요소에 대한 값이 설정되지 않습니다.

 
표 3.34. 제한 옵션.
속성설명기본

cpu

CPU(코어)입니다. (500m = .5 cores) 값을 지정하지 않으면 구성 요소에 따라 기본값이 설정됩니다. value가 0 이면 구성 요소에 대한 값이 설정되지 않습니다.

 

memory

메모리(바이트)입니다. (500GI = 500GiB = 500 * 1024 * 1024 * 1024) 값을 지정하지 않으면 구성 요소에 따라 기본값이 설정됩니다. value가 0 이면 구성 요소에 대한 값이 설정되지 않습니다.

 
표 3.35. securityContext options.
속성설명기본

fsGroup

Pod의 모든 컨테이너에 적용되는 특수 추가 그룹입니다. 기본값은 1724 입니다.

 

runAsUser

컨테이너 프로세스의 진입점을 실행하는 UID입니다. 기본값은 1724 입니다.

 
표 3.36. CheCluster 사용자 정의 리소스 상태는 OpenShift Dev Spaces 설치의 관찰 상태를 정의합니다.
속성설명기본

chePhase

OpenShift Dev Spaces 배포의 현재 단계를 지정합니다.

 

cheURL

OpenShift Dev Spaces 서버의 공개 URL입니다.

 

cheVersion

현재 설치된 OpenShift Dev Spaces 버전입니다.

 

devfileRegistryURL

내부 devfile 레지스트리의 공용 URL을 더 이상 사용되지 않습니다.

 

gatewayPhase

게이트웨이 배포의 현재 단계를 지정합니다.

 

message

OpenShift Dev Spaces 배포가 현재 단계에 있는 이유에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다.

 

pluginRegistryURL

내부 플러그인 레지스트리의 공용 URL입니다.

 

reason

OpenShift Dev Spaces 배포가 현재 단계에 있는 이유에 대한 세부 정보를 나타내는 간략한 CamelCase 메시지입니다.

 

workspaceBaseDomain

확인된 작업 공간 기본 도메인입니다. 사양에서 명시적으로 정의된 동일한 이름의 속성 사본이거나 사양에 정의되지 않고 OpenShift에서 실행 중인 경우 경로의 basedomain이 자동으로 확인됩니다.

 
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.