1.15. Red Hat OpenShift Serverless 1.20.0 릴리스 노트

OpenShift Serverless 1.20.0을 사용할 수 있습니다. 이 문서에는 OpenShift Container Platform의 OpenShift Serverless와 관련된 새로운 기능, 변경 사항, 알려진 문제가 포함되어 있습니다.

1.15.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.15.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.yamlbuilder 속성을 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
    • 이 문제에 대한 다음 해결방법이 있습니다.

      1. service ExecStart 정의에 --time=0 을 추가하여 podman 서비스를 업데이트합니다.

        서비스 구성 예

        ExecStart=/usr/bin/podman $LOGGING system service --time=0

      2. 다음 명령을 실행하여 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