Sistema 2020 práctica integral operación de primera práctica

1. Encuesta del curso

Cuando vi este curso durante la selección del curso el semestre pasado, pensé que era un curso de hardware puro, y me sentí como con luces y luces. En la primera clase, estaba un poco asustado cuando mencioné la ingeniería de software del último semestre cuando el maestro me presentó. También utilicé el mismo sistema de blogs. La oración subconsciente no será una clase que requiera mucho tiempo ) La maestra mencionó que este curso se divide en tres partes, docker, frambuesa pi y la tarea final completa, personalmente todavía lo espero. Puedes experimentarlo tú mismo. El maestro nos dio algunos enlaces de aprendizaje para que nos permitiéramos arrojarnos a nosotros mismos. Las personas no están muy acostumbradas a este tipo de educación de almacenamiento y tienen que salir de su zona de confort y apresurarse.

2. Comprender los microservicios

1. ¿Qué es un microservicio?

La arquitectura de microservicios es un modelo arquitectónico que aboga por la división de una sola aplicación en un conjunto de pequeños servicios, que coordinan y cooperan entre sí para proporcionar a los usuarios el máximo valor. Cada servicio se ejecuta en su propio proceso, y se utiliza un mecanismo de comunicación liviano para comunicarse entre sí (por lo general, la API Restful basada en HTTP). Cada servicio se basa en un negocio específico y puede ser Despliegue independiente en el entorno de producción, entorno similar a la producción, etc. Además, debe evitarse en la medida de lo posible un mecanismo de gestión de servicios unificado y centralizado. Para un servicio específico, debe construirse de acuerdo con el contexto empresarial seleccionando el lenguaje y las herramientas apropiadas.

2. Características de los microservicios.

  • Pequeña intensidad y enfoque en una cosa
  • Proceso separado
  • Mecanismo de comunicación ligero, generalmente interfaz HTTP / REST
  • Acoplado libremente, se puede implementar de forma independiente

3. Ventajas de los microservicios

  • Mejore la comunicación de desarrollo, cada servicio es lo suficientemente coherente, lo suficientemente pequeño y el código es fácil de entender
  • Prueba de servicio independiente, implementación, actualización, lanzamiento
  • DFX personalizado, utilización de recursos, cada servicio se puede escalar en x y z independientemente, y cada servicio se puede implementar en un servidor de hardware adecuado de acuerdo con sus propias necesidades
  • Necesita elegir el modo HA, seleccione el número de instancias para recibir servicios
  • Fácil de expandir el equipo de desarrollo, puede desarrollar el equipo para cada componente de servicio (servicio)
  • Mejore el aislamiento de fallas (aislamiento de fallas), la pérdida de memoria de un servicio no paraliza todo el sistema
  • La aplicación de nuevas tecnologías, el sistema no estará restringido a una determinada pila de tecnología durante mucho tiempo

4. Desventajas de los microservicios.

  • Sin balas de plata, los microservicios aumentan la complejidad del sistema.

  • Los desarrolladores tienen que lidiar con la complejidad de los sistemas distribuidos.

  • Problemas de comunicación distribuida entre servicios.

  • Registro de servicio y problemas de descubrimiento

  • Problemas de transacciones distribuidas entre servicios

  • Informar problemas de procesamiento con aislamiento de datos

  • Problemas de coherencia distribuida entre servicios

  • Complejidad de gestión de servicios, orquestación de servicios

  • Gestión de diferentes instancias de servicio.

5. Despliegue de microservicios

  • Un host implementa varias instancias de servicio
  • Una instancia de servicio por host
  • Una instancia de servicio por contenedor
  • Acoplado libremente, se puede implementar de forma independiente

3. Aprende la tecnología docker

1. Conceptos relacionados de docker

  • docker: permite a los desarrolladores empaquetar sus aplicaciones y paquetes dependientes en una imagen portátil, y luego publicarlos en cualquier máquina popular de Linux o Windows, también se puede virtualizar
  • docker compose: puede administrar contenedores de manera fácil y eficiente, es una herramienta de aplicación para definir y ejecutar Docker de contenedores múltiples
  • Dockerfile: la forma más común de crear una imagen en Docker es un archivo de descripción para una imagen de Docker
  • docker machine: una herramienta que le permite instalar Docker en un host virtual y usar el comando docker-machine para administrar este host
  • Swarm: proporciona el servicio de clúster de contenedores Docker, es la solución central del soporte oficial de Docker para la imagen ecológica de la nube de contenedores
  • k8s: sistema de gestión de clúster de contenedor de código abierto, que puede realizar despliegue automático, expansión y contracción automática, mantenimiento, etc. de clústeres de contenedor

2. Cree su propio entorno de acoplador

El entorno utilizado para esta asignación es ubuntu 18.04 LTS

1. Instalación de Ubuntu Docker

Actualizar el índice del paquete apt

sudo apt-get update

