Rechercher

1.24. Référence de configuration du plan de contrôle Service Mesh

download PDF

Vous pouvez personnaliser votre Red Hat OpenShift Service Mesh en modifiant la ressource par défaut ServiceMeshControlPlane (SMCP) ou en créant une ressource SMCP entièrement personnalisée. Cette section de référence documente les options de configuration disponibles pour la ressource SMCP.

1.24.1. Service Mesh Paramètres du plan de contrôle

Le tableau suivant répertorie les paramètres de premier niveau de la ressource ServiceMeshControlPlane.

Tableau 1.31. ServiceMeshControlPlane paramètres des ressources
NomDescriptionType

apiVersion

APIVersion définit le schéma versionné de cette représentation d'un objet. Les serveurs convertissent les schémas reconnus à la dernière valeur interne et peuvent rejeter les valeurs non reconnues. La valeur pour la version 2.0 de ServiceMeshControlPlane est maistra.io/v2.

La valeur pour ServiceMeshControlPlane version 2.0 est maistra.io/v2.

kind

Kind est une chaîne de caractères qui représente la ressource REST que cet objet représente.

ServiceMeshControlPlane est la seule valeur valable pour un ServiceMeshControlPlane.

metadata

Métadonnées sur cette instance ServiceMeshControlPlane. Vous pouvez donner un nom à votre installation du plan de contrôle Service Mesh pour garder une trace de votre travail, par exemple basic.

chaîne de caractères

spec

La spécification de l'état souhaité de ce site ServiceMeshControlPlane. Cela inclut les options de configuration pour tous les composants qui constituent le plan de contrôle du Service Mesh.

Pour plus d'informations, voir le tableau 2.

status

L'état actuel de ce site ServiceMeshControlPlane et des composants qui constituent le plan de contrôle du Service Mesh.

Pour plus d'informations, voir le tableau 3.

Le tableau suivant répertorie les spécifications de la ressource ServiceMeshControlPlane. La modification de ces paramètres configure les composants de Red Hat OpenShift Service Mesh.

Tableau 1.32. ServiceMeshControlPlane spécification des ressources
NomDescriptionParamètres configurables

addons

Le paramètre addons permet de configurer des fonctions supplémentaires au-delà des composants de base du plan de contrôle de Service Mesh, telles que la visualisation ou le stockage de métriques.

3scale, grafana, jaeger, kiali, et prometheus.

cluster

Le paramètre cluster définit la configuration générale du cluster (nom du cluster, nom du réseau, multi-cluster, expansion du maillage, etc.)

meshExpansion, multiCluster, name, et network

gateways

Le paramètre gateways permet de configurer les passerelles d'entrée et de sortie du réseau maillé.

enabled, additionalEgress, additionalIngress, egress, ingress, et openshiftRoute

general

Le paramètre general représente la configuration générale du plan de contrôle du Service Mesh qui n'a pas sa place ailleurs.

logging et validationMessages

policy

Le paramètre policy permet de configurer le contrôle des règles pour le plan de contrôle Service Mesh. Le contrôle des stratégies peut être activé en réglant spec.policy.enabled sur true.

mixer remote ou type. type peut être défini comme Istiod, Mixer ou None.

profiles

Le paramètre profiles permet de sélectionner le profil ServiceMeshControlPlane à utiliser pour les valeurs par défaut.

default

proxy

Le paramètre proxy permet de configurer le comportement par défaut des sidecars.

accessLogging, adminPort, concurrency, et envoyMetricsService

runtime

Le paramètre runtime permet de configurer les composants du plan de contrôle du Service Mesh.

componentset defaults

security

Le paramètre security permet de configurer les aspects de la sécurité pour le plan de contrôle du Service Mesh.

certificateAuthority, controlPlane, identity, dataPlane et trust

techPreview

Le paramètre techPreview permet un accès anticipé aux fonctionnalités qui sont en avant-première technologique.

