Cómo instalar Istio Service Mesh en OpenShift 4.x

El
Puedes descargar este artículo en formato PDF para apoyarnos a través del siguiente enlace.

Descarga la guía en PDF

apagar
El

El
El

Service Mesh proporciona una forma unificada de conectar, proteger y monitorear aplicaciones de microservicios en el entorno de contenedores de OpenShift/Kubernetes. La cuadrícula se puede describir como una red de microservicios que compone las aplicaciones en una arquitectura de microservicios distribuidos. Este tutorial lo guiará a través de los pasos para instalar Istio Service Mesh en un clúster OpenShift 4.x.

Red Hat OpenShift service mesh se basa en código abiertoA eseproyecto. Facilita la creación de una red de servicios implementados que proporciona descubrimiento, equilibrio de carga, autenticación de servicio a servicio, recuperación de fallas, métricas y monitoreo.

Características de la red de servicios de Istio

  • La gestión del tráfico– Controlar el flujo entre los servicios y el flujo de llamadas API para que la llamada sea más confiable y la red más robusta en condiciones adversas.
  • Servicio de identidad y seguridad– Proporcione identidades verificables para los servicios en la red de malla y proteja el tráfico del servicio para que no fluya a través de la red con diversos grados de credibilidad.
  • Implementación de políticas– Aplicar políticas organizacionales a la interacción entre servicios para asegurar que se implementen políticas de acceso y que los recursos se distribuyan equitativamente entre los consumidores. Los cambios de política se realizan a través de la cuadrícula de configuración, no a través de cambios en el código de la aplicación.
  • telemetría– Comprender las dependencias entre servicios y la naturaleza y el flujo de tráfico entre servicios para que los problemas puedan descubrirse rápidamente

Componentes de la red de servicios de Istio

La red de servicios de Istio se divide en un plano de control y un plano de datos.

Componentes del plano de control:

  • piloto– Configure el proxy Envoy Sidecar en tiempo de ejecución.
  • mezclador– Implementar políticas de control de acceso y uso. También es responsable de recopilar datos de telemetría de los agentes de Envoy y otros servicios.
  • fortaleza– Para la gestión de certificados – emisión y rotación.
  • Gary– Esto incorporará la configuración de malla de servicio y luego verificará, procesará y distribuirá la configuración.

Plano de datos:

deplano de datosPor un grupo de agentes inteligentes (messenger) Implementado como sidecar. Estos agentes median y controlan todas las comunicaciones de red entre microservicios. También recopilan e informan de telemetría en todo el tráfico de la red de malla.

Las características integradas de Envoy incluyen:

  • Descubrimiento de servicios dinámicos
  • Balanceo de carga
  • terminación TLS
  • Proxy HTTP/2 y gRPC
  • interruptor automático
  • Examen de salud
  • Lanzado por etapas, distribuyendo el tráfico por porcentaje
  • Inyección de fallas
  • Indicadores ricos

Red Hat OpenShift Service Mesh también proporciona funciones de operación más complejas, que incluyen:

  • Prueba A/B
  • lanzamiento canario
  • Límite de velocidad
  • Control de acceso
  • Autenticación de extremo a extremo

Instalar Istio Service Mesh en OpenShift 4.x

Ahora, siga los siguientes pasos para instalar y configurar Red Hat OpenShift Service Mesh basado en Istio. deOperador de organizaciónSe utilizará para gestionar la instalación del avión de control de Istio.

Paso 1: Instalar el Operador de Elasticsearch

deBúsqueda elásticaLos operadores le permiten configurar y administrar clústeres de Elasticsearch para rastrear y registrar con Jaeger.

Inicie sesión en la consola web de OpenShift Container Platform y vaya aOperadores>OperadorHub> BuscarBúsqueda elástica operador

Haga clic en "instalación“.

SeleccionarTodos los espacios de nombres en el clúster (predeterminado)Se utiliza para el modo de instalación y la estrategia de aprobación automática.

Haga clic en Suscribirse para iniciar la instalación.

Paso 2: Instale el operador Jaeger

Jaeger-LeCoultreLe permite realizar un seguimiento para monitorear y solucionar problemas de transacciones en sistemas distribuidos complejos.

NavegaciónOperadores>OperadorHub> BuscarOperador de Jaeger-LeCoultre

Haga clic en "continuar“, Y luego elija las otras configuraciones a continuación para suscribirse.

Paso 3: Instale el Operador Kiali

KellyLe permite ver la configuración, monitorear el tráfico y ver y analizar los seguimientos en una sola consola. Para instalarlo, busque “Operador Kiali"EnOperadorHub.

Elija el método de instalación, los canales de actualización y la estrategia de aprobación.

Los tres operadores ahora deberían estar instalados.

Paso 4: Instale el operador Red Hat OpenShift Service Mesh

Después de instalar los operadores Jaeger, Kiali y Elasticsearch, continúe instalando Istio Service Mesh Operator proporcionado por Red Hat.

NavegaciónOperadores>OperadorHub>Malla de servicio OpenShift de Red Hat

SeleccionarTodos los espacios de nombres en el clúster (predeterminado)Instale Service Mesh Operator en el proyecto openshift-operators.

Por favor haz clickinstalaciónconestableUsar canal de actualizaciónautomáticoestrategia de aprobación.

El operador debe seropenshift-operatorsproyecto.