Instale el paquete de dependencia apt, utilizado para obtener el repositorio a través de HTTPS

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

Agregar la clave GPG oficial de Docker

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Use las siguientes instrucciones para configurar una versión estable del almacén

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"

Actualizar el índice del paquete apt

sudo apt-get update

Instale la última versión de Docker Engine-Community y containerd

sudo apt-get install docker-ce docker-ce-cli containerd.io

Prueba si Docker se instaló correctamente

sudo docker run hello-world

En este punto, Docker finalmente está instalado

2. Aceleración espejo

Ver a un maestro en la estación B para explicar el tiempo estibador, dijo tomar el espejo tirado de vez dockerhub, será relativamente lenta, lo mejor es acelerar su conjunto, cuando se hace con la presentación de Ali nube, por lo imito un momento
primero en registrar una Cuenta de Alibaba Cloud https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
y luego obtenga su propia dirección de aceleración de Alibaba Cloud

Configure el acelerador de imagen, puede usar el acelerador modificando el archivo de configuración del demonio /etc/docker/daemon.json

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["自己的加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

3. Uso de contenedores

Este es un caso en la publicación de novatos. Seguir el tutorial paso a paso me dio una impresión preliminar de la operación de docker.
Use el comando docker run para ejecutar una aplicación en el contenedor. Aquí primero verifiqué la imagen de la máquina y descubrí que no es así. Si existe, vaya al almacén espejo para descargar el espejo, luego cree un contenedor, ejecute bin / echo "Hello world" en el contenedor y envíe el resultado

docker run ubuntu:15.10 /bin/echo "Hello world"

Para ejecutar un contenedor interactivo, utilizamos los dos parámetros de docker -i -t para habilitar el contenedor que ejecuta docker para lograr la capacidad de "diálogo", -t: especifique un pseudo terminal o terminal en el nuevo contenedor, -i: le permite Interactúe con la entrada estándar (STDIN) en el contenedor, puede salir del contenedor a través de la salida

docker run -i -t ubuntu:15.10 /bin/bash

Cree un contenedor que se ejecute como un proceso. A diferencia del método anterior, funciona en segundo plano y la salida es la versión completa del ID del contenedor

docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

Ver contenedores en ejecución

docker ps

Use la identificación del contenedor para ver la salida estándar del contenedor

Docker logs 7a3aa39a4291

Use el comando docker stop para detener el contenedor. Cuando mira de nuevo el contenedor en ejecución, no se encuentra la identificación que acaba de encontrar.

docker stop 7a3aa39a4291

Al iniciar el contenedor en un proceso, puede usar el método de conexión para ingresar al contenedor

docker attach 1e560fca3906 

Aquí hay dos formas, una es salir y la otra es ejecutiva, la diferencia es que la primera hará que el contenedor se detenga al salir del contenedor, la segunda no

docker exec -it 3dd2895db7ed /bin/bash

Exportar e importar contenedores

docker export 3dd2895db7ed > ubuntu.tar
cat ubuntu.tar | docker import - test/ubuntu:v1

Eliminar contenedor

docker rm -f 3dd2895db7ed

4. Uso del espejo

Utilice el comando de búsqueda de docker para buscar la imagen.

docker search httpd

Use el comando docker pull para descargar la imagen.

docker pull httpd

Para eliminar una imagen, primero detenga todos los contenedores, luego elimine el contenedor y finalmente elimine la imagen especificada

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi hello-world

Para actualizar la imagen, primero cree un contenedor, use el comando apt-get update para actualizar y use docker commit para enviar la copia del contenedor después de salir del contenedor

docker run -t -i ubuntu:15.10 /bin/bash
apt-get update

Envíe una copia del contenedor con el comando docker commit

docker commit -m="has update" -a="runoob" 5a230ff0a626 runoob/ubuntu:v2

Crear un contenedor, es decir, actualizar el contenedor

docker run -t -i runoob/ubuntu:v2 /bin/bash    

Consultar información del contenedor

docker inspect be5bdc4f013c

5. Gestión de almacenes

Debido a que el Docker Hub es demasiado lento, elegí Alibaba Cloud Mirror para
establecer primero un almacén abierto en Alibaba Cloud

Luego inicie sesión en Alibaba Cloud en Docker

sudo docker login --username=郑裕恒 registry.cn-hangzhou.aliyuncs.com

Extraer imagen del registro

sudo docker pull registry.cn-hangzhou.aliyuncs.com/dyssl/dyssl:[镜像版本号]

Empuje la imagen al Registro

sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/dyssl/dyssl:[镜像版本号]
sudo docker push registry.cn-hangzhou.aliyuncs.com/dyssl/dyssl:[镜像版本号]

Entonces puede ver que ha tenido éxito en Alibaba Cloud

Supongo que te gusta

Origin www.cnblogs.com/dyssl/p/12683565.html
Recomendado
Clasificación