N/A

telemetry

Si spec.mixer.telemetry.enabled est réglé sur true, la télémétrie est activée.

mixer remote type type peut être réglé sur , ou . Istiod Mixer None

tracing

Le paramètre tracing permet d'activer le traçage distribué pour le maillage.

sampling type. peut être défini comme ou . type Jaeger None

version

Vous utilisez le paramètre version pour spécifier la version Maistra du plan de contrôle Service Mesh à installer. Lors de la création d'un ServiceMeshControlPlane avec une version vide, le webhook d'admission fixe la version à la version actuelle. Les nouveaux ServiceMeshControlPlanes dont la version est vide sont définis sur v2.0. Les ServiceMeshControlPlanes existants dont la version est vide conservent leur paramètre.

chaîne de caractères

ControlPlaneStatus représente l'état actuel de votre maillage de services.

Tableau 1.33. ServiceMeshControlPlane ressource ControlPlaneStatus
NomDescriptionType

annotations

Le paramètre annotations stocke des informations d'état supplémentaires, généralement redondantes, telles que le nombre de composants déployés par l'outil ServiceMeshControlPlane. Ces états sont utilisés par l'outil de ligne de commande oc, qui ne permet pas encore de compter les objets dans les expressions JSONPath.

Non configurable

conditions

Représente les dernières observations disponibles sur l'état actuel de l'objet. Reconciled indique si l'opérateur a fini de réconcilier l'état réel des composants déployés avec la configuration de la ressource ServiceMeshControlPlane. Installed indique si le plan de contrôle Service Mesh a été installé. Ready indique si tous les composants du plan de contrôle Service Mesh sont prêts.

chaîne de caractères

components

Indique l'état de chaque composant du plan de contrôle Service Mesh déployé.

chaîne de caractères

appliedSpec

La spécification résultante des options de configuration après l'application de tous les profils.

ControlPlaneSpec

appliedValues

Le fichier values.yaml utilisé pour générer les graphiques.

ControlPlaneSpec

chartVersion

La version des graphiques qui a été traitée pour la dernière fois pour cette ressource.

chaîne de caractères

observedGeneration

Génération observée par le contrôleur lors du dernier rapprochement. Les informations contenues dans le statut se rapportent à cette génération particulière de l'objet. Le site status.conditions n'est pas à jour si le champ status.observedGeneration ne correspond pas à metadata.generation.

entier

operatorVersion

La version de l'opérateur qui a traité cette ressource en dernier.

chaîne de caractères

readiness

L'état de préparation des ressources appartenant aux composantes &.

chaîne de caractères

Cet exemple de définition de ServiceMeshControlPlane contient tous les paramètres pris en charge.

Exemple de ressource ServiceMeshControlPlane

apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
spec:
  version: v2.3
  proxy:
    runtime:
      container:
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 500m
            memory: 128Mi
  tracing:
    type: Jaeger
  gateways:
    ingress: # istio-ingressgateway
      service:
        type: ClusterIP
        ports:
        - name: status-port
          port: 15020
        - name: http2
          port: 80
          targetPort: 8080
        - name: https
          port: 443
          targetPort: 8443
      meshExpansionPorts: []
    egress: # istio-egressgateway
      service:
        type: ClusterIP
        ports:
        - name: status-port
          port: 15020
        - name: http2
          port: 80
          targetPort: 8080
        - name: https
          port: 443
          targetPort: 8443
    additionalIngress:
      some-other-ingress-gateway: {}
    additionalEgress:
      some-other-egress-gateway: {}

  policy:
    type: Mixer
    mixer: # only applies if policy.type: Mixer
      enableChecks: true
      failOpen: false

  telemetry:
    type: Istiod # or Mixer
    mixer: # only applies if telemetry.type: Mixer, for v1 telemetry
      sessionAffinity: false
      batching:
        maxEntries: 100
        maxTime: 1s
      adapters:
        kubernetesenv: true
        stdio:
          enabled: true
          outputAsJSON: true
  addons:
    grafana:
      enabled: true
      install:
        config:
          env: {}
          envSecrets: {}
        persistence:
          enabled: true
          storageClassName: ""
          accessMode: ReadWriteOnce
          capacity:
            requests:
              storage: 5Gi
        service:
          ingress:
            contextPath: /grafana
            tls:
              termination: reencrypt
    kiali:
      name: kiali
      enabled: true
      install: # install kiali CR if not present
        dashboard:
          viewOnly: false
          enableGrafana: true
          enableTracing: true
          enablePrometheus: true
      service:
        ingress:
          contextPath: /kiali
    jaeger:
      name: jaeger
      install:
        storage:
          type: Elasticsearch # or Memory
          memory:
            maxTraces: 100000
          elasticsearch:
            nodeCount: 3
            storage: {}
            redundancyPolicy: SingleRedundancy
            indexCleaner: {}
        ingress: {} # jaeger ingress configuration
  runtime:
    components:
      pilot:
        deployment:
          replicas: 2
        pod:
          affinity: {}
        container:
          resources:
            requests:
              cpu: 100m
              memory: 128Mi
            limits:
              cpu: 500m
              memory: 128Mi
      grafana:
        deployment: {}
        pod: {}
      kiali:
        deployment: {}
        pod: {}

1.24.2. paramètres du spec

1.24.2.1. paramètres généraux

Voici un exemple qui illustre les paramètres spec.general pour l'objet ServiceMeshControlPlane et une description des paramètres disponibles avec les valeurs appropriées.

Exemple de paramètres généraux

apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
spec:
  general:
    logging:
      componentLevels: {}
          # misc: error
      logAsJSON: false
    validationMessages: true

Tableau 1.34. Paramètres généraux d'Istio
ParamètresDescriptionValeursValeur par défaut
l'exploitation forestière :

Permet de configurer la journalisation pour les composants du plan de contrôle de Service Mesh.

 

N/A

logging:
 componentLevels:

Permet de spécifier le niveau de journalisation du composant.

Valeurs possibles : trace, debug, info, warning, error, fatal, panic.

N/A

logging:
 logAsJSON:

Permet d'activer ou de désactiver la journalisation JSON.

true/false

N/A

validationMessages :

Permet d'activer ou de désactiver les messages de validation des champs d'état des ressources istio.io. Cela peut être utile pour détecter les erreurs de configuration dans les ressources.

true/false

N/A

1.24.2.2. paramètres des profils

Vous pouvez créer des configurations réutilisables avec les profils d'objets ServiceMeshControlPlane. Si vous ne configurez pas le paramètre profile, Red Hat OpenShift Service Mesh utilise le profil par défaut.

Voici un exemple qui illustre le paramètre spec.profiles pour l'objet ServiceMeshControlPlane:

Exemple de paramètres de profils

apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
spec:
  profiles:
  - YourProfileName

Pour plus d'informations sur la création de profils, voir la section Création de profils de plan de contrôle.

Pour des exemples plus détaillés de configuration de la sécurité, voir Mutual Transport Layer Security (mTLS).

1.24.2.3. paramètres de techPreview

Le paramètre spec.techPreview permet un accès anticipé aux fonctionnalités qui font l'objet d'un aperçu technologique.

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.24.2.4. paramètres de traçage

L'exemple suivant illustre les paramètres spec.tracing pour l'objet ServiceMeshControlPlane, ainsi qu'une description des paramètres disponibles avec les valeurs appropriées.

Exemple de paramètres de traçage

apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
spec:
  version: v2.3
  tracing:
    sampling: 100
    type: Jaeger

Tableau 1.35. Paramètres de traçage d'Istio
ParamètresDescriptionValeursValeur par défaut
tracing:
 sampling:

Le taux d'échantillonnage détermine la fréquence à laquelle le proxy Envoy génère une trace. Vous utilisez le taux d'échantillonnage pour contrôler le pourcentage de requêtes qui sont signalées à votre système de traçage.

Valeurs entières entre 0 et 10000 représentant des incréments de 0,01% (0 à 100%). Par exemple, la valeur 10 échantillonne 0,1 % des demandes, la valeur 100 échantillonne 1 % des demandes, la valeur 500 échantillonne 5 % des demandes et la valeur 10000 échantillonne 100 % des demandes.

10000 (100% des traces)

tracing:
 type:

Actuellement, le seul type de traçage pris en charge est Jaeger. Jaeger est activé par défaut. Pour désactiver le traçage, définissez le paramètre type sur None.

None, Jaeger

Jaeger

1.24.2.5. paramètre de version

L'Opérateur Red Hat OpenShift Service Mesh prend en charge l'installation de différentes versions de ServiceMeshControlPlane. Vous utilisez le paramètre de version pour spécifier la version du plan de contrôle Service Mesh à installer. Si vous ne spécifiez pas de paramètre de version lors de la création de votre SMCP, l'Opérateur définit la valeur de la dernière version : (2.3). Les objets ServiceMeshControlPlane existants conservent leur paramètre de version lors des mises à niveau de l'opérateur.

1.24.2.6. configuration 3scale

Le tableau suivant explique les paramètres de l'adaptateur Istio 3scale dans la ressource ServiceMeshControlPlane.

Exemple de paramètres 3scale

spec:
  addons:
    3Scale:
      enabled: false
      PARAM_THREESCALE_LISTEN_ADDR: 3333
      PARAM_THREESCALE_LOG_LEVEL: info
      PARAM_THREESCALE_LOG_JSON: true
      PARAM_THREESCALE_LOG_GRPC: false
      PARAM_THREESCALE_REPORT_METRICS: true
      PARAM_THREESCALE_METRICS_PORT: 8080
      PARAM_THREESCALE_CACHE_TTL_SECONDS: 300
      PARAM_THREESCALE_CACHE_REFRESH_SECONDS: 180
      PARAM_THREESCALE_CACHE_ENTRIES_MAX: 1000
      PARAM_THREESCALE_CACHE_REFRESH_RETRIES: 1
      PARAM_THREESCALE_ALLOW_INSECURE_CONN: false
      PARAM_THREESCALE_CLIENT_TIMEOUT_SECONDS: 10
      PARAM_THREESCALE_GRPC_CONN_MAX_SECONDS: 60
      PARAM_USE_CACHED_BACKEND: false
      PARAM_BACKEND_CACHE_FLUSH_INTERVAL_SECONDS: 15
      PARAM_BACKEND_CACHE_POLICY_FAIL_CLOSED: true

Tableau 1.36. paramètres 3scale
ParamètresDescriptionValeursValeur par défaut

enabled

Utilisation ou non de l'adaptateur 3scale

true/false

false

PARAM_THREESCALE_LISTEN_ADDR

Définit l'adresse d'écoute du serveur gRPC

Numéro de port valide

3333

PARAM_THREESCALE_LOG_LEVEL

Définit le niveau minimum de sortie du journal.

debug, info, warn, error, ou none

info

PARAM_THREESCALE_LOG_JSON

Contrôle si le journal est formaté en JSON

true/false

true

PARAM_THREESCALE_LOG_GRPC

Contrôle si le journal contient des informations gRPC

true/false

true

PARAM_THREESCALE_REPORT_METRICS

Contrôle si les métriques du système 3scale et du backend sont collectées et rapportées à Prometheus

true/false

true

PARAM_THREESCALE_METRICS_PORT

Définit le port à partir duquel le point d'extrémité 3scale /metrics peut être mis au rebut

Numéro de port valide

8080

PARAM_THREESCALE_CACHE_TTL_SECONDS

Délai, en secondes, à attendre avant de purger les éléments expirés de la mémoire cache

