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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
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
-
Dans la console web d'OpenShift Container Platform, cliquez sur Operators
Installed Operators. -
Sélectionnez le projet dans lequel vous avez installé le plan de contrôle Service Mesh, par exemple
istio-system
, dans le menu Projet. -
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 exemplebasic-install
. -
Sur la page Create ServiceMeshControlPlane Details, cliquez sur
YAML
pour modifier votre configuration. Définissez le champ
ServiceMeshControlPlane
spec.security.manageNetworkPolicy
surfalse
, comme indiqué dans cet exemple.apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane spec: security: trust: manageNetworkPolicy: false
- 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
Composant | Version |
---|---|
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 ressourceServiceMeshPeer
. -
ExportedServiceMeshSet
- Définit les services d'un siteServiceMeshPeer
donné que le réseau homologue peut importer. -
ImportedServiceSet
- Définit les services d'un siteServiceMeshPeer
donné qui sont importés du réseau homologue. Ces services doivent également être mis à disposition par la ressourceExportedServiceMeshSet
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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
Composant | Version |
---|---|
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.
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.
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
ounotPaths
. -
Vos politiques d'autorisation utilisent des modèles de champ
ALLOW action paths
ouDENY 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.
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 :
Option | Description | Exemple : | Notes |
---|---|---|---|
| Aucune normalisation n'est effectuée. Tout ce qui est reçu par Envoy est transmis tel quel à un service de backend. |
| Ce paramètre est vulnérable à la CVE-2021-31920. |
|
C'est actuellement l'option utilisée dans l'installation d'Istio sur default. Elle applique l'option |
| Ce paramètre est vulnérable à la CVE-2021-31920. |
| Les barres obliques sont fusionnées après la normalisation BASE. |
| La mise à jour de ce paramètre permet d'atténuer la CVE-2021-31920. |
|
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 ( |
| 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 :
-
Décodez en pourcentage
/
,/
,\
et\
. -
La normalisation RFC 3986 et d'autres normalisations implémentées par l'option
normalize_path
dans Envoy. - Fusionner les barres obliques.
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 :
- Utilisé pour vérifier les politiques d'autorisation.
- Transmis à l'application dorsale.
Si votre candidature.. | Choisissez.. |
---|---|
S'appuie sur le proxy pour effectuer la normalisation |
|
Normalise les chemins d'accès aux requêtes sur la base de la RFC 3986 et ne fusionne pas les barres obliques. |
|
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. |
|
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. |
|
Traite les chemins de requête d'une manière incompatible avec la RFC 3986. |
|
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.
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)
-
Utiliser
ServiceMeshPolicy
(maistra.io/v1) n'est plus supporté.-
Utilisez
RequestAuthentication
ouPeerAuthentication
, comme indiqué ci-dessus, mais placez-les dans l'espace de noms du plan de contrôle Service Mesh.
-
Utilisez
RbacConfig
(rbac.istio.io/v1alpha1) n'est plus supporté.-
Remplacé par
AuthorizationPolicy
(security.istio.io/v1beta1), qui englobe les comportements deRbacConfig
,ServiceRole
, etServiceRoleBinding
.
-
Remplacé par
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.
-
Utiliser
-
ServiceRole
(rbac.istio.io/v1alpha1) n'est plus supporté. -
ServiceRoleBinding
(rbac.istio.io/v1alpha1) n'est plus supporté. -
Dans Kiali, les stratégies
login
etLDAP
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 êtredefault
. Si le nom estdefault
, alors le plan de contrôle échoue à se déployer, et OpenShift génère un événementWarning
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 utilisezServiceMeshExtension
sur OpenShift Container Platform 4.11, la ressource n'est jamais prête. Si vous inspectez le problème en utilisantoc 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 deServiceMeshExtension
vers la ressourceWasmPlugin
. Pour plus d'informations, voir Migration des ressourcesServiceMeshExtension
versWasmPlugin
.-
OSSM-1396 Si une ressource passerelle contient le paramètre
spec.externalIPs
, au lieu d'être recréée lors de la mise à jour deServiceMeshControlPlane
, 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'APIspec.proxy
ne s'est pas propagé à l'istio-proxy. Le champconcurrency
fonctionne lorsqu'il est défini avecProxyConfig
. Le champconcurrency
spécifie le nombre de threads de travailleur à exécuter. Si le champ est défini sur0
, 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 de2
.Dans l'exemple suivant, le champ
concurrency
est défini comme0
.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 deEnvoyFilter
, 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 surtrue
) 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
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'utilitaireiptables-restore
à ouvrir des fichiers dans le répertoire/tmp
. Désormais, SELinux transmetiptables-restore
via le flux d'entréestdin
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
ettolerations
par défaut dans SMCP ne sont pas transmis à Kiali. LesnodeSelector
ettolerations
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
ettolerations
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 ressourceServiceMeshMemberRoll
. Bien que ce comportement soit attendu lorsque vous supprimez la dernière ressourceServiceMeshMember
, l'opérateur ne doit pas supprimer la ressourceServiceMeshMemberRoll
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 ressourceServiceMeshMember
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 comptesystem: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é deSMMR.status.pendingMembers
.-
OSSM-1962 Utiliser
EndpointSlices
dans le contrôleur de fédération. Le contrôleur de fédération utilise désormaisEndpointSlices
, 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.1SMCP
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éesSMCP
. -
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 Prometheusistio-proxy
utilise désormais les limites de ressources définies dansspec.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 surTrue
. 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 labelapp.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
dansServiceMeshControlPlane
, il ne crée pas deNetworkPolicy
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 volumeConfigMap
, qui monte le répertoiresmcp-templates
ConfigMap
s'il existe. Sismcp-templates
ConfigMap
n'existe pas, le répertoire monté est vide. Lorsque vous créezConfigMap
, le répertoire est rempli avec les entrées deConfigMap
et peut être référencé dansSMCP.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 sitevalidatingwebhook
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 ressourceServiceMeshControlPlane
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 podistio-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.