3.3. 서버 구성 요소 구성


3.3.1. 보안 또는 ConfigMap을 파일 또는 환경 변수로 Red Hat OpenShift Dev Spaces 컨테이너에 마운트

Secret은 다음과 같은 중요한 데이터를 저장하는 OpenShift 오브젝트입니다.

  • 사용자 이름
  • 암호
  • 인증 토큰

암호화된 형태로 제공됩니다.

사용자는 다음과 같이 OpenShift Dev Spaces 관리 컨테이너에 구성이 포함된 중요한 데이터 또는 ConfigMap이 포함된 OpenShift 보안을 마운트할 수 있습니다.

  • 파일
  • 환경 변수

마운트 프로세스에서는 표준 OpenShift 마운트 메커니즘을 사용하지만 추가 주석과 레이블이 필요합니다.

3.3.1.1. OpenShift Dev Spaces 컨테이너에 파일로 시크릿 또는 ConfigMap 마운트

사전 요구 사항

  • Red Hat OpenShift Dev Spaces의 실행 중인 인스턴스.

프로세스

  1. OpenShift Dev Spaces가 배포된 OpenShift 프로젝트에서 새 OpenShift Secret 또는 ConfigMap을 생성합니다. 생성하려는 오브젝트의 레이블은 레이블 세트와 일치해야 합니다.

    • app.kubernetes.io/part-of: che.eclipse.org
    • app.kubernetes.io/component: <DEPLOYMENT_NAME>-<OBJECT_KIND>
    • & lt;DEPLOYMENT_NAME >은 다음 배포에 해당합니다.

      • devspaces-dashboard
      • devfile-registry
      • plugin-registry
      • devspaces

    • & lt;OBJECT_KIND> 는 다음 중 하나입니다.

      • Secret

        또는

      • configmap

예 3.4. 예제:

apiVersion: v1
kind: Secret
metadata:
  name: custom-settings
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-secret
...

또는

apiVersion: v1
kind: ConfigMap
metadata:
  name: custom-settings
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-configmap
...
  1. 주석 값을 구성합니다. 주석은 지정된 오브젝트가 파일로 마운트되었음을 나타냅니다.

    • Che.eclipse.org/mount-as: file - 오브젝트가 파일로 마운트됨을 나타냅니다.
    • Che.eclipse.org/mount-path: < TARGET_PATH > - 필요한 마운트 경로를 제공합니다.

예 3.5. 예제:

apiVersion: v1
kind: Secret
metadata:
  name: custom-data
  annotations:
    che.eclipse.org/mount-as: file
    che.eclipse.org/mount-path: /data
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-secret
...

또는

apiVersion: v1
kind: ConfigMap
metadata:
  name: custom-data
  annotations:
    che.eclipse.org/mount-as: file
    che.eclipse.org/mount-path: /data
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-configmap
...

OpenShift 오브젝트에는 이름이 컨테이너에 마운트된 원하는 파일 이름과 일치해야 하는 여러 항목이 포함될 수 있습니다.

예 3.6. 예제:

apiVersion: v1
kind: Secret
metadata:
  name: custom-data
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-secret
  annotations:
    che.eclipse.org/mount-as: file
    che.eclipse.org/mount-path: /data
data:
  ca.crt: <base64 encoded data content here>

또는

apiVersion: v1
kind: ConfigMap
metadata:
  name: custom-data
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-configmap
  annotations:
    che.eclipse.org/mount-as: file
    che.eclipse.org/mount-path: /data
data:
  ca.crt: <data content here>

그러면 ca.crt 라는 파일이 OpenShift Dev Spaces 컨테이너의 /data 경로에 마운트됩니다.

중요

OpenShift Dev Spaces 컨테이너를 변경하려면 Secret 또는 ConfigMap 오브젝트를 완전히 다시 생성합니다.

3.3.1.2. OpenShift Dev Spaces 컨테이너에 하위 경로로 시크릿 또는 ConfigMap 마운트

사전 요구 사항

  • Red Hat OpenShift Dev Spaces의 실행 중인 인스턴스.

