1.12. Red Hat OpenShift Serverless 1.20.0 릴리스 노트
OpenShift Serverless 1.20.0이 출시되었습니다. 이에는 OpenShift Dedicated의 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(Federal Information Processing Standards) 모드가 활성화된 클러스터에서 작동하지 않습니다.
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
.yaml에서builder
속성을gcr.io/paketo-buildpacks/builder:base
로 변경할 수 있습니다.gcr.io
레지스트리를 사용하여 함수를 배포하면 다음 오류 메시지와 함께 실패합니다.Error: failed to get credentials: failed to verify credentials: status code: 404
이 문제를 해결하려면
quay.io
또는docker.io
와 같은gcr.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
이 문제에 대한 해결방법은 다음과 같습니다.
service
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