1.8.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 ブローカーは Federal Information Processing Standards (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
で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
この問題には、以下の回避策があります。
--time=0
をサービスExecStart
定義に追加して、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