2.2.38. 修正された問題
以下の問題は、これまでのリリースで解決されています。
2.2.38.1. Service Mesh の修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
OSSM-6177 以前は、
ServiceMeshControlPlane(SMCP) で検証メッセージが有効になっている場合、GatewayAPIサポートが有効になっていない限り、istiodが継続的にクラッシュしていました。現在は、検証メッセージが有効になっている場合、GatewayAPIサポートが有効になっていなくても、istiodが継続的にクラッシュすることはなくなりました。 OSSM-6163 次の問題が解決されました。
- 以前は、不安定な Prometheus イメージが Service Mesh コントロールプレーン (SMCP) v2.5 に含まれていたため、ユーザーが Prometheus ダッシュボードにアクセスできませんでした。現在は、Service Mesh Operator 2.5.1 で、Prometheus イメージが更新されています。
-
以前は、Service Mesh コントロールプレーン (SMCP) で、Grafana データソースが Basic 認証のパスワードを自動的に設定できず、ユーザーが Grafana メッシュダッシュボードで Prometheus からのメトリクスを表示できませんでした。現在は、Grafana データソースのパスワードが
secureJsonDataフィールドで設定されます。メトリクスはダッシュボードに正しく表示されます。
- OSSM-6148 以前は、ユーザーが Traffic Graph ページのノードのメニューでオプションをクリックしても、OpenShift Service Mesh Console (OSSMC) プラグインが応答しませんでした。現在は、プラグインがメニューで選択されたオプションに応答し、対応する詳細ページにリダイレクトします。
- OSSM-6099 以前は、OpenShift Service Mesh Console (OSSMC) プラグインが IPv6 クラスターで正しくロードされませんでした。現在は、OSSMC プラグインの設定が変更され、IPv6 クラスターで適切にロードされるようになりました。
- OSSM-5960 以前は、OpenShift Service Mesh Console (OSSMC) プラグインが、バックエンドエラーや Istio 検証などの通知メッセージを表示しませんでした。現在は、これらの通知がプラグインページの上部に正しく表示されます。
- OSSM-5959 以前は、OpenShift Service Mesh Console (OSSMC) プラグインの Overview ページに TLS および Istio の認証情報が表示されませんでした。現在は、この情報が正しく表示されます。
- OSSM-5902 以前は、ユーザーが Overview ページで Istio config のヘルスシンボルをクリックすると、OpenShift Service Mesh Console (OSSMC) プラグインが "Not Found Page" エラーにリダイレクトされていました。現在は、プラグインが正しい Istio config 詳細ページにリダイレクトされます。
- OSSM-5541 以前は、一部の再起動状態で、Istio Operator Pod がリーダーリースを待機し続けることがありました。現在は、この問題を回避するためにリーダー選出の実装が強化されています。
OSSM-1397 以前は、namespace から
maistra.io/member-ofラベルを削除した場合、サービスメッシュ Operator により、ラベルは namespace に自動的に再適用されませんでした。その結果、サイドカーインジェクションは対象の namespace で機能しませんでした。ServiceMeshMemberオブジェクトに変更を加えた場合、Operator はラベルを namespace に再適用します。これにより、このメンバーオブジェクトの調整がトリガーされます。今後は、namespace に変更を加えると、メンバーオブジェクトの調整もトリガーされます。
OSSM-3647 以前は、Service Mesh コントロールプレーン (SMCP) v2.2 (Istio 1.12) では、WasmPlugin は受信リスナーにのみ適用されていました。SMCP v2.3 (Istio 1.14) 以降、WasmPlugin はデフォルトでインバウンドおよびアウトバウンドのリスナーに適用されるようになり、3scale WasmPlugin のユーザーにリグレッションが発生しました。環境変数
APPLY_WASM_PLUGINS_TO_INBOUND_ONLYが追加され、SMCP v2.2 から v2.3 および v2.4 への安全な移行が可能になります。次の設定を SMCP config に追加する必要があります。
spec: runtime: components: pilot: container: env: APPLY_WASM_PLUGINS_TO_INBOUND_ONLY: "true"安全な移行を確保するには、次の手順を実行します。
-
SMCP v2.2 で
APPLY_WASM_PLUGINS_TO_INBOUND_ONLYを設定します。 - 2.4 にアップグレードします。
-
WasmPlugins で
spec.match[].mode: SERVERを設定します。 - 以前に追加した環境変数を削除します。
-
SMCP v2.2 で
-
OSSM-4851 以前は、
runAsGroup、runAsUser、またはfsGroupパラメーターがnilの場合、メッシュ内をスコープとする namespace に新しい Pod をデプロイするオペレータでエラーが発生しました。nil値を回避するために yaml 検証が追加されました。 -
OSSM-3771 以前は、Service Mesh Control Plane (SMCP) で定義された追加の Ingress ゲートウェイに対して OpenShift ルートを無効にすることができませんでした。現在、
routeConfigブロックを追加の各additionalIngressゲートウェイに追加できるため、ゲートウェイごとに OpenShift ルートの作成を有効または無効にできます。 OSSM-4197 では、'ServiceMeshControlPlane' リソースの v2.2 または v2.1 をデプロイしても、
/etc/cni/multus/net.d/ディレクトリーは作成されませんでした。その結果、istio-cniPod の準備ができず、istio-cniPod のログに次のメッセージが含まれていました。$ error Installer exits with open /host/etc/cni/multus/net.d/v2-2-istio-cni.kubeconfig.tmp.841118073: no such file or directoryここで、'ServiceMeshControlPlane' リソースの v2.2 または v2.1 をデプロイすると、
/etc/cni/multus/net.d/ディレクトリーが作成され、istio-cniPod の準備が整います。-
OSSM-3993 以前は、Kiali は標準 HTTPS ポート
443上のプロキシー経由の OpenShift OAuth のみをサポートしていました。現在、Kiali は非標準の HTTPS ポートを介した OpenShift OAuth をサポートします。ポートを有効にするには、Kiali CR でspec.server.web_portフィールドをプロキシーの非標準 HTTPS ポートに設定する必要があります。 -
OSSM-3936 以前は、
injection_label_revおよびinjection_label_name属性の値がハードコーディングされていました。これにより、カスタム設定が Kiali カスタムリソース定義 (CRD) で有効になりませんでした。今回のリリースより、属性値はハードコーディングされなくなりました。spec.istio_labels仕様のinjection_label_revおよびinjection_label_name属性の値をカスタマイズできます。 - OSSM-3644 これまで、フェデレーション egress-gateway はネットワークゲートウェイエンドポイントの誤った更新を受信し、余分なエンドポイントエントリーが発生していました。現在は、federation-egress ゲートウェイがサーバー側で更新され、正しいネットワークゲートウェイエンドポイントを受信するようになりました。
-
OSSM-3595 これまでは、
iptables-restoreユーティリティーが/tmpディレクトリー内のファイルを開くことを SELinux が許可しなかったため、RHEL 上でistio-cniプラグインが失敗することがありました。SELinux は、ファイル経由ではなくstdin入力ストリーム経由でiptables-restoreを渡すようになりました。 - OSSM-3586 以前は、Google Cloud メタデータサーバーが利用できない場合に Istio プロキシーの起動が遅くなりました。Istio 1.14.6 にアップグレードすると、メタデータサーバーが利用できない場合でも、Istio プロキシーは Google Cloud で期待どおりに起動します。
- OSSM-3025 Istiod が準備完了にならないことがあります。メッシュに多くのメンバーの namespace が含まれている場合は、Istiod 内のデッドロックが原因で Istiod Pod が準備完了にならないことがありました。デッドロックが解決され、Pod が期待どおりに起動するようになりました。
-
OSSM-2493 SMCP のデフォルトの
nodeSelectorとtolerationsが Kiali に渡されません。SMCP.spec.runtime.defaultsに追加するnodeSelectorとtolerationsが Kiali リソースに渡されるようになりました。 -
OSSM-2492 SMCP のデフォルトの toleration が Jaeger に渡されません。
SMCP.spec.runtime.defaultsに追加するnodeSelectorとtolerationsが Jaeger リソースに渡されるようになりました。 -
OSSM-2374
ServiceMeshMemberリソースの 1 つを削除すると、Service Mesh Operator がServiceMeshMemberRollを削除しました。これは、最後のServiceMeshMemberを削除する際に期待される動作ですが、削除されたメンバーに加えて、メンバーが含まれている場合、Operator はServiceMeshMemberRollを削除しないようにする必要があります。この問題は修正され、Operator は最後のServiceMeshMemberリソースが削除された場合のみ、ServiceMeshMemberRoll を削除するようになりました。 OSSM-2373 ログイン時に OAuth メタデータを取得しようとして、エラーが発生しました。クラスターのバージョンを取得するには、
system:anonymousアカウントが使用されます。クラスターのデフォルトのバンドルされた ClusterRole と ClusterRoleBinding を使用すると、匿名アカウントはバージョンを正しく取得できます。system:anonymousアカウントがクラスターバージョンを取得する権限を失うと、OpenShift 認証は使用できなくなります。これは、Kiali SA を使用して、クラスターのバージョンを取得することで修正されます。これにより、クラスターのセキュリティーも向上します。
- OSSM-2371 Kiali が "view-only" として設定されているにもかかわらず、ユーザーはワークロードの詳細の Logs タブの kebab メニューからプロキシーログレベルを変更できます。この問題は修正されており、Kiali が "view-only" として設定されている場合は、"Set Proxy Log Level" の下のオプションが無効になります。
- OSSM-2344 Istiod を再起動すると、Kiali によって CRI-O がポート転送リクエストでいっぱいになります。この問題は、Kiali が Istiod に接続できず、Kiali が同時に大量のリクエストを istiod に発行したときに発生しました。Kiali が istiod に送信するリクエストの数が制限されるようになりました。
- OSSM-2335 Traces の散布図のプロット上でマウスポインターをドラッグすると、同時バックエンドリクエストが原因で Kiali コンソールが応答を停止する場合がありました。
OSSM-2221 以前は、デフォルトで
ignore-namespaceラベルが namespace に適用されていたため、ServiceMeshControlPlanenamespace へのゲートウェイインジェクションはできませんでした。v2.4 コントロールプレーンを作成すると、namespace に
ignore-namespaceラベルが適用されなくなり、ゲートウェイインジェクションが可能になります。以下の例では、
oc labelコマンドは既存のデプロイメントの namespace からignore-namespaceラベルを削除します。$ oc label namespace istio-system maistra.io/ignore-namespace-ここでは、以下のようになります。
- istio_system
-
ServiceMeshControlPlanenamespace の名前を指定します。
OSSM-2053 Red Hat OpenShift Service Mesh Operator 2.2 または 2.3 を使用すると、SMCP の調整中に、SMMR コントローラーがメンバーの namespace を
SMMR.status.configuredMembersから削除していました。これにより、メンバーの namespace のサービスがしばらく利用できなくなりました。Red Hat OpenShift Service Mesh Operator 2.2 または 2.3 を使用すると、SMMR コントローラーが
SMMR.status.configuredMembersから namespace を削除しなくなります。代わりに、コントローラーは namespace をSMMR.status.pendingMembersに追加して、それらが最新ではないことを示します。調整中に、各 namespace が SMCP と同期されると、namespace はSMMR.status.pendingMembersから自動的に削除されます。-
OSSM-1962 フェデレーションコントローラーで
EndpointSlicesを使用します。フェデレーションコントローラーがEndpointSlicesを使用するようになりました。これにより、大規模なデプロイメントでのスケーラビリティとパフォーマンスが向上します。PILOT_USE_ENDPOINT_SLICE フラグはデフォルトで有効になっています。フラグを無効にすると、フェデレーションデプロイメントを使用できなくなります。 -
OSSM-1668 新しいフィールド
spec.security.jwksResolverCAがバージョン 2.1SMCPに追加されましたが、2.2.0 および 2.2.1 リリースにはありませんでした。このフィールドが存在する Operator バージョンから、このフィールドが存在しなかった Operator バージョンにアップグレードする場合は、SMCPで.spec.security.jwksResolverCAフィールドを使用できませんでした。 -
OSSM-1325 istiod Pod がクラッシュし、
fatal error: concurrent map iteration and map writeのエラーメッセージが表示されます。 OSSM-1211 フェイルオーバー用のフェデレーション Service Mesh の設定が想定どおりに機能しません。
Istiod パイロットログに、
envoy connection [C289] TLS error: 337047686:SSL routines:tls_process_server_certificate:certificate verify failedのエラーが表示されます。-
OSSM-1099 Kiali コンソールに
Sorry, there was a problem. Try a refresh or navigate to a different page.というメッセージが表示されます。 - OSSM-1074 SMCP で定義された Pod アノテーションが Pod に注入されません。
- OSSM-999 Kiali は想定どおりに保持されませんでした。ダッシュボードグラフでは、カレンダーの時刻がグレーアウトされています。
-
OSSM-797 Kiali Operator Pod は、Operator のインストールまたはアップグレード時に
CreateContainerConfigErrorを生成します。 -
kubeで始まる OSSM-722 namespace は Kiali には表示されません。 -
OSSM-569: Prometheus
istio-proxyコンテナーには CPU メモリー制限がありません。Prometheusistio-proxyサイドカーは、spec.proxy.runtime.containerで定義されたリソース制限を使用するようになりました。 -
OSSM-535 SMCP での validationMessages のサポート。Service Mesh コントロールプレーンの
ValidationMessagesフィールドをTrueに設定できるようになりました。これにより、問題のトラブルシューティングに役立つ、リソースのステータスのログが書き込まれます。 - OSSM-449 VirtualService および Service により、"Only unique values for domains are permitted.Duplicate entry of domain." エラーが生じます。
- 同様の名前を持つ OSSM-419 namespace は、namespace が Service Mesh Member Role で定義されていない場合でも、Kiali namespace の一覧に表示されます。
- OSSM-296 ヘルス設定を Kiali カスタムリソース (CR) に追加する場合、これは Kiali configmap にレプリケートされません。
- OSSM-291 Kiali コンソールの、Applications、Services、および Workloads ページの "Remove Label from Filters" が機能しません。
- OSSM-289 Kiali コンソールの 'istio-ingressgateway' および 'jaeger-query' サービスの Service Details ページにはトレースが表示されません。トレースは Jaeger にあります。
- OSSM-287 Kiali コンソールでは、トレースが Graph Service に表示されません。
OSSM-285 Kiali コンソールにアクセスしようとすると、"Error trying to get OAuth Metadata" エラーメッセージが表示されます。
回避策: Kiali Pod を再起動します。
MAISTRA-2735 Red Hat OpenShift Service Mesh バージョン 2.1 では、SMCP の調整時に Service Mesh Operator が削除するリソースが変更されました。以前のバージョンでは、Operator は以下のラベルを持つリソースを削除しました。
-
maistra.io/owner -
app.kubernetes.io/version
Operator は
app.kubernetes.io/managed-by=maistra-istio-operatorラベルを含まないリソースを無視するようになりました。独自のリソースを作成する場合は、app.kubernetes.io/managed-by=maistra-istio-operatorラベルをそれらに追加することはできません。-
-
MAISTRA-2687 Red Hat OpenShift Service Mesh 2.1 のフェデレーションゲートウェイでは、外部証明書を使用する場合、完全な証明書チェーンが送信されません。Service Mesh フェデレーション egress ゲートウェイはクライアント証明書のみを送信します。フェデレーション Ingress ゲートウェイはルート証明書のみを認識するため、ルート証明書をフェデレーションインポート
ConfigMapに追加しない限り、クライアント証明書を検証できません。 -
MAISTRA-2635 非推奨の Kubernetes API が置き換えられました。OpenShift Container Platform 4.8 との互換性を維持するために、
apiextensions.k8s.io/v1beta1API が Red Hat OpenShift Service Mesh 2.0.8 以降で非推奨になりました。 -
MAISTRA-2631 nsenter バイナリーが存在しないことが原因で Podman に問題が発生しているため、WASM 機能は使用できません。Red Hat OpenShift Service Mesh は、
Error: error configuring CNI network plugin exec: "nsenter": executable file not found in $PATHというエラーメッセージを生成します。コンテナーイメージには nsenter が含まれ、WASM が予想通りに機能するようになりました。 - MAISTRA-2534 istiod が JWT ルールで指定された発行者の JWKS の取得を試行する際に、発行者サービスは 502 で応答します。これにより、プロキシーコンテナーの準備ができなくなり、デプロイメントがハングしていました。コミュニティーバグ の修正は、Service Mesh 2.0.7 リリースに含まれています。
MAISTRA-2411 Operator が
ServiceMeshControlPlaneでspec.gateways.additionaIngressを使用して新規 ingress ゲートウェイを作成する場合、Operator はデフォルトの istio-ingressgateway の場合と同様に追加の Ingress ゲートウェイのNetworkPolicyを作成しません。これにより、新規ゲートウェイのルートから 503 応答が生じました。回避策:
istio-systemnamespace にNetworkPolicyを手動で作成します。MAISTRA-2401 CVE-2021-3586 servicemesh-operator: NetworkPolicy リソースが Ingress リソースのポートを誤って指定しています。Red Hat OpenShift Service Mesh 用にインストールされる NetworkPolicy リソースでは、アクセスできるポートが適切に指定されていませんでした。これにより、任意の Pod からこれらのリソースの全ポートにアクセスできるようになりました。以下のリソースに適用されるネットワークポリシーが影響を受けます。
- Galley
- Grafana
- Istiod
- Jaeger
- Kiali
- Prometheus
- サイドカーインジェクター
-
MAISTRA-2378: クラスターが
ovs-multitenantで OpenShift SDN を使用するように設定されており、メッシュに多数の namespace (200+) が含まれる場合に、OpenShift Container Platform ネットワークプラグインは namespace を迅速に設定できません。Service Mesh がタイムアウトすると、namespace がサービスメッシュから継続的にドロップされ、再リストされます。 - MAISTRA-2370 は listerInformer で tombstones を処理します。更新されたキャッシュコードベースは、namespace キャッシュからのイベントを集約されたキャッシュに変換する際に tombstones を処理しないため、go ルーチンでパニックが生じました。
MAISTRA-2117 オプションの
ConfigMapマウントを Operator に追加します。CSV にはオプションのConfigMapボリュームマウントが含まれるようになり、smcp-templatesConfigMap(存在する場合) をマウントします。smcp-templatesConfigMapが存在しないと、マウントされたディレクトリーは空になります。ConfigMapを作成すると、ディレクトリーにはConfigMapからのエントリーが設定され、SMCP.spec.profilesで参照できます。Service Mesh Operator の再起動は必要ありません。2.0 Operator を、smcp-templates ConfigMap をマウントするために変更した CSV で使用しているお客様は、Red Hat OpenShift Service Mesh 2.1 にアップグレードできます。アップグレード後は、CSV を編集せずに、既存の ConfigMap およびこれに含まれるプロファイルを引き続き使用できます。以前別の名前で ConfigMap を使用していた場合は、ConfigMap の名前を変更するか、アップグレード後に CSV を更新する必要があります。
-
MAISTRA-2010 AuthorizationPolicy は
request.regex.headersフィールドをサポートしません。validatingwebhookはこのフィールドのある AuthorizationPolicy を拒否し、これを無効にした場合でも、パイロットは同じコードを使用してこの検証を試行し、機能しません。 MAISTRA-1979 2.0 への移行 変換 webhook は、
SMCP.statusを v2 から v1 に変換する際に以下の重要なフィールドをドロップします。- conditions
- components
- observedGeneration
annotations
Operator を 2.0 にアップグレードすると、リソースの maistra.io/v1 バージョンを使用する SMCP ステータスを読み取るクライアントツールが破損する可能性があります。
また、
oc get servicemeshcontrolplanes.v1.maistra.ioの実行時に READY および STATUS 列が空になります。
MAISTRA-1947 テクノロジープレビュー ServiceMeshExtensions への更新は適用されません。
回避策:
ServiceMeshExtensionsを削除し、再作成します。-
MAISTRA-1983 2.0 への移行 既存の無効な
ServiceMeshControlPlaneを使用した 2.0.0 へのアップグレードは修復できません。ServiceMeshControlPlaneリソース内の無効な項目により、回復不可能なエラーが発生しました。修正により、エラーが回復可能になりました。無効なリソースを削除してこれを新しいリソースに置き換えるか、リソースを編集してエラーを修正できます。リソースの編集に関する詳細は、「Red Hat OpenShift Service Mesh インストールの設定」を参照してください。 - MAISTRA-1502 バージョン 1.0.10 の CVE の修正により、Istio ダッシュボードは Grafana の Home Dashboard メニューから利用できなくなりました。Istio ダッシュボードにアクセスするには、ナビゲーションパネルの Dashboard メニューをクリックし、Manage タブを選択します。
- MAISTRA-1399 Red Hat OpenShift Service Mesh により、サポート対象外の CNI プロトコルのインストールが妨げられなくなりました。サポート対象のネットワーク設定は変更されていません。
- MAISTRA-1089 2.0 への移行 コントロールプレーン以外の namespace で作成されたゲートウェイは自動的に削除されます。SMCP 仕様からゲートウェイ定義を削除した後にこれらのリソースを手動で削除する必要があります。
MAISTRA-858 Istio 1.1.x に関連する非推奨のオプションと設定 を説明する以下のような Envoy ログメッセージが予想されます。
- [2019-06-03 07:03:28.943][19][warning][misc] [external/envoy/source/common/protobuf/utility.cc:129] 非推奨の 'envoy.api.v2.listener.Filter.config' オプションの使用。この設定はまもなく Envoy から削除されます。
- [2019-08-12 22:12:59.001][13][warning][misc] [external/envoy/source/common/protobuf/utility.cc:174] lds.proto ファイルから非推奨の 'envoy.api.v2.Listener.use_original_dst' オプションを使用。この設定はまもなく Envoy から削除されます。
MAISTRA-806 エビクトされた Istio Operator Pod により、メッシュおよび CNI はデプロイできなくなります。
回避策: コントロールペインのデプロイ時に
istio-operatorPod がエビクトされる場合は、エビクトされたistio-operatorPod を削除します。- MAISTRA-681 Service Mesh コントロールプレーンに多くの namespace がある場合に、パフォーマンスの問題が発生する可能性があります。
- MAISTRA-193 ヘルスチェックが citadel で有効になっていると、予期しないコンソール情報メッセージが表示されます。
- Bugzilla 1821432: OpenShift Container Platform カスタムリソースの詳細ページのトグルコントロールで CR が正しく更新されません。OpenShift Container Platform Web コンソールの Service Mesh Control Plane (SMCP) Overview ページの UI のトグルコントロールにより、リソースの誤ったフィールドが更新されることがあります。SMCP を更新するには、YAML コンテンツを直接編集するか、トグルコントロールをクリックせずにコマンドラインからリソースを更新します。