1.23. Red Hat OpenShift Serverless 1.20.0
OpenShift Serverless 1.20.0을 사용할 수 있습니다. OpenShift Container Platform의 OpenShift Serverless와 관련된 새로운 기능, 업데이트 및 알려진 문제는 다음 사항에 포함되어 있습니다.
1.23.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.23.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
의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