Période de temps en secondes

300

PARAM_THREESCALE_CACHE_REFRESH_SECONDS

Période de temps avant l'expiration au cours de laquelle les éléments du cache sont tentés d'être rafraîchis

Période de temps en secondes

180

PARAM_THREESCALE_CACHE_ENTRIES_MAX

Nombre maximal d'éléments pouvant être stockés dans le cache à tout moment. La valeur 0 permet de désactiver la mise en cache

Numéro valide

1000

PARAM_THREESCALE_CACHE_REFRESH_RETRIES

Le nombre de fois où les hôtes inaccessibles sont réessayés pendant une boucle de mise à jour du cache

Numéro valide

1

PARAM_THREESCALE_ALLOW_INSECURE_CONN

Permet d'ignorer la vérification des certificats lors de l'appel des API 3scale. Il n'est pas recommandé d'activer cette option.

true/false

false

PARAM_THREESCALE_CLIENT_TIMEOUT_SECONDS

Définit le nombre de secondes à attendre avant de terminer les requêtes vers le système 3scale et le backend

Période de temps en secondes

10

PARAM_THREESCALE_GRPC_CONN_MAX_SECONDS

Définit le nombre maximum de secondes ( /-10% de gigue) qu'une connexion peut durer avant d'être fermée

Période de temps en secondes

60

PARAM_USE_CACHE_BACKEND

Si true, tentative de création d'un cache d'apisonator en mémoire pour les demandes d'autorisation

true/false

false

PARAM_BACKEND_CACHE_FLUSH_INTERVAL_SECONDS

Si le cache du backend est activé, ceci définit l'intervalle en secondes pour vider le cache par rapport à 3scale

Période de temps en secondes

15

PARAM_BACKEND_CACHE_POLICY_FAIL_CLOSED

Lorsque le cache du backend ne peut pas récupérer les données d'autorisation, il convient de refuser (fermé) ou d'autoriser (ouvert) les demandes

true/false

true

1.24.3. paramètre d'état

Le paramètre status décrit l'état actuel de votre maillage de services. Cette information est générée par l'opérateur et est en lecture seule.

Tableau 1.37. Paramètres d'état d'Istio
NomDescriptionType

observedGeneration

Génération observée par le contrôleur lors du dernier rapprochement. Les informations contenues dans le statut se rapportent à cette génération particulière de l'objet. Le site status.conditions n'est pas à jour si le champ status.observedGeneration ne correspond pas à metadata.generation.

entier

annotations

Le paramètre annotations stocke des informations d'état supplémentaires, généralement redondantes, telles que le nombre de composants déployés par l'objet ServiceMeshControlPlane. Ces statuts sont utilisés par l'outil de ligne de commande oc, qui ne permet pas encore de compter les objets dans les expressions JSONPath.

Non configurable

readiness

L'état de préparation des composants et des ressources détenues.

chaîne de caractères

operatorVersion

La version de l'opérateur qui a traité cette ressource en dernier.

chaîne de caractères

components

Indique l'état de chaque composant du plan de contrôle Service Mesh déployé.

chaîne de caractères

appliedSpec

La spécification résultante des options de configuration après l'application de tous les profils.

ControlPlaneSpec

conditions

Représente les dernières observations disponibles sur l'état actuel de l'objet. Reconciled indique que l'opérateur a fini de réconcilier l'état réel des composants déployés avec la configuration de la ressource ServiceMeshControlPlane. Installed indique que le plan de contrôle du Service Mesh a été installé. Ready indique que tous les composants du plan de contrôle du Service Mesh sont prêts.

chaîne de caractères

chartVersion

La version des graphiques qui a été traitée pour la dernière fois pour cette ressource.

chaîne de caractères

appliedValues

Le fichier values.yaml qui a été utilisé pour générer les graphiques.

ControlPlaneSpec

1.24.4. Ressources supplémentaires

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.