1.2. Service Mesh - Notes de mise à jour


1.2.1. Rendre l'open source plus inclusif

Red Hat s'engage à remplacer les termes problématiques dans son code, sa documentation et ses propriétés Web. Nous commençons par ces quatre termes : master, slave, blacklist et whitelist. En raison de l'ampleur de cette entreprise, ces changements seront mis en œuvre progressivement au cours de plusieurs versions à venir. Pour plus de détails, voir le message de notre directeur technique Chris Wright.

1.2.2. Nouvelles fonctionnalités et améliorations

Cette version apporte des améliorations concernant les composants et concepts suivants.

1.2.2.1. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh version 2.3.3

Cette version de Red Hat OpenShift Service Mesh corrige les vulnérabilités et expositions communes (CVE), contient des corrections de bugs et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.1.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.3.3
ComposantVersion

Istio

1.14.5

Envoy Proxy

1.22.9

Jaeger

1.42.0

Kiali

1.57.7

1.2.2.2. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh version 2.3.2

Cette version de Red Hat OpenShift Service Mesh corrige les vulnérabilités et expositions communes (CVE), contient des corrections de bugs et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.2.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.3.2
ComposantVersion

Istio

1.14.5

Envoy Proxy

1.22.7

Jaeger

1.39

Kiali

1.57.6

1.2.2.3. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh version 2.3.1

Cette version de Red Hat OpenShift Service Mesh introduit de nouvelles fonctionnalités, traite les vulnérabilités et expositions communes (CVE), contient des corrections de bugs et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.3.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.3.1
ComposantVersion

Istio

1.14.5

Envoy Proxy

1.22.4

Jaeger

1.39

Kiali

1.57.5

1.2.2.4. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh version 2.3

Cette version de Red Hat OpenShift Service Mesh introduit de nouvelles fonctionnalités, traite les vulnérabilités et expositions communes (CVE), contient des corrections de bugs, et est prise en charge sur OpenShift Container Platform 4.9, 4.10, et 4.11.

1.2.2.4.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.3
ComposantVersion

Istio

1.14.3

Envoy Proxy

1.22.4

Jaeger

1.38

Kiali

1.57.3

1.2.2.4.2. Nouveau conteneur DaemonSet et ConfigMap de l'interface réseau de conteneurs (CNI)

L'espace de noms openshift-operators comprend un nouveau DaemonSet istio CNI istio-cni-node-v2-3 et une nouvelle ressource ConfigMap, istio-cni-config-v2-3.

Lors de la mise à niveau vers le Service Mesh Control Plane 2.3, le DaemonSet istio-cni-node existant n'est pas modifié et un nouveau DaemonSet istio-cni-node-v2-3 est créé.

Ce changement de nom n'affecte pas les versions précédentes ou tout istio-cni-node CNI DaemonSet associé à un plan de contrôle Service Mesh déployé à l'aide d'une version précédente.

1.2.2.4.3. Soutien à l'injection de la passerelle

Cette version introduit la prise en charge généralement disponible de l'injection de passerelle. Les configurations de passerelle sont appliquées aux proxys Envoy autonomes qui s'exécutent à la périphérie du maillage, plutôt qu'aux proxys Envoy sidecar qui s'exécutent aux côtés de vos charges de travail de service. Cela permet de personnaliser les options de passerelle. Lorsque vous utilisez l'injection de passerelle, vous devez créer les ressources suivantes dans l'espace de noms où vous souhaitez exécuter votre proxy de passerelle : Service, Deployment, Role, et RoleBinding.

1.2.2.4.4. Prise en charge d'Istio 1.14

Service Mesh 2.3 est basé sur Istio 1.14, qui apporte de nouvelles fonctionnalités et des améliorations au produit. Bien que de nombreuses fonctionnalités d'Istio 1.14 soient prises en charge, il convient de noter les exceptions suivantes :

  • L'API ProxyConfig est prise en charge à l'exception du champ image.
  • L'API de télémétrie est une fonctionnalité de l'aperçu technologique.
  • La durée d'exécution de SPIRE n'est pas une fonctionnalité prise en charge.
1.2.2.4.5. Console OpenShift Service Mesh
Important

OpenShift Service Mesh Console est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir des commentaires pendant le processus de développement.

Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.

Cette version introduit une version Technology Preview de la console OpenShift Container Platform Service Mesh, qui intègre l'interface Kiali directement dans la console web OpenShift. Pour plus d'informations, voir Introducing the OpenShift Service Mesh Console (A Technology Preview)

1.2.2.4.6. Déploiement à l'échelle du cluster

Cette version introduit le déploiement à l'échelle du cluster en tant que fonctionnalité de l'aperçu technologique. Un déploiement à l'échelle d'un cluster contient un plan de contrôle Service Mesh qui surveille les ressources pour un cluster entier. Le plan de contrôle utilise une seule requête dans tous les espaces de noms pour surveiller chaque type de ressource Istio ou Kubernetes qui affecte la configuration du maillage. En revanche, l'approche multitenant utilise une requête par espace de noms pour chaque type de ressource. La réduction du nombre de requêtes effectuées par le plan de contrôle dans le cadre d'un déploiement à l'échelle du cluster améliore les performances.

1.2.2.4.6.1. Configuration du déploiement à l'échelle d'un cluster

L'exemple suivant d'objet ServiceMeshControlPlane configure un déploiement à l'échelle d'un cluster.

Pour créer un SMCP en vue d'un déploiement à l'échelle du cluster, un utilisateur doit appartenir au ClusterRole cluster-admin. Si le SMCP est configuré pour un déploiement à l'échelle du cluster, il doit être le seul SMCP du cluster. Vous ne pouvez pas modifier le mode du plan de contrôle de multitenant à cluster-wide (ou de cluster-wide à multitenant). Si un plan de contrôle multitenant existe déjà, supprimez-le et créez-en un nouveau.

Cet exemple configure le SMCP pour un déploiement à l'échelle du cluster.

  apiVersion: maistra.io/v2
  kind: ServiceMeshControlPlane
  metadata:
    name: cluster-wide
    namespace: istio-system
  spec:
    version: v2.3
    techPreview:
      controlPlaneMode: ClusterScoped 1
1
Permet à Istiod de surveiller les ressources au niveau du cluster plutôt que de surveiller chaque espace de noms individuel.

En outre, le SMMR doit également être configuré pour un déploiement à l'échelle du cluster. Cet exemple configure le SMMR pour un déploiement à l'échelle du cluster.

  apiVersion: maistra.io/v1
  kind: ServiceMeshMemberRoll
  metadata:
    name: default
  spec:
    members:
    - '*' 1
1
Ajoute tous les espaces de noms au maillage, y compris les espaces de noms que vous créez par la suite. Les espaces de noms suivants ne font pas partie du maillage : kube, openshift, kube-* et openshift-*.

1.2.2.5. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh version 2.2.6

Cette version de Red Hat OpenShift Service Mesh corrige les vulnérabilités et expositions communes (CVE), contient des corrections de bugs et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.5.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.2.6
ComposantVersion

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.39

Kiali

1.48.5

1.2.2.6. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh version 2.2.5

Cette version de Red Hat OpenShift Service Mesh corrige les vulnérabilités et expositions communes (CVE), contient des corrections de bugs et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.6.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.2.5
ComposantVersion

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.39

Kiali

1.48.3

1.2.2.7. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh version 2.2.4

Cette version de Red Hat OpenShift Service Mesh corrige les vulnérabilités et expositions communes (CVE), contient des corrections de bugs et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.7.1. Versions des composants inclus dans Red Hat OpenShift Service Mesh version 2.2.4
ComposantVersion

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.36.14

Kiali

1.48.3

1.2.2.8. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh version 2.2.3

Cette version de Red Hat OpenShift Service Mesh traite les vulnérabilités et expositions communes (CVE), les corrections de bogues, et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.8.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.2.3
ComposantVersion

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.36

Kiali

1.48.3

1.2.2.9. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh version 2.2.2

Cette version de Red Hat OpenShift Service Mesh traite les vulnérabilités et expositions communes (CVE), les corrections de bogues, et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.9.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.2.2
ComposantVersion

Istio

1.12.7

Envoy Proxy

1.20.6

Jaeger

1.36

Kiali

1.48.2-1

1.2.2.9.2. Copier les étiquettes d'itinéraire