Paso 5: configurar el plano de control de malla de servicio

Ahora podemos implementar el plano de control de malla de servicio, que define la configuración para la instalación del plano de control.

Crear un nuevo proyecto:Hogar>Proyecto>crear un proyecto

proyecto con nombreSistema de organización

El proyecto creado cambiará automáticamente al nuevo proyecto en OpenShift. NavegaciónOperadores>Operadores instalados>A ese Plano de control de malla de servicio

Haz clic en crearPlanoDeControlDeMallaDeServicio

La plantilla ServiceMeshControlPlane predeterminada se proporciona en formato YAML. Modifíquelos para adaptarlos a su caso de uso. Puedes referirte apersonalizadoGuía para obtener información más detallada.

Personalicé la configuración como se muestra a continuación.

Nota:No copie y pegue esta configuración, ya que permite ejecutar los servicios de Istio en el nodo base contaminado. ¡Puede que no te funcione!

apiVersion: maistra.io/v1
kind: ServiceMeshControlPlane
metadata:
  name: full-install
  namespace: istio-system
spec:
  istio:
    global:
      proxy:
        accessLogFile: "/dev/stdout"
      mtls:
        enabled: false
      disablePolicyChecks: true
      policyCheckFailOpen: false
      outboundTrafficPolicy:
          mode: "REGISTRY_ONLY"
    gateways:
      istio-ingressgateway:
        autoscaleEnabled: true
        ior_enabled: true
      istio-egressgateway:
        autoscaleEnabled: true
        nodeSelector:
          node-role.kubernetes.io/infra: ""
        tolerations:
          - key: infra
            value: reserved
            effect: NoSchedule
          - key: infra
            value: reserved
            effect: NoExecute
    mixer:
      enabled: true
      nodeSelector:
        node-role.kubernetes.io/infra: ""
      tolerations:
        - key: infra
          value: reserved
          effect: NoSchedule
        - key: infra
          value: reserved
          effect: NoExecute
    kiali:
      enabled: true
      dashboard:
        viewOnlyMode: false
      ingress:
        enabled: true
      nodeSelector:
        node-role.kubernetes.io/infra: ""
      tolerations:
        - key: infra
          value: reserved
          effect: NoSchedule
        - key: infra
          value: reserved
          effect: NoExecute
    grafana:
      enabled: true
      nodeSelector:
        node-role.kubernetes.io/infra: ""
      tolerations:
        - key: infra
          value: reserved
          effect: NoSchedule
        - key: infra
          value: reserved
          effect: NoExecute
    tracing:
      enabled: true
      jaeger:
        template: all-in-one

Haga clic en "crear“Y el panel de control debería comenzar la instalación.

Puede comprobar el estado de la instalación del plano de control desde la CLI

$ oc get smcp -n istio-system

Puede ver el progreso del Pod cuando se crea.

$ oc get pods -n istio-system -w

Paso 6: configurar el volumen del miembro de malla de servicio

ServiceMeshMemberRoll enumera los elementos que pertenecen al plano de control. Debe crear un recurso llamado ServiceMeshMemberRollpor defectoEn el proyecto istio-sistema.

Cambie al proyecto istio-system:Inicio> Proyectos> istio-system

Navegar aOperador> Operador instalado> Red Hat OpenShift Service Mesh> Istio Service Mesh Member Volume

AbajoServiceMeshMemberRollsServiceMeshMemberRollsHaga clic en Crear ServiceMeshMemberRoll.

Agregue el proyecto que desea que forme parte de la red de servicios de Istio y luego haga clic en Crear. A través de la CLI, los recursos de ServiceMeshMemberRoll se pueden actualizar después de la creación.

$ oc edit smmr -n istio-system

Paso 7: Use la inyección automática de Sidecar para implementar la aplicación

Para implementar la aplicación en Service Mesh, debe especificarsidecar.istio.io/injectvalor de la nota"true".

Vea el ejemplo a continuación.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: sleep
spec:
  replicas: 1
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: "true"
      labels:
        app: sleep
    spec:
      containers:
      - name: sleep
        image: tutum/curl
        command: ["/bin/sleep","infinity"]
        imagePullPolicy: IfNotPresent

Para las aplicaciones existentes agregadas al plano de control como miembros en el proyecto, puede actualizar la plantilla de pod en la implementación agregando o modificando comentarios:

$ oc patch deployment/
            
            
            
            
            
            
            
            
             
             
             
             
             
             
             
              -p '{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubernetes.io/restartedAt": "'`date -Iseconds`'"}}}}}'
            
            
            
            
            
            
            
            

Puedes leerImplementar BookinfoEscenas.

Más guías sobre OpenShift.

Configure el servicio Chrony NTP en OpenShift 4.x / OKD 4.x

Ejecute la caja de herramientas de Ceph para Rook en Kubernetes/OpenShift

Agregue Harbour Image Registry Pull Secret a Kubernetes/OpenShift

Administre usuarios de OpenShift/OKD con el proveedor de identidad HTPasswd

Cómo usar el comando oc para mostrar el registro del nodo OpenShift

Cómo abrir el indicador de Shell en el nodo OpenShift

El
Puedes descargar este artículo en formato PDF para apoyarnos a través del siguiente enlace.

Descarga la guía en PDF

apagar
El

El
El

Artículos Relacionados