This documentation is for a release that is no longer maintained
See documentation for the latest supported version.릴리스 노트 및 알려진 문제
Red Hat OpenShift Dev Spaces 3.16 릴리스 노트 및 알려진 문제
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
1장. Red Hat OpenShift Dev Spaces 정보
Red Hat OpenShift Dev Spaces는 엔터프라이즈급 설정으로 Red Hat OpenShift에 웹 기반 개발 환경을 제공합니다.
- 클라우드 개발 환경(CDE) 서버
- Microsoft Visual Studio Code와 같은 IDE - 오픈 소스 및 CryostatBrains IntelliJ IDEA 커뮤니티 (기술 프리뷰)
- 널리 사용되는 프로그래밍 언어, 프레임워크 및 Red Hat 기술이 있는 컨테이너화된 환경
Red Hat OpenShift Dev Spaces는 컨테이너 기반 개발에 적합합니다.
Red Hat OpenShift Dev Spaces 3.16은 Eclipse Che 7.90을 기반으로 합니다.
1.1. 지원되는 플랫폼
OpenShift Dev Spaces는 다음 CPU 아키텍처의 OpenShift 4.12-4.16에서 실행됩니다.
-
AMD64 및 Intel 64 (
x86_64
) -
IBM Z (
s390x
)
다음 CPU 아키텍처에서는 OpenShift Dev Spaces를 실행하려면 Openshift 4.13-4.16이 필요합니다.
-
IBM Power (
ppc64le
)
1.2. 지원 정책
Red Hat OpenShift Dev Spaces 3.16의 경우 Red Hat은 제품의 배포, 구성 및 사용을 지원합니다.
1.3. Red Hat OpenShift Dev Spaces와 Eclipse Che의 차이점
Red Hat OpenShift Dev Spaces와 이를 기반으로 하는 업스트림 프로젝트에는 몇 가지 차이점이 있습니다. Eclipse Che:
- OpenShift Dev Spaces는 Red Hat OpenShift에서만 지원됩니다.
- OpenShift Dev Spaces는 Red Hat Enterprise Linux를 기반으로 하며 최신 보안 수정 사항을 포함하도록 정기적으로 업데이트됩니다.
- OpenShift Dev Spaces는 Quarkus, Lombok, NodeJS, Python, DotNet, Golang, C/C++와 같은 언어 및 기술을 사용하여 Air-gap 모드에서 지원되는 시작되는 샘플을 제공합니다. 커뮤니티 샘플은 Devfile 레지스트리 페이지에서 사용할 수 있습니다.
- OpenShift Dev Spaces는 사용자 로그인 및 관리에 OpenShift OAuth를 사용합니다.
Red Hat은 OpenShift Dev Spaces에 대한 엔터프라이즈급 지원을 보장하기 위해 라이센스 및 패키징을 제공합니다.
2장. 새로운 기능 및 개선 사항
2.1. devworkspace-webhook-server에 대한 Pod 배치 기능을 추가하고 더 강력하게 만듭니다.
이번 릴리스에서는 복제본,Pod 허용 오차 및 nodeSelector 를 포함한 글로벌 DevWorkspaceOperatorConfig(DWOC)에서 devworkspace-webhook-server 배포 옵션을 사용할 수 있습니다.
이러한 구성 옵션은 글로벌 DWOC의 config.webhook
필드에 있습니다.
apiVersion: controller.devfile.io/v1alpha1 kind: DevWorkspaceOperatorConfig metadata: name: devworkspace-operator-config namespace: $OPERATOR_INSTALL_NAMESPACE config: routing: clusterHostSuffix: 192.168.49.2.nip.io defaultRoutingClass: basic webhook: nodeSelector: <string, string> tolerations: <[]tolerations> replicas: <int32>
apiVersion: controller.devfile.io/v1alpha1
kind: DevWorkspaceOperatorConfig
metadata:
name: devworkspace-operator-config
namespace: $OPERATOR_INSTALL_NAMESPACE
config:
routing:
clusterHostSuffix: 192.168.49.2.nip.io
defaultRoutingClass: basic
webhook:
nodeSelector: <string, string>
tolerations: <[]tolerations>
replicas: <int32>
devworkspace-webhook-server 구성 옵션을 적용하려면 다음을 수행합니다.
-
이름이
devworkspace-operator-config
인 글로벌 DWOC 에 배치하고 DevWorkspaceOperator가 설치된 네임스페이스에 있어야 합니다. 클러스터에 아직 없는 경우 생성해야 합니다. - devworkspace-controller-manager Pod를 종료하고 devworkspace-webhook-server 배포를 적절하게 조정할 수 있도록 다시 시작해야 합니다.
또한 가용성을 높이기 위해 devworkspace-webhook-server 배포의 기본 복제본 수가 2로 증가했습니다.
추가 리소스
2.2. 알 수 없는 소스에서 CDE를 생성하는 경고 사용자는 위험할 수 있습니다.
이번 릴리스에서는 URL에서 클라우드 개발 환경(CDE)을 시작할 때 알 수 없거나 신뢰할 수 없는 소스에서 작업 공간을 생성하므로 리포지토리 작성자를 신뢰하는지 묻는 메시지가 표시됩니다.
추가 리소스
2.3. ' Git에서 가져오기' 흐름에 대한 고급 구성 옵션
이번 릴리스에서는 " Git에서 가져오기" 흐름을 사용하여 CDE를 시작할 때 컨테이너 이미지, 임시 스토리지, 메모리 및 CPU 제한을 구성할 수 있습니다.
추가 리소스
2.4. 사용자 대시보드의 Git 구성
이번 릴리스에서는 Git 구성의 이름과
이메일을
설정할 수 있을 뿐만 아니라 사용자 대시보드에서 전체 .gitconfig
파일을 업로드하고 편집할 수도 있습니다.
추가 리소스
2.5. CheCluster CustomResource에서 devWorkspace.ignoredUnrecoverableEvents 지원
이 릴리스부터 CheCluster CustomResource 수준에서 ignoredUnrecoverableEvents
를 명시적으로 설정할 수 있습니다.
apiVersion: org.eclipse.che/v2 kind: CheCluster spec: devEnvironments: ignoredUnrecoverableEvents: - FailedScheduling - FailedMount
apiVersion: org.eclipse.che/v2
kind: CheCluster
spec:
devEnvironments:
ignoredUnrecoverableEvents:
- FailedScheduling
- FailedMount
ignoredUnrecoverableEvents
구성에 대한 자세한 내용은 공식 문서에서 확인할 수 있습니다.
추가 리소스
2.6. 사용자 정의 리소스에 DisableInitContainer 필드 추가
DisableInitContainer
필드가 CheCluster
CR에 추가되었습니다. 이 필드는 operator-owned DWOC
에서 config.workspaces.persistUserhome.disableInitContainer
필드를 설정합니다. 영구 홈 디렉터리를 초기화하는 init 컨테이너를 비활성화해야 하는지 여부입니다.
/home/user
디렉터리가 지속되면 init 컨테이너는 작업 영역을 시작하기 전에 디렉터리를 초기화하는 데 사용됩니다. true로 설정하면 홈 지속성 설정을 CDE의 첫 번째 컨테이너 구성 요소의 진입점에 위임하여 init 컨테이너가 생성되지 않습니다. devEnvironments.persistUserhome.enabled
필드가 false로 설정된 경우 이 필드는 사용되지 않습니다.
init 컨테이너는 기본적으로 활성화되어 있습니다.
추가 리소스
3장. 버그 수정
3.1. 개인 액세스 토큰을 위한 Git 공급자 끝점에서 포트 허용
이번 릴리스에서는 사용자 대시보드에 개인 액세스 토큰을 추가할 때 Git 공급자
끝점의 URL에 포트를 제공할 수 있습니다. 이전에는 엄격한 검증으로 인해 불가능합니다.
추가 리소스
3.2. persisthome이 활성화된 경우 .kube/config의 토큰이 갱신되지 않습니다.
이번 릴리스 이전에는 spec.devEnvironments.persistUser
home 옵션이 활성화되면 작업 영역을 다시 시작하는 동안 .kube/config
의 토큰이 자동으로 갱신되지 않았습니다.
자동 토큰 주입에 대한 자세한 내용은 공식 문서에서 확인할 수 있습니다.
추가 리소스
3.3. 로컬 devfile에서 작업 공간을 다시 시작할 때 프로젝트 유지
이전에는 Local Devfile 기능의 Restart Workspace
를 사용한 후 PROJECTS_ROOT
및 PROJECT_SOURCE
환경 변수가 올바르게 설정되지 않았습니다. 이 릴리스에서 결함이 수정되었습니다.
추가 리소스
3.4. Devfile 내에서 $PATH 환경 변수의 동작 불일치
이전에는 devfile의 명령 정의를 사용하여 명령을 실행할 때 components 섹션 내에서 정의된 컨테이너에서 시작한 명령과 다른 $PATH
가 있었습니다. 이 릴리스에서 결함이 수정되었습니다.
추가 리소스
3.5. 사용자 제공 환경 변수는 $PROJECT_ROOT 또는 $PROJECT_SOURCE를 참조할 수 없습니다.
이전에는 devfile 환경 변수의 $PROJECT_ROOT
또는 $PROJECT_SOURCE
환경 변수를 참조할 수 없었습니다. 이 문제는 이번 릴리스에서 해결되었습니다.
추가 리소스
3.6. 시작 중에 작업 공간 상태 표시
이전에는 작업 영역을 시작하는 동안 작업 공간이 성공적으로 시작된 경우에도 상태가 예기치 않게 '중지됨'으로 변경될 수 있었습니다. 이 릴리스에서 결함이 수정되었으며 작업 영역을 시작하는 동안 상태 변경 사항이 무시됩니다.
추가 리소스
3.7. 리포지토리에'devfile.yaml'이 없는 경우 지정된 분기의 복제본으로 새 작업 공간을 시작하면 제대로 작동하지 않습니다.
이전에는 리포지토리에 devfile.yaml
이 없는 경우 지정된 분기의 복제본으로 새 작업 공간을 시작하지 않았습니다. 대신 클라우드 개발 환경(CDE) 시작 후 기본 분기가 항상 복제되었습니다. 이 릴리스에서 결함이 수정되었습니다.
추가 리소스
3.8. Microsoft Azure의 분기 탐지가 사용자 대시보드에서 작동하지 않음
이번 릴리스 이전에는 Microsoft Azure 리포지토리의 분기 탐지가 사용자 대시보드에서 작동하지 않았습니다. 이 릴리스에서 결함이 수정되었습니다.
추가 리소스
3.9. 새로 고침 토큰 모드가 적용되는 경우 작업 공간 시작 페이지가 순환 다시 로드로 이동합니다.
이전에는 실험적인 CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN
기능을 사용하면 클라우드 개발 환경(CDE) 시작 중에 순환 재로드 시퀀스가 발생할 수 있었습니다. 이 릴리스에서 결함이 수정되었습니다.
공식 문서에서 CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN
기능에 대해 자세히 알아보십시오.
추가 리소스
3.10. 대시보드에서 키 문자열을 붙여넣어 추가한 SSH 키는 유효하지 않습니다.
이번 릴리스 이전에는 대시보드에 키 문자열을 수동으로 붙여 SSH 키를 추가하는 데 문제가 있었습니다. SSH 키를 저장하고 작업 영역을 시작하면 "원격 리포지토리에서 읽지 않을 수 없음이라는 오류 메시지와 함께 프로젝트가 복제되지 않습니다. 올바른 액세스 권한과 리포지토리가 있는지 확인하십시오. 이번 릴리스에서는 이 문제가 해결되었습니다.
추가 리소스
4장. 기술 프리뷰
기술 프리뷰 기능을 통해 향후 제품 개선 사항에 빠르게 액세스하고 개발 과정에서 기능 테스트와 피드백을 제공할 수 있습니다. 그러나 이러한 기능은 Red Hat 서브스크립션 수준 계약에서 완전히 지원되지 않으며 기능적으로 완전하지 않을 수 있으며 프로덕션 용도로는 사용되지 않습니다. Red Hat은 기술 프리뷰 기능을 점차적으로 사용 가능하게 하고 있으며 이러한 기능 사용 시 발생할 수 있는 문제를 해결하기 위해 노력합니다. 기술 프리뷰 지원 범위를 참조하십시오.
없음.
5장. 더 이상 사용되지 않는 기능
없음.
6장. 제거된 기능
6.1. 제거된 che-devfile-registry
이번 릴리스에서는 Dev Spaces별 devfile-registry 피연산자가 제거되었습니다. 사용자 정의 Getting-Started 샘플을 구성하려면 관리자가 전용 Kubernetes ConfigMap
을 사용해야 합니다.
자세한 내용은 공식 문서에서 확인하십시오.
추가 리소스
7장. 확인된 문제
7.1. CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN
속성을 사용할 때 대시보드를 사용할 수 없습니다.
CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN
속성과 관련하여 Microsoft Azure DevOps/#159bucket/GitHub git provider를 사용하는 작업 공간에 영향을 미치는 알려진 문제가 있습니다. 작업 영역을 시작할 때마다 새 개인 액세스 토큰(PAT)이 제거되지 않은 이전 PAT에 추가됩니다. 기존 PAT의 수가 5개를 초과하면 작업 공간을 실행할 수 없으며 대시보드를 사용할 수 없습니다.
추가 리소스
7.2. CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN
속성을 사용한 후 이전 개인 토큰이 제거되지 않음
CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN
속성을 사용하는 데 알려진 문제가 있습니다. 이 속성을 사용한 후에는 이전 Microsoft Azure DevOps/#159bucket/GitHub 개인 토큰이 제거되지 않습니다. 이로 인해 대시보드에 액세스하는 데 문제가 발생할 수 있습니다.
추가 리소스
7.3. "신뢰할 수 없는 리포지토리" 팝업은 참조된 OAuth 권한 부여를 적용한 후 다시 나타납니다.
현재 참조된 OAuth 인증 적용에 알려진 문제가 있습니다. OAuth 설정으로 팩토리를 시작하고 Refused OAuth 승인을 적용한 경우 "신뢰할 수 없는 리포지토리" 팝업이 다시 표시됩니다.
추가 리소스
7.4. devfile이 없는 리포지토리 분기를 가리키는 URL에서 새 작업 공간을 시작하는 데 발생하는 문제
devfile.yaml
파일이 없는 리포지토리에 영향을 미치는 알려진 문제가 있습니다. 이러한 리포지토리 분기에서 새 작업 공간을 시작하면 예상되는 분기 대신 기본 분기(예: 'main')가 프로젝트 복제에 사용됩니다.
추가 리소스
7.5. 새로 고침 토큰 모드로 인해 작업 공간 시작 페이지를 순환적으로 다시 로드함
GitHub 및 Microsoft Azure DevOps OAuth 공급자의 CHE_FORCE_REFRESH_PERSONAL_ACCESS_TOKEN
속성을 사용하여 실험적 새로 고침 토큰 모드를 적용할 때 알려진 문제가 있습니다. 이로 인해 작업 공간이 대시보드를 순환적으로 다시 로드하기 시작하여 각 페이지가 다시 시작될 때 새 개인 액세스 토큰이 생성됩니다. 새로 고침 토큰 모드는 'GitLab' 및 'ovnBucket' OAuth 공급자에 대해 올바르게 작동합니다.
추가 리소스
7.6. FIPS 컴플라이언스 업데이트
FIPS 컴플라이언스에 알려진 문제로 인해 특정 암호화 모듈이 FIPS 검증되지 않습니다. 다음은 OpenShift Dev Spaces에서 FIPS를 사용하는 데 필요한 요구 사항 및 제한 사항 목록입니다.
필수 클러스터 및 Operator 업데이트
필요에 따라 Red Hat OpenShift Container Platform 설치를 4.11, 4.12 또는 4.13의 최신 z-stream 업데이트로 업데이트합니다. FIPS가 아직 활성화되지 않은 경우 설치 제거하고 다시 설치해야 합니다.
클러스터가 가동되어 실행되면 OpenShift Dev Spaces 3.7.1 (3.7-264)을 설치하고 최신 DevWorkspace Operator 번들 0.21.2 (0.21-7) 이상이 설치되어 업데이트되었는지 확인합니다. https://catalog.redhat.com/software/containers/devworkspace/devworkspace-operator-bundle/60ec9f48744684587e2186a3에서 참조하십시오.
UDI 이미지의 Golang 컴파일러
UDI(Universal Developer Image) 컨테이너에는 CGO_ENABLED=1
플래그 없이 빌드된 golang 컴파일러가 포함되어 있습니다. check-payload scanner( https://github.com/openshift/check-payload )는 오류가 발생하지만 이 컴파일러를 사용하여 빌드한 모든 항목이 올바른 플래그
을 사용하지 않는 경우 안전하게 무시할 수 있습니다.
CGO_ENABLED=1
을 설정하고 extldflags -static
또는 -openssl
결과 바이너리는 스캔할 수 있으며 오류 없이 전달되어야 합니다.
정적으로 연결된 바이너리
다음 두 컨테이너에서 암호화와 관련이 없는 정적으로 연결된 바이너리를 찾을 수 있습니다.
- code-rhel8
- idea-rhel8.
암호화와 관련이 없으므로 FIPS 컴플라이언스에 영향을 미치지 않습니다.
FIPS에 대한 Helm 지원
UDI 컨테이너에는 FIPS 지원으로 컴파일되지 않은 helm
바이너리가 포함되어 있습니다. FIPS 환경에 있는 경우 helm
를 사용하지 않습니다.
추가 리소스
7.7. 디버거가 .NET 샘플에서 작동하지 않음
현재 Microsoft Visual Studio Code의 디버거 - 오픈 소스가 .NET 샘플에서 작동하지 않습니다.
해결방법
다음 소스의 다른 이미지를 사용합니다.
추가 리소스
8장. 자주하는 질문
- OpenShift Dev Spaces에서 OpenShift 클러스터에 애플리케이션을 배포할 수 있습니까?
- OpenShift 사용자 토큰은 작업 공간 컨테이너에 자동으로 삽입 되므로 OpenShift 클러스터에 대해 oc CLI 명령을 실행할 수 있습니다.
- 최상의 성능을 위해 OpenShift Dev Spaces와 함께 사용되는 영구 볼륨에 사용할 권장 스토리지는 무엇입니까?
- 블록 스토리지를 사용합니다.
- 동일한 클러스터에 둘 이상의 OpenShift Dev Spaces 인스턴스를 배포할 수 있습니까?
- 클러스터당 하나의 OpenShift Dev Spaces 인스턴스만 배포할 수 있습니다.
- OpenShift Dev Spaces를 오프라인으로 설치할 수 있습니까(즉, 인터넷과 연결이 끊어진 경우)
- OpenShift 의 제한된 환경에 Red Hat OpenShift Dev Spaces 설치를 참조하십시오.
- OpenShift Dev Spaces에서 기본이 아닌 인증서를 사용할 수 있습니까?
- 자체 서명 또는 공용 인증서를 사용할 수 있습니다. 신뢰할 수 없는 TLS 인증서 가져오기 를 참조하십시오.
- 여러 작업 공간을 동시에 실행할 수 있습니까?
- 사용자가 여러 작업 공간을 동시에 실행할 수 있도록 활성화를 참조하십시오.