프로세스

  1. OpenShift Dev Spaces가 배포된 OpenShift 프로젝트에서 새 OpenShift Secret 또는 ConfigMap을 생성합니다. 생성하려는 오브젝트의 레이블은 레이블 세트와 일치해야 합니다.

    • app.kubernetes.io/part-of: che.eclipse.org
    • app.kubernetes.io/component: <DEPLOYMENT_NAME>-<OBJECT_KIND>
    • & lt;DEPLOYMENT_NAME >은 다음 배포에 해당합니다.

      • devspaces-dashboard
      • devfile-registry
      • plugin-registry
      • devspaces

    • & lt;OBJECT_KIND> 는 다음 중 하나입니다.

      • Secret

        또는

      • configmap

예 3.7. 예제:

apiVersion: v1
kind: Secret
metadata:
  name: custom-settings
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-secret
...

또는

apiVersion: v1
kind: ConfigMap
metadata:
  name: custom-settings
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-configmap
...
  1. 주석 값을 구성합니다. 주석은 지정된 오브젝트가 하위 경로로 마운트되었음을 나타냅니다.

    • Che.eclipse.org/mount-as: subpath - 오브젝트가 subPath로 마운트됨을 나타냅니다.
    • Che.eclipse.org/mount-path: < TARGET_PATH > - 필요한 마운트 경로를 제공합니다.

예 3.8. 예제:

apiVersion: v1
kind: Secret
metadata:
  name: custom-data
  annotations:
    che.eclipse.org/mount-as: subpath
    che.eclipse.org/mount-path: /data
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-secret
...

또는

apiVersion: v1
kind: ConfigMap
metadata:
  name: custom-data
  annotations:
    che.eclipse.org/mount-as: subpath
    che.eclipse.org/mount-path: /data
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-configmap
...

OpenShift 오브젝트에는 이름이 컨테이너에 마운트된 파일 이름과 일치해야 하는 여러 항목이 포함될 수 있습니다.

예 3.9. 예제:

apiVersion: v1
kind: Secret
metadata:
  name: custom-data
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-secret
  annotations:
    che.eclipse.org/mount-as: subpath
    che.eclipse.org/mount-path: /data
data:
  ca.crt: <base64 encoded data content here>

또는

apiVersion: v1
kind: ConfigMap
metadata:
  name: custom-data
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-configmap
  annotations:
    che.eclipse.org/mount-as: subpath
    che.eclipse.org/mount-path: /data
data:
  ca.crt: <data content here>

그러면 ca.crt 라는 파일이 OpenShift Dev Spaces 컨테이너의 /data 경로에 마운트됩니다.

중요

OpenShift Dev Spaces 컨테이너를 변경하려면 Secret 또는 ConfigMap 오브젝트를 완전히 다시 생성합니다.

3.3.1.3. OpenShift Dev Spaces 컨테이너에 환경 변수로 시크릿 또는 ConfigMap 마운트

사전 요구 사항

  • Red Hat OpenShift Dev Spaces의 실행 중인 인스턴스.

프로세스

  1. OpenShift Dev Spaces가 배포된 OpenShift 프로젝트에서 새 OpenShift Secret 또는 ConfigMap을 생성합니다. 생성하려는 오브젝트의 레이블은 레이블 세트와 일치해야 합니다.

    • app.kubernetes.io/part-of: che.eclipse.org
    • app.kubernetes.io/component: <DEPLOYMENT_NAME>-<OBJECT_KIND>
    • & lt;DEPLOYMENT_NAME >은 다음 배포에 해당합니다.

      • devspaces-dashboard
      • devfile-registry
      • plugin-registry
      • devspaces

    • & lt;OBJECT_KIND> 는 다음 중 하나입니다.

      • Secret

        또는

      • configmap

예 3.10. 예제:

apiVersion: v1
kind: Secret
metadata:
  name: custom-settings
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-secret
...

또는

