Arquitectura nativa de la nube

Arquitectura nativa de la nube

1. acoplador

1.1 Almacén de espejos

centro acoplable

1.2 Operación del espejo

Descargar: imagen de extracción de Docker (nginx, redis)

La descarga directa es la última versión de la herramienta y puede especificar la versión a través del nombre de la imagen: versión.

Eliminar: nombre de la imagen de Docker rmi: número de versión (último valor predeterminado)/ID de la imagen

1.3 Operaciones de contenedores
1.3.1 Ejecutar la imagen:

ventana acoplable ejecutar [opciones] imágenes [comando]

  • comando de inicio del nombre de la imagen del elemento de configuración de ejecución de Docker (predeterminado, generalmente no configurado)
    • –name=xxx Nombre del contenedor después de la ejecución
    • -d se ejecuta en segundo plano
    • -p puerto de red pública: puerto en el contenedor
    • -v externo: los archivos internos se montan dentro del contenedor en archivos en el sistema Linux externo
    • –restart=siempre se reiniciará automáticamente cada vez que inicie
1.3.2 Contenedores operativos

Si no se especifica la primera vez, puede actualizar los elementos de configuración a través del ID del contenedor de actualización de la ventana acoplable --restart = siempre.

Pero la actualización de Docker no puede modificar el puerto del contenedor.

  • docker ps para ver los contenedores en ejecución

  • docker rm nombre del contenedor/ID del contenedor Puede usar -f para eliminar por la fuerza el contenedor en ejecución

  • Docker Stop Container ID detiene el contenedor en ejecución

  • ID del contenedor de inicio de Docker

1.3.3 Manipular archivos dentro del contenedor

docker exec -it contenedor id /bin/bash (consola) -opera en modo interactivo

Ingrese el contenedor (nginx pequeño) y modifique el archivo contenedor

1.3.4 Confirmar cambios de contenedor

Local: docker commit -a "Autor" -m "Describir el contenido enviado" ID del contenedor nuevo nombre de la imagen.

Remoto: Importa una imagen de una computadora a otra:

1.docker save -o xxx.tar Nombre de la imagen: versión Comprime la imagen en un paquete comprimido (puede usar el comando load -i para descomprimir el paquete en una imagen)

Si usa directamente el ID de la imagen para empaquetar, el nombre de la imagen después de la descompresión será none . Puede usar la etiqueta acoplable ID de imagen xxx: versión.

scp xxx.tar [email protected] envía el paquete comprimido a un host

2. Envíe la imagen al almacén remoto.

  • Registre Docker Hub para crear un repositorio
  • etiqueta acoplable imagen local: etiqueta local nuevo-repo: nombre de etiqueta
  • Docker Push nuevo repositorio: nombre de etiqueta
  • Debe iniciar sesión en Docker antes de presionar
  • Una vez completada la inserción, otras máquinas solo necesitan la extracción de la ventana acoplable.
1.3.5 Cómo utilizar Docker para implementar un proyecto Java

1. Instalar imágenes relacionadas (redis)

2. Empaquetar el proyecto java en un paquete jar.

3. Escriba un Dockerfile para empaquetar nuestro proyecto Java en una imagen (docker build -t xxxdemo:vxx).

4.docker run ejecuta la imagen del proyecto java

2. Kubernetes

Insertar descripción de la imagen aquí

El entorno entre contenedores está aislado y no afectará el funcionamiento de otros contenedores, lo que resuelve el problema de las engorrosas máquinas virtuales. Sin embargo, los contenedores son difíciles de gestionar, por lo que K8S se utiliza para gestionar y organizar contenedores.

K8s es un marco que puede ejecutar sistemas distribuidos de manera flexible.Ventajas:

  • Descubrimiento de servicios y equilibrio de carga.
  • Orquestación de memoria, asignación y reciclaje de memoria de aplicaciones.
  • Capacidades de implementación y reversión automática
  • Cálculos de boxeo automáticos, que le permiten especificar la memoria y la CPU necesarias para cada contenedor.
  • Autorreparación (una aplicación falla en una máquina y se implementará automáticamente en otras máquinas)
  • Gestión de configuración
2.1 Arquitectura
2.1.1 Método de trabajo

N nodos maestros + N nodos
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Todos los nodos de trabajo se comunican con el nodo maestro a través del servicio API, y el acceso externo a los nodos de trabajo requiere kube-proxy. Kubelet monitoreará el estado de actividad del contenedor dentro del nodo en tiempo real. Si se encuentra un problema, se notificará a la persona que toma las decisiones a través del servidor API de manera oportuna. Todos los datos del nodo se almacenan en ETCD (similar a Redis).

2.2 Implementación del clúster

kubelet: administrador de nodos.

kubectl: consola k8s para que la utilicen los programadores

kubeadm: gestiona los nodos k8s, lo que facilita la gestión de los nodos. Puede especificar un nodo como nodo maestro a través de kubeadm init. Más tarde, kubelet creará los componentes necesarios (imagen de descarga) del nodo maestro: programador (programador, agente, servidor api, etc.), y otros nodos pueden unirse a este clúster como nodos de trabajo a través de kubeadm join.

Supongo que te gusta

Origin blog.csdn.net/qq_50876039/article/details/132953883
Recomendado
Clasificación