1.9.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