apiVersion: v1
kind: ConfigMap
metadata:
  name: custom-settings
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-configmap
...
  1. 주석 값을 구성합니다. 주석은 지정된 오브젝트가 환경 변수로 마운트되었음을 나타냅니다.

    • Che.eclipse.org/mount-as: env - 오브젝트가 환경 변수로 마운트됨을 나타냅니다.
    • Che.eclipse.org/env-name: <Fcnf _ENV > - 개체 키 값을 마운트하는 데 필요한 환경 변수 이름을 제공합니다.

예 3.11. 예제:

apiVersion: v1
kind: Secret
metadata:
  name: custom-settings
  annotations:
    che.eclipse.org/env-name: FOO_ENV
    che.eclipse.org/mount-as: env
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-secret
data:
  mykey: myvalue

또는

apiVersion: v1
kind: ConfigMap
metadata:
  name: custom-settings
  annotations:
    che.eclipse.org/env-name: FOO_ENV
    che.eclipse.org/mount-as: env
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-configmap
data:
  mykey: myvalue

그러면 다음 두 가지 환경 변수가 생성됩니다.

  • FOO_ENV
  • myValue

OpenShift Dev Spaces 컨테이너에 프로비저닝됩니다.

오브젝트가 두 개 이상의 데이터 항목을 제공하는 경우 다음과 같이 각 데이터 키에 대해 환경 변수 이름을 제공해야 합니다.

예 3.12. 예제:

apiVersion: v1
kind: Secret
metadata:
  name: custom-settings
  annotations:
    che.eclipse.org/mount-as: env
    che.eclipse.org/mykey_env-name: FOO_ENV
    che.eclipse.org/otherkey_env-name: OTHER_ENV
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-secret
stringData:
  mykey: <data_content_here>
  otherkey: <data_content_here>

또는

apiVersion: v1
kind: ConfigMap
metadata:
  name: custom-settings
  annotations:
    che.eclipse.org/mount-as: env
    che.eclipse.org/mykey_env-name: FOO_ENV
    che.eclipse.org/otherkey_env-name: OTHER_ENV
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: devspaces-configmap
data:
  mykey: <data content here>
  otherkey: <data content here>

그러면 다음 두 가지 환경 변수가 생성됩니다.

  • FOO_ENV
  • OTHER_ENV

OpenShift Dev Spaces 컨테이너에 프로비저닝됩니다.

참고

OpenShift 오브젝트의 최대 주석 이름의 길이는 63자입니다. 여기서 9 문자는 / 로 끝나는 접두사용으로 예약되어 있습니다. 이는 오브젝트에 사용할 수 있는 최대 키 길이에 대한 제한으로 작동합니다.

중요

OpenShift Dev Spaces 컨테이너를 변경하려면 Secret 또는 ConfigMap 오브젝트를 완전히 다시 생성합니다.

3.3.2. Dev Spaces 서버에 대한 고급 구성 옵션

다음 섹션에서는 OpenShift Dev Spaces 서버 구성 요소의 고급 배포 및 구성 방법에 대해 설명합니다.

3.3.2.1. OpenShift Dev Spaces 서버 고급 구성 이해

다음 섹션에서는 배포에 대한 OpenShift Dev Spaces 서버 구성 요소 고급 구성 요소에 대해 설명합니다.

다음과 같은 고급 구성이 필요합니다.

  • 표준 CheCluster 사용자 정의 리소스 필드에서 Operator가 자동으로 생성하지 않은 환경 변수를 추가합니다.
  • 표준 CheCluster 사용자 정의 리소스 필드에서 Operator가 생성한 속성을 자동으로 재정의합니다.

CheCluster 사용자 정의 리소스 서버 설정의 일부인 customCheProperties 필드에는 OpenShift Dev Spaces 서버 구성 요소에 적용할 추가 환경 변수 맵이 포함되어 있습니다.

예 3.13. 작업 공간의 기본 메모리 제한 덮어쓰기

참고

이전 버전의 OpenShift Dev Spaces Operator에는 이 역할을 수행하기 위해 custom 이라는 ConfigMap이 있었습니다. OpenShift Dev Spaces Operator에서 사용자 지정 이름으로 configMap 을 찾으면 custom CheProperties 필드에 포함된 데이터를 추가하고 OpenShift Dev Spaces를 재배포하고 사용자 정의 configMap 을 삭제합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.