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-operators
proyecto.
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/inject
valor 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