1.12. Red Hat OpenShift Serverless 1.20.0 릴리스 노트
OpenShift Serverless 1.20.0을 사용할 수 있습니다. OpenShift Container Platform의 OpenShift Serverless와 관련된 새로운 기능, 변경 사항, 알려진 문제가 이 항목에 포함되어 있습니다.
1.12.1. 새로운 기능
- OpenShift Serverless에서 Knative Serving 0.26을 사용합니다.
- OpenShift Serverless에서 Knative Eventing 0.26을 사용합니다.
- OpenShift Serverless에서 Kourier 0.26을 사용합니다.
-
OpenShift Serverless에서 Knative(
kn
) CLI 0.26을 사용합니다. - OpenShift Serverless에서 Knative Kafka 0.26을 사용합니다.
-
kn func
CLI 플러그인에서func
0.20을 사용합니다. Kafka 브로커를 기술 프리뷰로 사용할 수 있습니다.
중요현재 기술 프리뷰에 있는 Kafka 브로커는 FIPS에서 지원되지 않습니다.
-
kn 이벤트
플러그인을 기술 프리뷰로 사용할 수 있습니다. -
kn service create
명령의--min-scale
및--max-scale
플래그가 더 이상 사용되지 않습니다. 대신--scale-min
및--scale-max
플래그를 사용합니다.
1.12.2. 확인된 문제
OpenShift Serverless는 HTTPS를 사용하는 기본 주소를 사용하여 Knative 서비스를 배포합니다. 클러스터 내부의 리소스로 이벤트를 보내는 경우 발신자에는 클러스터 인증 기관(CA)이 구성되어 있지 않습니다. 이로 인해 클러스터가 전역적으로 허용되는 인증서를 사용하지 않는 한 이벤트 전달이 실패합니다.
예를 들어 공개적으로 액세스 가능한 주소로의 이벤트 전달은 다음과 같습니다.
$ kn event send --to-url https://ce-api.foo.example.com/
반면 서비스에서 사용자 정의 CA에서 발급한 HTTPS 인증서가 있는 공용 주소를 사용하는 경우 이 전달이 실패합니다.
$ kn event send --to Service:serving.knative.dev/v1:event-display
브로커 또는 채널과 같은 다른 주소 지정 가능 오브젝트에 이벤트를 전송하는 것은 이 문제의 영향을 받지 않으며 예상대로 작동합니다.
- Kafka 브로커는 현재 연방 정보 처리 표준(FIPS) 모드가 활성화된 클러스터에서 작동하지 않습니다.
kn func create
명령을 사용하여 Springboot 함수 프로젝트 디렉터리를 생성하면kn func build
명령을 실행하면 이 오류 메시지와 함께 실패합니다.[analyzer] no stack metadata found at path '' [analyzer] ERROR: failed to : set API for buildpack 'paketo-buildpacks/ca-certificates@3.0.2': buildpack API version '0.7' is incompatible with the lifecycle
이 문제를 해결하려면 함수 구성 파일
func.yaml
에서빌더
속성을gcr.io/paketo-buildpacks/builder:base
로 변경할 수 있습니다.gcr.io
레지스트리를 사용하여 함수를 배포하면 다음 오류 메시지가 표시되고 실패합니다.Error: failed to get credentials: failed to verify credentials: status code: 404
해결 방법으로
gcr.io
(예:quay.io
또는docker.io
) 이외의 다른 레지스트리를 사용하십시오.http
템플릿으로 생성된 TypeScript 함수는 클러스터에 배포하지 못했습니다.이 문제를 해결하려면
func.yaml
파일에서 다음 섹션을 교체합니다.buildEnvs: []
이를 통해 다음을 수행합니다.
buildEnvs: - name: BP_NODE_RUN_SCRIPTS value: build
func
버전 0.20에서 일부 런타임은 podman을 사용하여 함수를 빌드할 수 없습니다. 다음과 유사한 오류 메시지가 표시될 수 있습니다.ERROR: failed to image: error during connect: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.40/info": EOF
이 문제에 대한 다음 해결방법이 있습니다.
서비스
ExecStart
정의에--time=0
을 추가하여 podman 서비스를 업데이트합니다.서비스 구성 예
ExecStart=/usr/bin/podman $LOGGING system service --time=0
다음 명령을 실행하여 podman 서비스를 다시 시작합니다.
$ systemctl --user daemon-reload
$ systemctl restart --user podman.socket
또는 TCP를 사용하여 podman API를 노출할 수 있습니다.
$ podman system service --time=0 tcp:127.0.0.1:5534 & export DOCKER_HOST=tcp://127.0.0.1:5534