Registro de aprendizaje de Devops

(https://www.bilibili.com/video/BV1A7411M76m?from=search&seid=14855796811647434253)
Desde el punto de vista del desarrollo, terminaré de escribir el código. El resto se puede ejecutar automáticamente.

Combinación de herramientas y procesos conceptuales

Es principalmente una solución para la comunicación y cooperación entre desarrolladores y probadores.
Monitoreo de construcción, prueba, lanzamiento, implementación, operación y mantenimiento.

Diagrama de herramienta
Inserte la descripción de la imagen aquí

El flujo de trabajo de DevOps de otros no es necesariamente adecuado para usted
Inserte la descripción de la imagen aquí

Propósito de devops

Tiempo y calidad

Inserte la descripción de la imagen aquí

Caso de error de Devops

Inserte la descripción de la imagen aquí

Caso correcto

Inserte la descripción de la imagen aquí

devops: entrega de aplicaciones tradicionales
Inserte la descripción de la imagen aquí
devops: entrega de contenedores estándar
Inserte la descripción de la imagen aquí
proceso de entrega de contenedores clásico
Inserte la descripción de la imagen aquí

Resumen del concepto de devops
Inserte la descripción de la imagen aquí
¿Por qué se presta cada vez más atención a devops recientemente?
Principalmente por microservicios y contenedores.

Hablemos primero de las características del microservicio

Inserte la descripción de la imagen aquí

Ventajas de los microservicios

Inserte la descripción de la imagen aquí
Los microservicios encajan perfectamente con Devops conceptualmente
Inserte la descripción de la imagen aquí

Desventajas de los microservicios

Inserte la descripción de la imagen aquí

La diferencia entre Docker y la virtualización tradicional radica en la pérdida de virtualización.

Entender Docker en tres minutos

Inserte la descripción de la imagen aquí

Cómo Docker resuelve las deficiencias de los microservicios

Inserte la descripción de la imagen aquí

Dificultades y problemas de la entrega de contenedores

Inserte la descripción de la imagen aquí

Cómo solucionar las deficiencias de los contenedores.

Inserte la descripción de la imagen aquí

La relación entre microservicios, contenedores y devops se
complementan
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Reducir la participación del personal y mejorar la garantía de calidad de la entrega
Inserte la descripción de la imagen aquí

Cómo formar una entrega rápida y de alta calidad

Cómo realizar rápidamente la migración de contenedores de aplicaciones de calidad

División del proceso de entrega de contenedores

Inserte la descripción de la imagen aquí

Primero comprenda el dockerfile en el contenedor

Inserte la descripción de la imagen aquí

El origen de dockerfile, base teórica

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Mire la sintaxis de dockerfile nuevamente

Inserte la descripción de la imagen aquí

Cómo generar una imagen desde dockerfile

Inserte la descripción de la imagen aquí

De la estructura en capas anterior, se deriva el proceso de optimización del archivo docker

Inserte la descripción de la imagen aquí

Optimizado

La primera optimización fusiona varios comandos RUN en un solo comando RUN La
segunda optimización La
Inserte la descripción de la imagen aquí
tercera optimización La
Inserte la descripción de la imagen aquí
cuarta optimización
Inserte la descripción de la imagen aquí
Otro método de optimización: construcción de múltiples etapas
Inserte la descripción de la imagen aquí

Resumen de optimización de Dockerfile

Inserte la descripción de la imagen aquí

Plantilla de orquestación kubernetes

Inserte la descripción de la imagen aquí

Mira kubernetes a partir de ideas de diseño

Inserte la descripción de la imagen aquí

La abstracción más importante de k8s, abstrayendo algunos elementos esenciales de entrega

¿Qué hace cada abstracción definida aquí?
Inserte la descripción de la imagen aquí

ejemplo de archivo k8s yaml

Inserte la descripción de la imagen aquí

resumen de k8s

Entre ellos, kompose se usa para resolver la migración de swarm a k8s

Inserte la descripción de la imagen aquí

Otras herramientas de migración de k8s

Herramienta de migración de Alibaba Cloud Derrick

Inserte la descripción de la imagen aquí

3. ¿Qué es CI \ CD Build CI \ CD desde cero?

Inserte la descripción de la imagen aquí

Arquitectura jenkins de uso común, maestro esclavo

Inserte la descripción de la imagen aquí

Compilar jenkins system-install docker -ce

Inserte la descripción de la imagen aquí

Segundo paso
Inserte la descripción de la imagen aquí

resumen de Jenkins
Inserte la descripción de la imagen aquí

Comparación del software CodePipeline de Alibaba Cloud y jenkins

Inserte la descripción de la imagen aquí

Cuarto, prácticas de entrega de aplicaciones de contenedores nativas de la nube

1. Cómo comenzar a usar kubernetes,
use: minikube
https://minikube.sigs.k8s.io/docs/start/
o visite los kubernetes en la nube de Alibaba Cloud
Inserte la descripción de la imagen aquí

Cinco, modo de liberación

Primero, comprenda el modelo de red,
modelo de red de contenedores uno
Inserte la descripción de la imagen aquí

Servicio de enrutamiento simple en Swarm

Inserte la descripción de la imagen aquí

Implementación del modelo de red en kubernetes (2) L3 Flat

Inserte la descripción de la imagen aquí

Implementación del modelo de red en kubernetes (tres) -LoadBalancer y NodePort

Inserte la descripción de la imagen aquí
Modelo de red (cuatro) -ClusterIP
Inserte la descripción de la imagen aquí

Modelo de red (5) Ingress
Inserte la descripción de la imagen aquí

malla de servicio

Inserte la descripción de la imagen aquí

Una vez finalizado el modelo de red, veamos las estrategias de publicación habituales.

Estrategias de publicación comunes

Inserte la descripción de la imagen aquí

Lanzamiento azul-verde, ventaja: actualización sin tiempo de inactividad, desventaja: alto consumo de recursos durante el lanzamiento

Inserte la descripción de la imagen aquí

La diferencia entre las versiones azul y verde de diferentes nodos.

Inserte la descripción de la imagen aquí

Lanzamiento de Canary, ventajas: para lograr la verificación funcional con un costo mínimo, desventajas: escenario relativamente orientado a un solo, altos requisitos para los desarrolladores

La diferencia con la versión gris es la versión canary si no hay distinción entre el tráfico de la capa de acceso. Si el tráfico del nodo A debe dirigirse a la instancia recién lanzada y el nodo B no debe poder acceder a la nueva instancia, es una versión gris.

Inserte la descripción de la imagen aquí

Ejemplo de lanzamiento de Canary

Inserte la descripción de la imagen aquí

Lanzamiento en escala de grises, cambio gradual y suave de una versión a otra

Inserte la descripción de la imagen aquí

La prueba A / B es muy similar a la versión en escala de grises, pero la prueba A / B utiliza comentarios en línea de [diferentes versiones] para decidir qué versión preferir.

Inserte la descripción de la imagen aquí

Haz estos lanzamientos a través de k8s

Inserte la descripción de la imagen aquí

Lanzamiento en lotes, a diferencia del lanzamiento gris, no hay problema de consumo de recursos del lanzamiento gris. (La liberación por lotes es una estrategia)

Para liberar en lotes, los nodos se dividen en lotes pequeños y luego se libera el primer lote para una verificación rápida. Si la verificación es correcta, continúe liberando el segundo lote y el tercer lote. Puede ahorrar recursos.

Inserte la descripción de la imagen aquí
Si lo anterior se implementa usando k8s, será más complicado. Necesito juzgar si aplicar o revertir. Los K8 no pueden realizar un proceso.

CRD puede ser otra respuesta.

CRD

https://www.kubernetes.org.cn/tags/crd
Diagrama de relación topológica CRD
Inserte la descripción de la imagen aquí
Direcciones de información relevante (... Las capturas de pantalla se publicaron al final de un largo tiempo)
Inserte la descripción de la imagen aquí

Seis, marcos de código abierto y servicios en la nube de contenedores

Cadena de herramientas

Inserte la descripción de la imagen aquí

Derrick 生成 dockerfile, archivo jenkins

https://github.com/alibaba/derrick

kompose genera archivos de kubernetes

Kubernetes + Redactar

https://github.com/kubernetes/kompose

helm [administrador de paquetes de kubernetes 的]

https://github.com/helm/helm

La arquitectura básica de Helm
Inserte la descripción de la imagen aquí

Introducción a los microservicios

Sin restricciones de idioma.
Inserte la descripción de la imagen aquí
Combine servicios como aplicaciones Unix, con alta cohesión y bajo acoplamiento.

malla de servicio

lst

Modo sidecar (en realidad no entiendo qué es esto)

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

7. Prueba y puesta a punto de aplicaciones en contenedores

Es difícil tener algunos modelos estandarizados para afinar. El ajuste consiste básicamente en analizar el problema en busca del problema.

A continuación, se muestran algunos escenarios representativos y problemas de ajuste.

problema c10k

Inserte la descripción de la imagen aquí

Método de prueba de rendimiento

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Después de usar el contenedor, el rendimiento será muy diferente al anterior. En circunstancias normales, habrá una pérdida del 5%.
Inserte la descripción de la imagen aquí

Sorprendente comparación del rendimiento de la tecnología de virtualización

La virtualización en el modo hiperactivo dará como resultado una pérdida del rendimiento del 20%, mientras que la pérdida de tecnología de contenedores estará dentro del 5%.
Inserte la descripción de la imagen aquí

Entendiendo el kernel contenedor

Inserte la descripción de la imagen aquí

Diez herramientas de ajuste de rendimiento

Inserte la descripción de la imagen aquí
Herramienta de medición de presión
Inserte la descripción de la imagen aquí

.

Universidad de Alibaba Cloud [https://www.bilibili.com/video/BV1A7411M76m?from=search&seid=14855796811647434253]

Supongo que te gusta

Origin blog.csdn.net/csd_nuser/article/details/114216721
Recomendado
Clasificación