Avec cette amélioration, en plus de copier les annotations, vous pouvez copier des étiquettes spécifiques pour une route OpenShift. Red Hat OpenShift Service Mesh copie toutes les étiquettes et annotations présentes dans la ressource Istio Gateway (à l'exception des annotations commençant par kubectl.kubernetes.io) dans la ressource OpenShift Route gérée.

1.2.2.10. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh version 2.2.1

Cette version de Red Hat OpenShift Service Mesh traite les vulnérabilités et expositions communes (CVE), les corrections de bogues, et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.10.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.2.1
ComposantVersion

Istio

1.12.7

Envoy Proxy

1.20.6

Jaeger

1.34.1

Kiali

1.48.2-1

1.2.2.11. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.2

Cette version de Red Hat OpenShift Service Mesh ajoute de nouvelles fonctionnalités et améliorations, et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.11.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.2
ComposantVersion

Istio

1.12.7

Envoy Proxy

1.20.4

Jaeger

1.34.1

Kiali

1.48.0.16

1.2.2.11.2. WasmPlugin API

Cette version ajoute la prise en charge de l'API WasmPlugin et supprime l'API ServiceMeshExtension.

1.2.2.11.3. Soutien de ROSA

Cette version introduit la prise en charge du maillage de services pour Red Hat OpenShift sur AWS (ROSA), y compris la fédération multi-cluster.

1.2.2.11.4. istio-node DaemonSet renommé

Dans cette version, le DaemonSet istio-node est renommé istio-cni-node pour correspondre au nom dans Istio en amont.

1.2.2.11.5. Changements dans la mise en réseau du sidecar Envoy

Istio 1.10 a mis à jour Envoy pour envoyer le trafic au conteneur d'application en utilisant eth0 au lieu de lo par défaut.

1.2.2.11.6. Service Mesh Control Plane 1.1

Cette version marque la fin de la prise en charge des plans de contrôle Service Mesh basés sur Service Mesh 1.1 pour toutes les plateformes.

1.2.2.11.7. Prise en charge d'Istio 1.12

Service Mesh 2.2 est basé sur Istio 1.12, qui apporte de nouvelles fonctionnalités et des améliorations au produit. Bien que de nombreuses fonctionnalités d'Istio 1.12 soient prises en charge, il convient de noter les fonctionnalités suivantes qui ne sont pas prises en charge :

  • AuthPolicy Dry Run est une fonctionnalité de prévisualisation technique.
  • gRPC Proxyless Service Mesh est une fonction de prévisualisation technique.
  • L'API de télémétrie est une fonction de prévisualisation technique.
  • Les sélecteurs de découverte ne sont pas une fonctionnalité prise en charge.
  • Le plan de contrôle externe n'est pas une fonctionnalité prise en charge.
  • L'injection de passerelle n'est pas une fonctionnalité prise en charge.
1.2.2.11.8. API de la passerelle Kubernetes
Important

Kubernetes Gateway API est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, permettant aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.

Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.

Kubernetes Gateway API est une fonctionnalité d'aperçu technologique qui est désactivée par défaut. Si le contrôleur de déploiement de l'API Kubernetes est désactivé, vous devez déployer et lier manuellement une passerelle d'entrée à l'objet Gateway créé.

Si le contrôleur de déploiement de l'API Kubernetes est activé, une passerelle d'entrée est automatiquement déployée lorsqu'un objet Gateway est créé.

1.2.2.11.8.1. Installation des CRD de l'API de la passerelle

Les CRDs de l'API Gateway ne sont pas pré-installés par défaut sur les clusters OpenShift. Installez les CRD avant d'activer la prise en charge de l'API Gateway dans le SMCP.

$ kubectl get crd gateways.gateway.networking.k8s.io || { kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd?ref=v0.4.0" | kubectl apply -f -; }
1.2.2.11.8.2. Activation de l'API de la passerelle Kubernetes

Pour activer cette fonctionnalité, définissez les variables d'environnement suivantes pour le conteneur Istiod dans ServiceMeshControlPlane:

spec:
  runtime:
    components:
      pilot:
        container:
          env:
            PILOT_ENABLE_GATEWAY_API: "true"
            PILOT_ENABLE_GATEWAY_API_STATUS: "true"
            # and optionally, for the deployment controller
            PILOT_ENABLE_GATEWAY_API_DEPLOYMENT_CONTROLLER: "true"

Il est possible de restreindre l'attachement des routes sur les auditeurs de l'API Gateway en utilisant les paramètres SameNamespace ou All. Istio ignore l'utilisation des sélecteurs d'étiquettes dans listeners.allowedRoutes.namespaces et revient au comportement par défaut (SameNamespace).

1.2.2.11.8.3. Relier manuellement une passerelle existante à une ressource Gateway

Si le contrôleur de déploiement de l'API Kubernetes est désactivé, vous devez déployer manuellement puis lier une passerelle d'entrée à la ressource Gateway créée.

  apiVersion: gateway.networking.k8s.io/v1alpha2
  kind: Gateway
  metadata:
    name: gateway
  spec:
    addresses:
    - value: ingress.istio-gateways.svc.cluster.local
      type: Hostname

1.2.2.12. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.1.6

Cette version de Red Hat OpenShift Service Mesh corrige les vulnérabilités et expositions communes (CVE), contient des corrections de bugs et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.12.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.1.6
ComposantVersion

Istio

1.9.9

Envoy Proxy

1.17.5

Jaeger

1.36

Kiali

1.36.16

1.2.2.13. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.1.5.2

Cette version de Red Hat OpenShift Service Mesh corrige les vulnérabilités et expositions communes (CVE), contient des corrections de bugs et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.13.1. Versions des composants inclus dans Red Hat OpenShift Service Mesh version 2.1.5.2
ComposantVersion

Istio

1.9.9

Envoy Proxy

1.17.5

Jaeger

1.36

Kiali

1.24.17

1.2.2.14. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.1.5.1

Cette version de Red Hat OpenShift Service Mesh traite les vulnérabilités et expositions communes (CVE), les corrections de bogues, et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.14.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.1.5.1
ComposantVersion

Istio

1.9.9

Envoy Proxy

1.17.5

Jaeger

1.36

Kiali

1.36.13

1.2.2.15. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.1.5

Cette version de Red Hat OpenShift Service Mesh traite les vulnérabilités et expositions communes (CVE), les corrections de bogues, et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.15.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.1.5
ComposantVersion

Istio

1.9.9

Envoy Proxy

1.17.1

Jaeger

1.36

Kiali

1.36.12-1

1.2.2.16. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.1.4

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

1.2.2.16.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.1.4
ComposantVersion

Istio

1.9.9

Envoy Proxy

1.17.1

Jaeger

1.30.2

Kiali

1.36.12-1

1.2.2.17. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.1.3

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

1.2.2.17.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.1.3
ComposantVersion

Istio

1.9.9

Envoy Proxy

1.17.1

Jaeger

1.30.2

Kiali

1.36.10-2

1.2.2.18. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.1.2.1

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

1.2.2.18.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.1.2.1
ComposantVersion

Istio

1.9.9

Envoy Proxy

1.17.1

Jaeger

1.30.2

Kiali

1.36.9

1.2.2.19. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.1.2

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

Avec cette version, la plateforme de traçage distribuée Red Hat OpenShift Operator est désormais installée par défaut dans l'espace de noms openshift-distributed-tracing. Auparavant, l'installation par défaut se faisait dans l'espace de noms openshift-operator.

1.2.2.19.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.1.2
ComposantVersion

Istio

1.9.9

Envoy Proxy

1.17.1

Jaeger

1.30.1

Kiali

1.36.8

1.2.2.20. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.1.1

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

Cette version ajoute également la possibilité de désactiver la création automatique de politiques de réseau.

1.2.2.20.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.1.1
ComposantVersion

Istio

1.9.9

Envoy Proxy

1.17.1

Jaeger

1.24.1

Kiali

1.36.7

1.2.2.20.2. Désactivation des politiques de réseau

Red Hat OpenShift Service Mesh crée et gère automatiquement un certain nombre de ressources NetworkPolicies dans le plan de contrôle Service Mesh et les espaces de noms des applications. Cela permet de s'assurer que les applications et le plan de contrôle peuvent communiquer entre eux.

Si vous souhaitez désactiver la création et la gestion automatiques des ressources NetworkPolicies, par exemple pour appliquer les politiques de sécurité de votre entreprise, vous pouvez le faire. Vous pouvez modifier le site ServiceMeshControlPlane pour définir le paramètre spec.security.manageNetworkPolicy sur false

Note

Lorsque vous désactivez spec.security.manageNetworkPolicy, Red Hat OpenShift Service Mesh ne créera pas d'objets any NetworkPolicy . L'administrateur système est responsable de la gestion du réseau et de la résolution des problèmes que cela pourrait causer.

Procédure

  1. Dans la console web d'OpenShift Container Platform, cliquez sur Operators Installed Operators.
  2. Sélectionnez le projet dans lequel vous avez installé le plan de contrôle Service Mesh, par exemple istio-system, dans le menu Projet.
  3. Cliquez sur l'opérateur Red Hat OpenShift Service Mesh. Dans la colonne Istio Service Mesh Control Plane, cliquez sur le nom de votre ServiceMeshControlPlane, par exemple basic-install.
  4. Sur la page Create ServiceMeshControlPlane Details, cliquez sur YAML pour modifier votre configuration.
  5. Définissez le champ ServiceMeshControlPlane spec.security.manageNetworkPolicy sur false, comme indiqué dans cet exemple.

    apiVersion: maistra.io/v2
    kind: ServiceMeshControlPlane
    spec:
      security:
          trust:
          manageNetworkPolicy: false
  6. Cliquez sur Save.

1.2.2.21. Nouvelles fonctionnalités et améliorations Red Hat OpenShift Service Mesh 2.1

Cette version de Red Hat OpenShift Service Mesh ajoute la prise en charge d'Istio 1.9.8, Envoy Proxy 1.17.1, Jaeger 1.24.1, et Kiali 1.36.5 sur OpenShift Container Platform 4.6 EUS, 4.7, 4.8, 4.9, ainsi que de nouvelles fonctionnalités et améliorations.

1.2.2.21.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.1
ComposantVersion

Istio

1.9.6

Envoy Proxy

1.17.1

Jaeger

1.24.1

Kiali

1.36.5

1.2.2.21.2. Fédération de maillage de services

De nouvelles définitions de ressources personnalisées (CRD) ont été ajoutées pour prendre en charge la fédération des maillages de services. Les maillages de services peuvent être fédérés à la fois au sein d'un même cluster ou entre différents clusters OpenShift. Ces nouvelles ressources incluent :

  • ServiceMeshPeer - Définit une fédération avec une maille de service distincte, y compris la configuration de la passerelle, la configuration du certificat de confiance racine et les champs d'état. Dans une paire de mailles fédérées, chaque maille définira sa propre ressource ServiceMeshPeer.
  • ExportedServiceMeshSet - Définit les services d'un site ServiceMeshPeer donné que le réseau homologue peut importer.
  • ImportedServiceSet - Définit les services d'un site ServiceMeshPeer donné qui sont importés du réseau homologue. Ces services doivent également être mis à disposition par la ressource ExportedServiceMeshSet de l'homologue.

Service Mesh Federation n'est pas pris en charge entre les clusters sur Red Hat OpenShift Service on AWS (ROSA), Azure Red Hat OpenShift (ARO), ou OpenShift Dedicated (OSD).

1.2.2.21.3. Interface de réseau de conteneurs OVN-Kubernetes (CNI) généralement disponible

L'interface OVN-Kubernetes Container Network Interface (CNI) a été précédemment introduite en tant que fonctionnalité d'aperçu technologique dans Red Hat OpenShift Service Mesh 2.0.1 et est maintenant généralement disponible dans Red Hat OpenShift Service Mesh 2.1 et 2.0.x pour une utilisation sur OpenShift Container Platform 4.7.32, OpenShift Container Platform 4.8.12, et OpenShift Container Platform 4.9.

1.2.2.21.4. Service Mesh WebAssembly (WASM) Extensions

Le site ServiceMeshExtensions Custom Resource Definition (CRD), introduit pour la première fois dans la version 2.0 en tant qu'aperçu technologique, est désormais disponible de manière générale. Vous pouvez utiliser la CRD pour créer vos propres plugins, mais Red Hat ne fournit pas de support pour les plugins que vous créez.

Mixer a été complètement supprimé dans Service Mesh 2.1. La mise à jour d'une version 2.0.x de Service Mesh vers la version 2.1 sera bloquée si Mixer est activé. Les plugins Mixer devront être portés vers WebAssembly Extensions.

1.2.2.21.5. adaptateur WebAssembly 3scale (WASM)

Avec le retrait officiel de Mixer, OpenShift Service Mesh 2.1 ne supporte pas l'adaptateur de mélangeur 3scale. Avant de passer à Service Mesh 2.1, supprimez l'adaptateur 3scale basé sur Mixer et tous les plugins Mixer supplémentaires. Ensuite, installez et configurez manuellement le nouvel adaptateur 3scale WebAssembly avec Service Mesh 2.1 en utilisant une ressource ServiceMeshExtension.

3scale 2.11 introduit une nouvelle intégration de Service Mesh basée sur WebAssembly.

1.2.2.21.6. Prise en charge d'Istio 1.9

Service Mesh 2.1 est basé sur Istio 1.9, qui apporte un grand nombre de nouvelles fonctionnalités et d'améliorations du produit. Bien que la majorité des fonctionnalités d'Istio 1.9 soient prises en charge, il convient de noter les exceptions suivantes :

  • L'intégration des machines virtuelles n'est pas encore prise en charge
  • L'API Kubernetes Gateway n'est pas encore prise en charge
  • La récupération et le chargement à distance des filtres HTTP WebAssembly ne sont pas encore pris en charge
  • L'intégration d'une autorité de certification personnalisée à l'aide de l'API CSR de Kubernetes n'est pas encore prise en charge
  • La classification des demandes pour la surveillance du trafic est une fonctionnalité de l'avant-première technique
  • L'intégration avec des systèmes d'autorisation externes via l'action CUSTOM de la politique d'autorisation est une fonctionnalité en avant-première technique
1.2.2.21.7. Amélioration des performances de l'opérateur Service Mesh

Le temps que Red Hat OpenShift Service Mesh utilise pour élaguer les anciennes ressources à la fin de chaque rapprochement ServiceMeshControlPlane a été réduit. Cela se traduit par des déploiements ServiceMeshControlPlane plus rapides, et permet aux changements appliqués aux SMCP existants de prendre effet plus rapidement.

1.2.2.21.8. Mises à jour de Kiali

Kiali 1.36 comprend les fonctionnalités et améliorations suivantes :

  • Fonctionnalité de dépannage du maillage de services

    • Surveillance du plan de contrôle et de la passerelle
    • État de la synchronisation du proxy
    • Vues de la configuration d'Envoy
    • Vue unifiée montrant le proxy Envoy et les journaux d'application entrelacés
  • Espace de noms et cluster boxing pour supporter les vues de maillage de services fédérés
  • Nouvelles validations, assistants et améliorations du traçage distribué

1.2.2.22. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.11.1

Cette version de Red Hat OpenShift Service Mesh traite les vulnérabilités et expositions communes (CVE), les corrections de bogues, et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.22.1. Versions de composants incluses dans la version 2.0.11.1 de Red Hat OpenShift Service Mesh
ComposantVersion

Istio

1.6.14

Envoy Proxy

1.14.5

Jaeger

1.36

Kiali

1.24.17

1.2.2.23. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.11

Cette version de Red Hat OpenShift Service Mesh traite les vulnérabilités et expositions communes (CVE), les corrections de bogues, et est prise en charge sur OpenShift Container Platform 4.9 ou une version ultérieure.

1.2.2.23.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.0.11
ComposantVersion

Istio

1.6.14

Envoy Proxy

1.14.5

Jaeger

1.36

Kiali

1.24.16-1

1.2.2.24. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.10

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

1.2.2.24.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.0.10
ComposantVersion

Istio

1.6.14

Envoy Proxy

1.14.5

Jaeger

1.28.0

Kiali

1.24.16-1

1.2.2.25. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.9

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

1.2.2.25.1. Versions de composants incluses dans Red Hat OpenShift Service Mesh version 2.0.9
ComposantVersion

Istio

1.6.14

Envoy Proxy

1.14.5

Jaeger

1.24.1

Kiali

1.24.11

1.2.2.26. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.8

Cette version de Red Hat OpenShift Service Mesh traite des corrections de bogues.

1.2.2.27. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.7.1

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE).

1.2.2.27.1. Changement dans la façon dont Red Hat OpenShift Service Mesh gère les fragments d'URI

Red Hat OpenShift Service Mesh contient une vulnérabilité exploitable à distance, CVE-2021-39156, où une requête HTTP avec un fragment (une section à la fin d'un URI qui commence par un caractère #) dans le chemin URI pourrait contourner les politiques d'autorisation basées sur le chemin URI d'Istio. Par exemple, une politique d'autorisation d'Istio refuse les requêtes envoyées au chemin URI /user/profile. Dans les versions vulnérables, une requête avec le chemin URI /user/profile#section1 contourne la politique de refus et se dirige vers le backend (avec l'URI normalisé path /user/profile#section1), ce qui peut conduire à un incident de sécurité.

Vous êtes concerné par cette vulnérabilité si vous utilisez des politiques d'autorisation avec des actions DENY et operation.paths, ou des actions ALLOW et operation.notPaths.

Avec l'atténuation, la partie fragmentaire de l'URI de la demande est supprimée avant l'autorisation et l'acheminement. Cela empêche une demande contenant un fragment dans son URI de contourner les politiques d'autorisation qui sont basées sur l'URI sans la partie fragment.

Pour ne pas être concerné par le nouveau comportement dans l'atténuation, la section du fragment dans l'URI sera conservée. Vous pouvez configurer votre site ServiceMeshControlPlane pour qu'il conserve les fragments de l'URI.

Avertissement

La désactivation de ce nouveau comportement normalisera vos chemins d'accès comme décrit ci-dessus et est considérée comme dangereuse. Assurez-vous d'avoir pris en compte ce problème dans vos politiques de sécurité avant de choisir de conserver les fragments d'URI.

Exemple ServiceMeshControlPlane modification

apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
spec:
  techPreview:
    meshConfig:
      defaultConfig:
        proxyMetadata: HTTP_STRIP_FRAGMENT_FROM_PATH_UNSAFE_IF_DISABLED: "false"

1.2.2.27.2. Mise à jour requise pour les politiques d'autorisation

Istio génère des noms d'hôtes à la fois pour le nom d'hôte lui-même et pour tous les ports correspondants. Par exemple, un service virtuel ou une passerelle pour un hôte de "httpbin.foo" génère une configuration correspondant à "httpbin.foo et httpbin.foo:*". Cependant, les politiques d'autorisation de correspondance exacte ne correspondent qu'à la chaîne exacte donnée pour les champs hosts ou notHosts.

Votre cluster est affecté si vous avez des ressources AuthorizationPolicy utilisant la comparaison de chaînes exactes pour la règle de détermination des hosts ou notHosts.

Vous devez mettre à jour les règles de votre politique d'autorisation pour utiliser la correspondance des préfixes au lieu de la correspondance exacte. Par exemple, en remplaçant hosts: ["httpbin.com"] par hosts: ["httpbin.com:*"] dans le premier exemple AuthorizationPolicy.

Premier exemple de politique d'autorisation utilisant la correspondance des préfixes

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: httpbin
  namespace: foo
spec:
  action: DENY
  rules:
  - from:
    - source:
        namespaces: ["dev"]
    to:
    - operation:
        hosts: [“httpbin.com”,"httpbin.com:*"]

Deuxième exemple de politique d'autorisation utilisant la correspondance des préfixes

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: httpbin
  namespace: default
spec:
  action: DENY
  rules:
  - to:
    - operation:
        hosts: ["httpbin.example.com:*"]

1.2.2.28. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.7

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

1.2.2.29. Red Hat OpenShift Service Mesh sur Red Hat OpenShift Dedicated et Microsoft Azure Red Hat OpenShift

Red Hat OpenShift Service Mesh est désormais pris en charge par Red Hat OpenShift Dedicated et Microsoft Azure Red Hat OpenShift.

1.2.2.30. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.6

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

1.2.2.31. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.5

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

1.2.2.32. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.4

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

Important

Des étapes manuelles doivent être effectuées pour résoudre les problèmes CVE-2021-29492 et CVE-2021-31920.

1.2.2.32.1. Mises à jour manuelles requises par CVE-2021-29492 et CVE-2021-31920

Istio contient une vulnérabilité exploitable à distance où un chemin de requête HTTP avec plusieurs barres obliques ou des caractères obliques échappés (/ ou \) pourrait potentiellement contourner une politique d'autorisation Istio lorsque des règles d'autorisation basées sur le chemin sont utilisées.

Par exemple, supposons qu'un administrateur de cluster Istio définisse une politique d'autorisation DENY pour rejeter la demande au chemin /admin. Une demande envoyée au chemin URL //admin ne sera PAS rejetée par la politique d'autorisation.

Selon la RFC 3986, le chemin //admin avec plusieurs barres obliques devrait techniquement être traité comme un chemin différent du chemin /admin. Cependant, certains services backend choisissent de normaliser les chemins URL en fusionnant les barres obliques multiples en une seule barre oblique. Cela peut entraîner un contournement de la politique d'autorisation (//admin ne correspond pas à /admin), et un utilisateur peut accéder à la ressource au chemin /admin dans le backend ; cela représenterait un incident de sécurité.

Votre cluster est concerné par cette vulnérabilité si vous avez des politiques d'autorisation qui utilisent les modèles ALLOW action notPaths field ou DENY action paths field. Ces modèles sont vulnérables à des contournements inattendus de la politique.

Votre cluster n'est PAS affecté par cette vulnérabilité si :

  • Vous n'avez pas de politique d'autorisation.
  • Vos politiques d'autorisation ne définissent pas les champs paths ou notPaths.
  • Vos politiques d'autorisation utilisent des modèles de champ ALLOW action paths ou DENY action notPaths. Ces motifs pourraient uniquement entraîner un rejet inattendu au lieu d'un contournement de la politique. La mise à niveau est facultative dans ces cas.
Note

L'emplacement de configuration de Red Hat OpenShift Service Mesh pour la normalisation des chemins est différent de la configuration d'Istio.

1.2.2.32.2. Mise à jour de la configuration de la normalisation des chemins

Les politiques d'autorisation d'Istio peuvent être basées sur les chemins d'URL dans la requête HTTP. La normalisation des chemins, également connue sous le nom de normalisation des URI, modifie et normalise les chemins des requêtes entrantes afin que les chemins normalisés puissent être traités de manière standard. Des chemins syntaxiquement différents peuvent être équivalents après la normalisation du chemin.

Istio prend en charge les schémas de normalisation suivants sur les chemins de requête avant de les évaluer par rapport aux politiques d'autorisation et d'acheminer les requêtes :

Tableau 1.1. Schémas de normalisation
OptionDescriptionExemple :Notes

NONE

Aucune normalisation n'est effectuée. Tout ce qui est reçu par Envoy est transmis tel quel à un service de backend.

..//a../b est évaluée par les politiques d'autorisation et envoyée à votre service.

Ce paramètre est vulnérable à la CVE-2021-31920.

BASE

C'est actuellement l'option utilisée dans l'installation d'Istio sur default. Elle applique l'option normalize_path sur les proxies Envoy, qui suit la RFC 3986 avec une normalisation supplémentaire pour convertir les barres obliques inverses en barres obliques inverses.

/a/../b est normalisé à /b. \da est normalisé à /da.

Ce paramètre est vulnérable à la CVE-2021-31920.

MERGE_SLASHES

Les barres obliques sont fusionnées après la normalisation BASE.

/a//b est normalisé à /a/b.

La mise à jour de ce paramètre permet d'atténuer la CVE-2021-31920.

DECODE_AND_MERGE_SLASHES

Le paramètre le plus strict lorsque vous autorisez tout le trafic par défaut. Ce paramètre est recommandé, à condition que vous testiez minutieusement les itinéraires de vos politiques d'autorisation. Les caractères barre oblique et barre oblique inverse codés en pourcentage (/, /, \ et \) sont décodés en / ou \, avant la normalisation MERGE_SLASHES.

/a/b est normalisé à /a/b.

Mettez à jour ce paramètre pour atténuer la CVE-2021-31920. Ce paramètre est plus sûr, mais il est également susceptible d'endommager les applications. Testez vos applications avant de les déployer en production.

Les algorithmes de normalisation sont exécutés dans l'ordre suivant :

  1. Décodez en pourcentage /, /, \ et \.
  2. La normalisation RFC 3986 et d'autres normalisations implémentées par l'option normalize_path dans Envoy.
  3. Fusionner les barres obliques.
Avertissement

Bien que ces options de normalisation représentent des recommandations issues des normes HTTP et des pratiques industrielles courantes, les applications peuvent interpréter une URL comme elles l'entendent. Lorsque vous utilisez des politiques de déni, assurez-vous de bien comprendre le comportement de votre application.

1.2.2.32.3. Exemples de configuration de la normalisation des chemins

S'assurer qu'Envoy normalise les chemins d'accès aux requêtes pour qu'ils correspondent aux attentes de vos services d'arrière-plan est essentiel pour la sécurité de votre système. Les exemples suivants peuvent vous servir de référence pour configurer votre système. Les chemins d'URL normalisés, ou les chemins d'URL originaux si NONE est sélectionné, seront les suivants :

  1. Utilisé pour vérifier les politiques d'autorisation.
  2. Transmis à l'application dorsale.
Tableau 1.2. Exemples de configuration
Si votre candidature..Choisissez..

S'appuie sur le proxy pour effectuer la normalisation

BASE, MERGE_SLASHES ou DECODE_AND_MERGE_SLASHES

Normalise les chemins d'accès aux requêtes sur la base de la RFC 3986 et ne fusionne pas les barres obliques.

BASE

Normalise les chemins d'accès aux requêtes sur la base de la RFC 3986 et fusionne les barres obliques, mais ne décode pas les barres obliques codées en pourcentage.

MERGE_SLASHES

Normalise les chemins de requête sur la base de la RFC 3986, décode les barres obliques codées en pourcentage et fusionne les barres obliques.

DECODE_AND_MERGE_SLASHES

Traite les chemins de requête d'une manière incompatible avec la RFC 3986.

NONE

1.2.2.32.4. Configuration de votre SMCP pour la normalisation des chemins d'accès

Pour configurer la normalisation des chemins pour Red Hat OpenShift Service Mesh, spécifiez ce qui suit dans votre ServiceMeshControlPlane. Utilisez les exemples de configuration pour vous aider à déterminer les paramètres de votre système.

SMCP v2 pathNormalisation

spec:
  techPreview:
    global:
      pathNormalization: <option>

1.2.2.32.5. Configuration pour la normalisation des cas

Dans certains environnements, il peut être utile de comparer les chemins d'accès dans les politiques d'autorisation sans tenir compte de la casse. Par exemple, traiter https://myurl/get et https://myurl/GeT comme équivalents. Dans ce cas, vous pouvez utiliser le filtre EnvoyFilter présenté ci-dessous. Ce filtre modifie à la fois le chemin utilisé pour la comparaison et le chemin présenté à l'application. Dans cet exemple, istio-system est le nom du projet de plan de contrôle Service Mesh.

Enregistrez le site EnvoyFilter dans un fichier et exécutez la commande suivante :

oc create -f <myEnvoyFilterFile>
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: ingress-case-insensitive
  namespace: istio-system
spec:
  configPatches:
  - applyTo: HTTP_FILTER
    match:
      context: GATEWAY
      listener:
        filterChain:
          filter:
            name: "envoy.filters.network.http_connection_manager"
            subFilter:
              name: "envoy.filters.http.router"
    patch:
      operation: INSERT_BEFORE
      value:
        name: envoy.lua
        typed_config:
            "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
            inlineCode: |
              function envoy_on_request(request_handle)
                local path = request_handle:headers():get(":path")
                request_handle:headers():replace(":path", string.lower(path))
              end

1.2.2.33. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.3

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

En outre, cette version comporte les nouvelles fonctionnalités suivantes :

  • Ajout d'une option à l'outil de collecte de données must-gather qui recueille des informations à partir d'un espace de noms de plan de contrôle Service Mesh spécifié. Pour plus d'informations, voir OSSM-351.
  • Amélioration des performances pour les plans de contrôle Service Mesh comportant des centaines d'espaces de noms

1.2.2.34. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.2

Cette version de Red Hat OpenShift Service Mesh ajoute la prise en charge des systèmes IBM Z et IBM Power. Elle aborde également les vulnérabilités et expositions communes (CVE) et les corrections de bogues.

1.2.2.35. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0.1

Cette version de Red Hat OpenShift Service Mesh traite des vulnérabilités et expositions communes (CVE) et des corrections de bogues.

1.2.2.36. Nouvelles fonctionnalités Red Hat OpenShift Service Mesh 2.0

Cette version de Red Hat OpenShift Service Mesh ajoute la prise en charge de Istio 1.6.5, Jaeger 1.20.0, Kiali 1.24.2, et 3scale Istio Adapter 2.0 et OpenShift Container Platform 4.6.

En outre, cette version comporte les nouvelles fonctionnalités suivantes :

  • Simplifie l'installation, les mises à jour et la gestion du plan de contrôle Service Mesh.
  • Réduit l'utilisation des ressources et le temps de démarrage du plan de contrôle du Service Mesh.
  • Améliore les performances en réduisant la communication entre les plans de contrôle sur le réseau.

    • Ajout de la prise en charge du Secret Discovery Service (SDS) d'Envoy. Le SDS est un mécanisme plus sûr et plus efficace pour délivrer des secrets aux mandataires Envoy side car.
  • Supprime la nécessité d'utiliser les Secrets Kubernetes, qui présentent des risques de sécurité bien connus.
  • Amélioration des performances lors de la rotation des certificats, les proxys n'ayant plus besoin d'être redémarrés pour reconnaître les nouveaux certificats.

    • Ajout de la prise en charge de l'architecture Telemetry v2 d'Istio, qui est construite à l'aide d'extensions WebAssembly. Cette nouvelle architecture apporte des améliorations significatives en termes de performances.
    • Mise à jour de la ressource ServiceMeshControlPlane en v2 avec une configuration simplifiée pour faciliter la gestion du Service Mesh Control Plane.
    • Introduction des extensions WebAssembly en tant que fonctionnalité de l'aperçu technologique.

1.2.3. Avant-première technologique

Certaines fonctionnalités de cette version sont actuellement en avant-première technologique. Ces fonctionnalités expérimentales ne sont pas destinées à être utilisées en production.

Important

Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.

Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.

1.2.4. Fonctionnalités obsolètes et supprimées

Certaines fonctionnalités disponibles dans les versions précédentes sont devenues obsolètes ou ont été supprimées.

Les fonctionnalités dépréciées sont toujours incluses dans OpenShift Container Platform et continuent d'être prises en charge ; cependant, elles seront supprimées dans une prochaine version de ce produit et ne sont pas recommandées pour les nouveaux déploiements.

La fonctionnalité supprimée n'existe plus dans le produit.

1.2.4.1. Fonctionnalités obsolètes et supprimées Red Hat OpenShift Service Mesh 2.3

La prise en charge des suites de chiffrement suivantes a été supprimée. Dans une prochaine version, elles seront supprimées de la liste par défaut des algorithmes de chiffrement utilisés dans les négociations TLS, tant du côté du client que du côté du serveur.

  • ECDHE-ECDSA-AES128-SHA
  • ECDHE-RSA-AES128-SHA
  • AES128-GCM-SHA256
  • AES128-SHA
  • ECDHE-ECDSA-AES256-SHA
  • ECDHE-RSA-AES256-SHA
  • AES256-GCM-SHA384
  • AES256-SHA

L'API ServiceMeshExtension, qui était obsolète dans Red Hat OpenShift Service Mesh version 2.2, a été supprimée dans Red Hat OpenShift Service Mesh version 2.3. Si vous utilisez l'API ServiceMeshExtension, vous devez migrer vers l'API WasmPlugin pour continuer à utiliser vos extensions WebAssembly.

1.2.4.2. Fonctionnalités obsolètes Red Hat OpenShift Service Mesh 2.2

L'API ServiceMeshExtension est obsolète à partir de la version 2.2 et sera supprimée dans une prochaine version. Bien que l'API ServiceMeshExtension soit toujours prise en charge dans la version 2.2, les clients doivent commencer à passer à la nouvelle API WasmPlugin.

1.2.4.3. Fonctionnalités supprimées Red Hat OpenShift Service Mesh 2.2

Cette version marque la fin de la prise en charge des plans de contrôle Service Mesh basés sur Service Mesh 1.1 pour toutes les plateformes.

1.2.4.4. Fonctionnalités supprimées Red Hat OpenShift Service Mesh 2.1

Dans Service Mesh 2.1, le composant Mixer est supprimé. Les corrections de bugs et l'assistance sont assurées jusqu'à la fin du cycle de vie de Service Mesh 2.0.

La mise à jour d'une version 2.0.x de Service Mesh vers la version 2.1 ne se fera pas si les plugins Mixer sont activés. Les plugins Mixer doivent être portés vers WebAssembly Extensions.

1.2.4.5. Fonctionnalités obsolètes Red Hat OpenShift Service Mesh 2.0

Le composant Mixer a été déprécié dans la version 2.0 et sera supprimé dans la version 2.1. Bien que l'utilisation de Mixer pour l'implémentation d'extensions soit toujours possible dans la version 2.0, les extensions auraient dû être migrées vers le nouveau mécanisme WebAssembly.

Les types de ressources suivants ne sont plus pris en charge dans Red Hat OpenShift Service Mesh 2.0 :

  • Policy (authentication.istio.io/v1alpha1) n'est plus pris en charge. En fonction de la configuration spécifique de votre ressource Policy, vous devrez peut-être configurer plusieurs ressources pour obtenir le même effet.

    • Utiliser RequestAuthentication (security.istio.io/v1beta1)
    • Utiliser PeerAuthentication (security.istio.io/v1beta1)
  • ServiceMeshPolicy (maistra.io/v1) n'est plus supporté.

    • Utilisez RequestAuthentication ou PeerAuthentication, comme indiqué ci-dessus, mais placez-les dans l'espace de noms du plan de contrôle Service Mesh.
  • RbacConfig (rbac.istio.io/v1alpha1) n'est plus supporté.

    • Remplacé par AuthorizationPolicy (security.istio.io/v1beta1), qui englobe les comportements de RbacConfig, ServiceRole, et ServiceRoleBinding.
  • ServiceMeshRbacConfig (maistra.io/v1) n'est plus supporté.

    • Utiliser AuthorizationPolicy comme ci-dessus, mais le placer dans l'espace de noms du plan de contrôle Service Mesh.
  • ServiceRole (rbac.istio.io/v1alpha1) n'est plus supporté.
  • ServiceRoleBinding (rbac.istio.io/v1alpha1) n'est plus supporté.
  • Dans Kiali, les stratégies login et LDAP sont obsolètes. Une prochaine version introduira l'authentification à l'aide des fournisseurs OpenID.

1.2.5. Problèmes connus

Ces limitations existent dans Red Hat OpenShift Service Mesh :

  • Red Hat OpenShift Service Mesh ne prend pas encore en charge IPv6, car il n'est pas encore entièrement pris en charge par le projet Istio en amont. Par conséquent, Red Hat OpenShift Service Mesh ne prend pas en charge les clusters à double pile.
  • Disposition du graphe - La disposition du graphe Kiali peut être différente, selon l'architecture de votre application et les données à afficher (nombre de nœuds du graphe et leurs interactions). Parce qu'il est difficile, voire impossible, de créer une présentation unique qui rende bien dans toutes les situations, Kiali offre un choix de plusieurs présentations différentes. Pour choisir une autre présentation, vous pouvez choisir une autre Layout Schema dans le menu Graph Settings.
  • La première fois que vous accédez à des services connexes tels que la plateforme de traçage distribuée et Grafana, à partir de la console Kiali, vous devez accepter le certificat et vous authentifier à nouveau en utilisant vos identifiants de connexion à OpenShift Container Platform. Cela se produit en raison d'un problème avec la façon dont le framework affiche les pages intégrées dans la console.
  • L'application d'exemple Bookinfo ne peut pas être installée sur IBM Z et IBM Power.
  • Les extensions WebAssembly ne sont pas prises en charge sur IBM Z et IBM Power.
  • LuaJIT n'est pas pris en charge sur IBM Power.

1.2.5.1. Problèmes connus du Service Mesh

Il s'agit des problèmes connus dans Red Hat OpenShift Service Mesh :

  • OSSM-2221 L'injection de passerelle ne fonctionne pas dans l'espace de noms du plan de contrôle. Si vous utilisez la fonctionnalité d'injection de passerelle pour créer une passerelle au même endroit que le plan de contrôle, l'injection échoue et OpenShift génère ce message :

    Warning Failed 10s kubelet, ocp-wide-vh8fd-worker-vhqm9 Failed to pull image "auto": rpc error: code = Unknown desc = reading manifest latest in docker.io/library/auto: errors

    Pour créer une passerelle dans l'espace de noms du plan de contrôle, utilisez le paramètre gateways dans la spécification SMCP afin de configurer les passerelles d'entrée et de sortie pour le maillage.

  • OSSM-2042 Le déploiement du SMCP nommé default échoue. Si vous créez un objet SMCP et que vous définissez son champ de version sur v2.3, le nom de l'objet ne peut pas être default. Si le nom est default, alors le plan de contrôle échoue à se déployer, et OpenShift génère un événement Warning avec le message suivant :

    Error processing component mesh-config: error: [mesh-config/templates/telemetryv2_1.6.yaml: Internal error occurred: failed calling webhook "rev.validation.istio.io": Post "https://istiod-default.istio-system.svc:443/validate?timeout=10s": x509: certificate is valid for istiod.istio-system.svc, istiod-remote.istio-system.svc, istio-pilot.istio-system.svc, not istiod-default.istio-system.svc, mesh-config/templates/enable-mesh-permissive.yaml

  • OSSM-1655 Le tableau de bord de Kiali affiche une erreur après l'activation de mTLS dans SMCP.

    Après avoir activé le paramètre spec.security.controlPlane.mtls dans le SMCP, la console Kiali affiche le message d'erreur suivant : No subsets defined.

  • OSSM-1505 Ce problème se produit uniquement lors de l'utilisation de la ressource ServiceMeshExtension sur OpenShift Container Platform 4.11. Lorsque vous utilisez ServiceMeshExtension sur OpenShift Container Platform 4.11, la ressource n'est jamais prête. Si vous inspectez le problème en utilisant oc describe ServiceMeshExtension, vous verrez l'erreur suivante : stderr: Error creating mount namespace before pivot: function not implemented.

    Solution : ServiceMeshExtension a été supprimé dans Service Mesh 2.2. Migrez de ServiceMeshExtension vers la ressource WasmPlugin. Pour plus d'informations, voir Migration des ressources ServiceMeshExtension vers WasmPlugin.

  • OSSM-1396 Si une ressource passerelle contient le paramètre spec.externalIPs, au lieu d'être recréée lors de la mise à jour de ServiceMeshControlPlane, la passerelle est supprimée et n'est jamais recréée.
  • OSSM-1168 Lorsque les ressources de maillage de services sont créées en tant que fichier YAML unique, le sidecar de proxy Envoy n'est pas injecté de manière fiable dans les pods. Lorsque les ressources SMCP, SMMR et Deployment sont créées individuellement, le déploiement fonctionne comme prévu.
  • OSSM-1115 Le champ concurrency de l'API spec.proxy ne s'est pas propagé à l'istio-proxy. Le champ concurrency fonctionne lorsqu'il est défini avec ProxyConfig. Le champ concurrency spécifie le nombre de threads de travailleur à exécuter. Si le champ est défini sur 0, le nombre de threads de travailleur disponibles est égal au nombre de cœurs de l'unité centrale. Si le champ n'est pas défini, le nombre de threads travailleurs disponibles est par défaut de 2.

    Dans l'exemple suivant, le champ concurrency est défini comme 0.

    apiVersion: networking.istio.io/v1beta1
    kind: ProxyConfig
    metadata:
      name: mesh-wide-concurrency
      namespace: <istiod-namespace>
    spec:
      concurrency: 0
  • OSSM-1052 Lors de la configuration d'un service ExternalIP pour l'ingressgateway dans le plan de contrôle Service Mesh, le service n'est pas créé. Le schéma du SMCP ne contient pas le paramètre du service.

    Solution : Désactiver la création de la passerelle dans la spécification SMCP et gérer le déploiement de la passerelle entièrement manuellement (y compris le service, le rôle et le RoleBinding).

  • OSSM-882 Ceci s'applique à Service Mesh 2.1 et aux versions antérieures. L'espace de noms est dans la liste accessible_namespace mais n'apparaît pas dans l'interface utilisateur de Kiali. Par défaut, Kiali n'affiche pas les espaces de noms commençant par "kube" car ces espaces de noms sont généralement à usage interne et ne font pas partie d'un maillage.

    Par exemple, si vous créez un espace de noms appelé "akube-a" et que vous l'ajoutez à la liste des membres du Service Mesh, l'interface utilisateur de Kiali n'affiche pas l'espace de noms. Pour les motifs d'exclusion définis, le logiciel exclut les espaces de noms qui commencent par le motif ou qui le contiennent.

    Solution : Modifiez le paramètre de la ressource personnalisée de Kiali de manière à ce que le paramètre soit précédé d'un carat (^). Par exemple :

    api:
      namespaces:
        exclude:
        - "^istio-operator"
        - "^kube-.*"
        - "^openshift.*"
        - "^ibm.*"
        - "^kiali-operator"
  • MAISTRA-2692 Avec la suppression de Mixer, les métriques personnalisées qui ont été définies dans Service Mesh 2.0.x ne peuvent pas être utilisées dans 2.1. Les métriques personnalisées peuvent être configurées en utilisant EnvoyFilter. Red Hat n'est pas en mesure de prendre en charge la configuration de EnvoyFilter, sauf lorsqu'elle est explicitement documentée. Ceci est dû à un couplage étroit avec les API sous-jacentes d'Envoy, ce qui signifie que la compatibilité ascendante ne peut pas être maintenue.
  • MAISTRA-2648 ServiceMeshExtensions n'est actuellement pas compatible avec les mailles déployées sur les systèmes IBM Z.
  • MAISTRA-1959 Migration to 2.0 Le grattage Prometheus (spec.addons.prometheus.scrape défini sur true) ne fonctionne pas lorsque mTLS est activé. De plus, Kiali affiche des données graphiques superflues lorsque mTLS est désactivé.

    Ce problème peut être résolu en excluant le port 15020 de la configuration du proxy, par exemple,

    spec:
      proxy:
        networking:
          trafficControl:
            inbound:
              excludedPorts:
              - 15020
  • MAISTRA-1314 Red Hat OpenShift Service Mesh ne prend pas encore en charge IPv6.
  • MAISTRA-453 Si vous créez un nouveau projet et déployez des modules immédiatement, l'injection de sidecar ne se produit pas. L'opérateur ne parvient pas à ajouter le site maistra.io/member-of avant la création des nacelles. Les nacelles doivent donc être supprimées et recréées pour que l'injection de sidecar se produise.
  • MAISTRA-158 L'application de plusieurs passerelles référençant le même nom d'hôte entraîne l'arrêt du fonctionnement de toutes les passerelles.

1.2.5.2. Problèmes connus de Kiali

Note

Les nouveaux problèmes pour Kiali doivent être créés dans le projet OpenShift Service Mesh avec l'adresse Component fixée à Kiali.

Voici les problèmes connus de Kiali :

  • KIALI-2206 Lorsque vous accédez à la console Kiali pour la première fois, et qu'il n'y a pas de données de navigation mises en cache pour Kiali, le lien "View in Grafana" sur l'onglet Metrics de la page Kiali Service Details redirige vers le mauvais emplacement. La seule façon de rencontrer ce problème est d'accéder à Kiali pour la première fois.
  • KIALI-507 Kiali ne supporte pas Internet Explorer 11. Ceci est dû au fait que les frameworks sous-jacents ne supportent pas Internet Explorer. Pour accéder à la console Kiali, utilisez l'une des deux versions les plus récentes des navigateurs Chrome, Edge, Firefox ou Safari.

1.2.5.3. Red Hat OpenShift distributed tracing known issues (problèmes connus)

Ces limitations existent dans le traçage distribué de Red Hat OpenShift :

  • Apache Spark n'est pas pris en charge.
  • Le déploiement en continu via AMQ/Kafka n'est pas pris en charge sur les systèmes IBM Z et IBM Power.

Ce sont les problèmes connus pour Red Hat OpenShift distributed tracing :

  • OBSDA-220 Dans certains cas, si vous essayez d'extraire une image à l'aide de la collecte de données de traçage distribuées, l'extraction de l'image échoue et un message d'erreur Failed to pull image s'affiche. Il n'y a pas de solution à ce problème.
  • TRACING-2057 L'API Kafka a été mise à jour sur v1beta2 pour prendre en charge le Strimzi Kafka Operator 0.23.0. Cependant, cette version de l'API n'est pas prise en charge par AMQ Streams 1.6.3. Si vous avez l'environnement suivant, vos services Jaeger ne seront pas mis à niveau et vous ne pourrez pas créer de nouveaux services Jaeger ou modifier des services Jaeger existants :

    • Canal de l'opérateur Jaeger : 1.17.x stable ou 1.20.x stable
    • Canal de l'opérateur AMQ Streams : amq-streams-1.6.x

      Pour résoudre ce problème, changez le canal d'abonnement de votre opérateur AMQ Streams sur amq-streams-1.7.x ou stable.

1.2.6. Problèmes corrigés

Les problèmes suivants ont été résolus dans la version actuelle :

1.2.6.1. Le maillage de service a permis de résoudre des problèmes

  • OSSM-3644 Auparavant, la passerelle egress de la fédération recevait la mauvaise mise à jour des points d'extrémité de la passerelle réseau, ce qui entraînait des entrées de points d'extrémité supplémentaires. Maintenant, la passerelle federation-egress a été mise à jour du côté du serveur afin qu'elle reçoive les bons points de terminaison de la passerelle réseau.
  • OSSM-3595 Auparavant, le plugin istio-cni échouait parfois sur RHEL parce que SELinux n'autorisait pas l'utilitaire iptables-restore à ouvrir des fichiers dans le répertoire /tmp. Désormais, SELinux transmet iptables-restore via le flux d'entrée stdin au lieu d'un fichier.
  • OSSM-3025 Istiod ne parvient parfois pas à se préparer. Parfois, lorsqu'un maillage contenait de nombreux espaces de noms membres, le module Istiod n'était pas prêt en raison d'un blocage au sein d'Istiod. Le blocage est maintenant résolu et le pod démarre comme prévu.
  • OSSM-2493 Les nodeSelector et tolerations par défaut dans SMCP ne sont pas transmis à Kiali. Les nodeSelector et tolerations que vous ajoutez à SMCP.spec.runtime.defaults sont maintenant transmis à la ressource Kiali.
  • OSSM-2492 Les tolérances par défaut dans le SMCP ne sont pas transmises à Jaeger. Les nodeSelector et tolerations que vous ajoutez à SMCP.spec.runtime.defaults sont maintenant transmis à la ressource Jaeger.
  • OSSM-2374 Si vous avez supprimé l'une des ressources ServiceMeshMember, l'opérateur du Service Mesh a supprimé la ressource ServiceMeshMemberRoll. Bien que ce comportement soit attendu lorsque vous supprimez la dernière ressource ServiceMeshMember, l'opérateur ne doit pas supprimer la ressource ServiceMeshMemberRoll si elle contient des membres en plus de celui qui a été supprimé. Ce problème est maintenant résolu et l'opérateur ne supprime le ServiceMeshMemberRoll que lorsque la dernière ressource ServiceMeshMember est supprimée.
  • OSSM-2373 Error trying to get OAuth metadata when logging in. Pour récupérer la version du cluster, le compte system:anonymous est utilisé. Avec les ClusterRoles et ClusterRoleBinding intégrés par défaut au cluster, le compte anonyme peut récupérer la version correctement. Si le compte system:anonymous perd ses privilèges pour récupérer la version du cluster, l'authentification OpenShift devient inutilisable.

    Ce problème est résolu par l'utilisation de Kiali SA pour récupérer la version du cluster. Cela permet également d'améliorer la sécurité sur le cluster.

  • OSSM-2371 Bien que Kiali soit configuré en "vue seule", un utilisateur peut modifier le niveau de journalisation du proxy via le menu kebab de l'onglet Logs des détails de la charge de travail. Ce problème a été corrigé afin que les options sous "Set Proxy Log Level" soient désactivées lorsque Kiali est configuré en "view-only"
  • OSSM-2344 Le redémarrage d'Istiod amène Kiali à inonder CRI-O de demandes de transfert de port. Ce problème se produisait lorsque Kiali ne pouvait pas se connecter à Istiod et que Kiali envoyait simultanément un grand nombre de requêtes à istiod. Kiali limite désormais le nombre de requêtes qu'il envoie à istiod.
  • OSSM-2335 En faisant glisser le pointeur de la souris sur le diagramme de dispersion Traces, la console Kiali cessait parfois de répondre en raison des demandes simultanées du backend.
  • OSSM-2053 En utilisant Red Hat OpenShift Service Mesh Operator 2.2 ou 2.3, pendant le rapprochement SMCP, le contrôleur SMMR a supprimé les espaces de noms membres de SMMR.status.configuredMembers. Cela a entraîné l'indisponibilité des services dans les espaces de noms membres pendant quelques instants.

    En utilisant Red Hat OpenShift Service Mesh Operator 2.2 ou 2.3, le contrôleur SMMR ne supprime plus les espaces de noms de SMMR.status.configuredMembers. Au lieu de cela, le contrôleur ajoute les espaces de noms à SMMR.status.pendingMembers pour indiquer qu'ils ne sont pas à jour. Pendant la réconciliation, lorsque chaque espace de noms se synchronise avec le SMCP, l'espace de noms est automatiquement supprimé de SMMR.status.pendingMembers.

  • OSSM-1962 Utiliser EndpointSlices dans le contrôleur de fédération. Le contrôleur de fédération utilise désormais EndpointSlices, ce qui améliore l'évolutivité et les performances dans les grands déploiements. L'indicateur PILOT_USE_ENDPOINT_SLICE est activé par défaut. La désactivation de cet indicateur empêche l'utilisation des déploiements de fédération.
  • OSSM-1668 Un nouveau champ spec.security.jwksResolverCA a été ajouté à la version 2.1 SMCP mais était absent des versions 2.2.0 et 2.2.1. Lors de la mise à niveau d'une version de l'opérateur où ce champ était présent vers une version de l'opérateur où ce champ manquait, le champ .spec.security.jwksResolverCA n'était pas disponible dans la base de données SMCP.
  • OSSM-1325 Le pod istiod se bloque et affiche le message d'erreur suivant : fatal error: concurrent map iteration and map write.
  • OSSM-1211 La configuration des mailles de services fédérés pour le basculement ne fonctionne pas comme prévu.

    Le journal du pilote Istiod affiche l'erreur suivante : envoy connection [C289] TLS error: 337047686:SSL routines:tls_process_server_certificate:certificate verify failed

  • OSSM-1099 La console Kiali affiche le message suivant Sorry, there was a problem. Try a refresh or navigate to a different page.
  • OSSM-1074 Les annotations de pods définies dans SMCP ne sont pas injectées dans les pods.
  • OSSM-999 Kiali retention n'a pas fonctionné comme prévu. Les heures du calendrier étaient grisées dans le graphique du tableau de bord.
  • OSSM-797 Kiali Operator pod génère CreateContainerConfigError lors de l'installation ou de la mise à jour de l'opérateur.
  • OSSM-722 Les espaces de noms commençant par kube sont cachés à Kiali.
  • OSSM-569 Il n'y a pas de limite de mémoire CPU pour le conteneur Prometheus istio-proxy. Le sidecar Prometheus istio-proxy utilise désormais les limites de ressources définies dans spec.proxy.runtime.container.
  • OSSM-535 Prise en charge des validationMessages dans SMCP. Le champ ValidationMessages dans le plan de contrôle de la maille de service peut maintenant être défini sur True. Cela écrit un journal pour l'état des ressources, ce qui peut être utile lors de la résolution des problèmes.
  • OSSM-449 VirtualService and Service causes an error "Only unique values for domains are permitted. Duplicate entry of domain."
  • OSSM-419 Les espaces de noms avec des noms similaires apparaîtront tous dans la liste des espaces de noms de Kiali, même si les espaces de noms ne sont pas définis dans le rôle de membre du maillage de services.
  • OSSM-296 Lors de l'ajout d'une configuration de santé à la ressource personnalisée (CR) de Kiali, celle-ci n'est pas répliquée dans la carte de configuration de Kiali.
  • OSSM-291 Dans la console Kiali, sur les pages Applications, Services et Workloads, la fonction "Remove Label from Filters" ne fonctionne pas.
  • OSSM-289 Dans la console Kiali, sur les pages de détails des services "istio-ingressgateway" et "jaeger-query", aucune trace n'est affichée. Les traces existent dans Jaeger.
  • OSSM-287 Dans la console Kiali, aucune trace n'est affichée sur le service graphique.
  • OSSM-285 En essayant d'accéder à la console Kiali, on reçoit le message d'erreur suivant : "Error trying to get OAuth Metadata".

    Solution : Redémarrer le pod Kiali.

  • MAISTRA-2735 Les ressources que l'opérateur de Service Mesh supprime lors de la réconciliation du SMCP ont changé dans Red Hat OpenShift Service Mesh version 2.1. Auparavant, l'Opérateur supprimait une ressource avec les étiquettes suivantes :

    • maistra.io/owner
    • app.kubernetes.io/version

    Désormais, l'opérateur ignore les ressources qui n'incluent pas le label app.kubernetes.io/managed-by=maistra-istio-operator. Si vous créez vos propres ressources, vous ne devez pas y ajouter le label app.kubernetes.io/managed-by=maistra-istio-operator.

  • MAISTRA-2687 La passerelle de fédération Red Hat OpenShift Service Mesh 2.1 n'envoie pas la chaîne de certificats complète lors de l'utilisation de certificats externes. La passerelle de sortie de la fédération Service Mesh n'envoie que le certificat du client. Étant donné que la passerelle d'entrée de la fédération ne connaît que le certificat racine, elle ne peut pas vérifier le certificat client à moins que vous n'ajoutiez le certificat racine à l'importation de la fédération ConfigMap.
  • MAISTRA-2635 Remplacer l'API Kubernetes obsolète. Pour rester compatible avec OpenShift Container Platform 4.8, l'API apiextensions.k8s.io/v1beta1 est obsolète depuis Red Hat OpenShift Service Mesh 2.0.8.
  • MAISTRA-2631 La fonctionnalité WASM ne fonctionne pas car podman échoue en raison de l'absence du binaire nsenter. Red Hat OpenShift Service Mesh génère le message d'erreur suivant : Error: error configuring CNI network plugin exec: "nsenter": executable file not found in $PATH. L'image du conteneur contient maintenant nsenter et WASM fonctionne comme prévu.
  • MAISTRA-2534 Lorsque istiod tente de récupérer le JWKS pour un émetteur spécifié dans une règle JWT, le service de l'émetteur répond avec un 502. Cela empêchait le conteneur proxy d'être prêt et provoquait l'arrêt des déploiements. La correction du bogue de la communauté a été incluse dans la version 2.0.7 de Service Mesh.
  • MAISTRA-2411 Lorsque l'opérateur crée une nouvelle passerelle d'entrée en utilisant spec.gateways.additionaIngress dans ServiceMeshControlPlane, il ne crée pas de NetworkPolicy pour la passerelle d'entrée supplémentaire comme il le fait pour la passerelle d'entrée par défaut. Cela provoque une réponse 503 de la route de la nouvelle passerelle.

    Solution de contournement : Créez manuellement le site NetworkPolicy dans l'espace de noms <istio-system>.

  • MAISTRA-2401 CVE-2021-3586 servicemesh-operator : Les ressources NetworkPolicy spécifient incorrectement les ports pour les ressources entrantes. Les ressources NetworkPolicy installées pour Red Hat OpenShift Service Mesh ne spécifiaient pas correctement les ports auxquels il était possible d'accéder. Cela permettait d'accéder à tous les ports de ces ressources à partir de n'importe quel pod. Les politiques de réseau appliquées aux ressources suivantes sont affectées :

    • Cuisine
    • Grafana
    • Istiod
    • Jaeger
    • Kiali
    • Prometheus
    • Injecteur Sidecar
  • MAISTRA-2378 Lorsque le cluster est configuré pour utiliser OpenShift SDN avec ovs-multitenant et que le maillage contient un grand nombre d'espaces de noms (200 ), le plugin de mise en réseau d'OpenShift Container Platform est incapable de configurer les espaces de noms rapidement. Service Mesh s'interrompt, ce qui fait que les espaces de noms sont continuellement supprimés du maillage de services, puis réinscrits.
  • MAISTRA-2370 Gestion des pierres tombales dans listerInformer. Le code de base du cache mis à jour ne gérait pas les pierres tombales lors de la traduction des événements des caches d'espace de noms vers le cache agrégé, ce qui entraînait une panique dans la routine go.
  • MAISTRA-2117 Ajout du montage optionnel ConfigMap à l'opérateur. Le CSV contient maintenant un montage optionnel du volume ConfigMap, qui monte le répertoire smcp-templates ConfigMap s'il existe. Si smcp-templates ConfigMap n'existe pas, le répertoire monté est vide. Lorsque vous créez ConfigMap, le répertoire est rempli avec les entrées de ConfigMap et peut être référencé dans SMCP.spec.profiles. Aucun redémarrage de l'opérateur Service Mesh n'est nécessaire.

    Les clients qui utilisent l'opérateur 2.0 avec un CSV modifié pour monter le ConfigMap smcp-templates peuvent mettre à niveau vers Red Hat OpenShift Service Mesh 2.1. Après la mise à niveau, vous pouvez continuer à utiliser un ConfigMap existant, et les profils qu'il contient, sans modifier le CSV. Les clients qui utilisaient précédemment ConfigMap avec un nom différent devront soit renommer le ConfigMap, soit mettre à jour le CSV après la mise à niveau.

  • MAISTRA-2010 AuthorizationPolicy ne prend pas en charge le champ request.regex.headers. Le site validatingwebhook rejette toute AuthorizationPolicy contenant ce champ, et même si vous le désactivez, Pilot essaie de le valider en utilisant le même code, et cela ne fonctionne pas.
  • MAISTRA-1979 Migration to 2.0 Le webhook de conversion supprime les champs importants suivants lors de la conversion de SMCP.status de v2 à v1 :

    • conditions
    • composants
    • observéGénération
    • annotations

      La mise à jour de l'opérateur vers la version 2.0 pourrait interrompre les outils clients qui lisent l'état du SMCP en utilisant la version maistra.io/v1 de la ressource.

      Cela signifie également que les colonnes READY et STATUS sont vides lorsque vous exécutez oc get servicemeshcontrolplanes.v1.maistra.io.

  • MAISTRA-1947 Technology Preview Les mises à jour de ServiceMeshExtensions ne sont pas appliquées.

    Solution de contournement : Supprimez et recréez le site ServiceMeshExtensions.

  • MAISTRA-1983 Migration to 2.0 La mise à jour vers la version 2.0.0 avec un site ServiceMeshControlPlane invalide ne peut pas être facilement réparée. Les éléments non valides de la ressource ServiceMeshControlPlane ont provoqué une erreur irrécupérable. Le correctif permet de récupérer les erreurs. Vous pouvez supprimer la ressource non valide et la remplacer par une nouvelle ou modifier la ressource pour corriger les erreurs. Pour plus d'informations sur l'édition de votre ressource, consultez [Configuration de l'installation de Red Hat OpenShift Service Mesh].
  • MAISTRA-1502 Suite à la correction des CVEs dans la version 1.0.10, les tableaux de bord Istio ne sont pas disponibles à partir du menu Home Dashboard dans Grafana. Pour accéder aux tableaux de bord Istio, cliquez sur le menu Dashboard dans le panneau de navigation et sélectionnez l'onglet Manage.
  • MAISTRA-1399 Red Hat OpenShift Service Mesh ne vous empêche plus d'installer des protocoles CNI non pris en charge. Les configurations réseau prises en charge n'ont pas changé.
  • MAISTRA-1089 Migration to 2.0 Les passerelles créées dans un espace de noms qui n'est pas un plan de contrôle sont automatiquement supprimées. Après avoir supprimé la définition de la passerelle de la spécification SMCP, vous devez supprimer manuellement ces ressources.
  • MAISTRA-858 Les messages de journal Envoy suivants décrivant les options et configurations obsolètes associées à Istio 1.1.x sont attendus :

    • [2019-06-03 07:03:28.943][19][warning][misc] [external/envoy/source/common/protobuf/utility.cc:129] Utilisation de l'option obsolète 'envoy.api.v2.listener.Filter.config'. Cette configuration sera bientôt supprimée d'Envoy.
    • [2019-08-12 22:12:59.001][13][warning][misc] [external/envoy/source/common/protobuf/utility.cc:174] Utilisation de l'option obsolète 'envoy.api.v2.Listener.use_original_dst' du fichier lds.proto. Cette configuration sera bientôt supprimée d'Envoy.
  • MAISTRA-806 L'éviction du pod opérateur Istio entraîne le non-déploiement du maillage et de la CNI.

    Solution de contournement : Si le pod istio-operator est expulsé lors du déploiement du volet de contrôle, supprimez le pod istio-operator expulsé.

  • MAISTRA-681 Lorsque le plan de contrôle du Service Mesh comporte de nombreux espaces de noms, il peut en résulter des problèmes de performance.
  • MAISTRA-193 Des messages d'information inattendus de la console sont visibles lorsque la vérification de l'état de santé est activée pour citadel.
  • Bugzilla 1821432 Les contrôles à bascule dans la page de détails des ressources personnalisées d'OpenShift Container Platform ne mettent pas à jour le CR correctement. Les contrôles UI Toggle dans la page Service Mesh Control Plane (SMCP) Overview de la console web d'OpenShift Container Platform mettent parfois à jour le mauvais champ de la ressource. Pour mettre à jour un SMCP, modifiez le contenu YAML directement ou mettez à jour la ressource à partir de la ligne de commande au lieu de cliquer sur les contrôles à bascule.

1.2.6.2. Red Hat OpenShift a corrigé des problèmes de traçage distribué

  • OSSM-1910 En raison d'un problème introduit dans la version 2.6, les connexions TLS ne pouvaient pas être établies avec OpenShift Container Platform Service Mesh. Cette mise à jour résout le problème en changeant les noms des ports de service pour qu'ils correspondent aux conventions utilisées par OpenShift Container Platform Service Mesh et Istio.
  • OBSDA-208 Avant cette mise à jour, les limites de ressources par défaut de 200 m de CPU et 256 m de mémoire pouvaient entraîner un redémarrage continu de la collecte des données de traçage distribué sur les grands clusters. Cette mise à jour résout le problème en supprimant ces limites de ressources.
  • OBSDA-222 Avant cette mise à jour, des spans pouvaient être abandonnés dans la plateforme de traçage distribuée OpenShift Container Platform. Pour aider à prévenir ce problème, cette version met à jour les dépendances de version.
  • TRACING-2337 Jaeger enregistre un message d'avertissement répétitif dans les journaux de Jaeger, similaire à ce qui suit :

    {"level":"warn","ts":1642438880.918793,"caller":"channelz/logging.go:62","msg":"[core]grpc: Server.Serve failed to create ServerTransport: connection error: desc = \"transport: http2Server.HandleStreams received bogus greeting from client: \\\"\\\\x16\\\\x03\\\\x01\\\\x02\\\\x00\\\\x01\\\\x00\\\\x01\\\\xfc\\\\x03\\\\x03vw\\\\x1a\\\\xc9T\\\\xe7\\\\xdaCj\\\\xb7\\\\x8dK\\\\xa6\\\"\"","system":"grpc","grpc_log":true}

    Ce problème a été résolu en exposant uniquement le port HTTP(S) du service de requête, et non le port gRPC.

  • TRACING-2009 L'opérateur Jaeger a été mis à jour pour inclure le support de l'opérateur Strimzi Kafka 0.23.0.
  • TRACING-1907 L'injection du sidecar de l'agent Jaeger échouait en raison de l'absence de cartes de configuration dans l'espace de noms de l'application. Les cartes de configuration étaient automatiquement supprimées en raison d'un paramètre de champ OwnerReference incorrect et, par conséquent, les pods d'application ne dépassaient pas l'étape "ContainerCreating". Les paramètres incorrects ont été supprimés.
  • TRACING-1725 Suivi de TRACING-1631. Correction supplémentaire pour s'assurer que les certificats Elasticsearch sont correctement réconciliés lorsqu'il y a plusieurs instances de production Jaeger, utilisant le même nom mais dans des espaces de noms différents. Voir aussi BZ-1918920.
  • TRACING-1631 Plusieurs instances de production Jaeger, utilisant le même nom mais dans des espaces de noms différents, causant un problème de certificat Elasticsearch. Lorsque plusieurs maillages de services étaient installés, toutes les instances Elasticsearch de Jaeger avaient le même secret Elasticsearch au lieu de secrets individuels, ce qui empêchait l'opérateur Elasticsearch d'OpenShift de communiquer avec tous les clusters Elasticsearch.
  • TRACING-1300 Échec de la connexion entre l'agent et le collecteur lors de l'utilisation d'Istio sidecar. Une mise à jour de l'opérateur Jaeger a activé la communication TLS par défaut entre un agent Jaeger sidecar et le collecteur Jaeger.
  • TRACING-1208 Authentification "500 Internal Error" lors de l'accès à l'interface utilisateur de Jaeger. Lorsque j'essaie de m'authentifier à l'interface utilisateur en utilisant OAuth, j'obtiens une erreur 500 parce que le sidecar oauth-proxy ne fait pas confiance à l'ensemble d'autorités de certification personnalisées défini lors de l'installation avec l'adresse additionalTrustBundle.
  • TRACING-1166 Il n'est actuellement pas possible d'utiliser la stratégie de streaming Jaeger dans un environnement déconnecté. Lorsqu'un cluster Kafka est en cours de provisionnement, il en résulte une erreur : Failed to pull image registry.redhat.io/amq7/amq-streams-kafka-24-rhel7@sha256:f9ceca004f1b7dccb3b82d9a8027961f9fe4104e0ed69752c0bdd8078b4a1076.
  • TRACING-809 Jaeger Ingester est incompatible avec Kafka 2.3. Lorsqu'il y a deux ou plusieurs instances de Jaeger Ingester et un trafic suffisant, il génère continuellement des messages de rééquilibrage dans les journaux. Ceci est dû à une régression dans Kafka 2.3 qui a été corrigée dans Kafka 2.3.1. Pour plus d'informations, voir Jaegertracing-1819.
  • BZ-1918920/LOG-1619 Les pods Elasticsearch ne sont pas redémarrés automatiquement après une mise à jour.

    Solution : Redémarrer les pods manuellement.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.