Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Gestionar un solo clúster CN2

RESUMEN Obtenga información sobre cómo realizar tareas de administración del ciclo de vida en una instalación de un solo clúster.

Visión general

La forma de administrar un clúster de Kubernetes no cambia cuando CN2 es el complemento de CNI. Una vez instalado CN2, los componentes de CN2 funcionan sin problemas con otros componentes de Kubernetes para proporcionar la infraestructura de red.

El controlador de Contrail observa y reacciona constantemente a los eventos de clúster a medida que ocurren. Cuando se agrega un nuevo nodo, los componentes del plano de datos de Contrail se implementan automáticamente. Cuando se elimina un nodo, el controlador de Contrail elimina automáticamente los recursos de red asociados a ese nodo. CN2 funciona a la perfección con kubectl y otras herramientas como Prometheus y Grafana.

Además de las herramientas de administración estándar de Kubernetes, puede utilizar herramientas y procedimientos específicos de CN2. Esta sección cubre estas herramientas y procedimientos.Instalar Contrail ToolsInstalar ContrailReadiness Controller

Ejecutar comprobaciones previas y posteriores al vuelo

Use este procedimiento para ejecutar comprobaciones previas o posteriores a las comprobaciones en todos los nodos del clúster.

Las comprobaciones previas le permiten comprobar que los nodos del clúster son compatibles con CN2. Las comprobaciones prueban la capacidad de recursos, la compatibilidad del kernel, la accesibilidad de la red y otros requisitos de infraestructura. Normalmente, se ejecutan comprobaciones previas antes de instalar CN2, pero también se pueden ejecutar estas comprobaciones después de instalar CN2.

Las comprobaciones posteriores al vuelo le permiten verificar que la instalación de CN2 funciona correctamente. Las comprobaciones prueban el estado, la comunicación de pod a pod, la accesibilidad del servidor API y otras funciones básicas. Las comprobaciones posteriores al vuelo se ejecutan después de instalar CN2.

Antes de ejecutar este procedimiento, asegúrese de haber instalado el controlador ContrailReadiness. El controlador ContrailReadiness proporciona el marco para las comprobaciones previas y posteriores al vuelo. Consulte la sección Instalar ContrailReadiness Controller .

  1. Localice el directorio contrail-tools/contrail-readiness del paquete CN2 Tools descargado.
  2. Si aún no lo ha hecho, asegúrese de haber rellenado los manifiestos con las credenciales de inicio de sesión del repositorio. Consulte Configurar credenciales del repositorio para ver una forma de hacerlo.
  3. Para ejecutar las comprobaciones previas al vuelo:
    Normalmente, las comprobaciones preliminares se ejecutan después de crear el clúster, pero antes de instalar CN2.
    Nota:

    En una implementación de varios clústeres, ejecute comprobaciones previas solo desde el clúster central.

  4. Para ejecutar las comprobaciones posteriores al vuelo:
    Las comprobaciones posteriores al vuelo se ejecutan después de instalar CN2.
    Nota:

    En una implementación de varios clústeres, ejecute comprobaciones posteriores al vuelo solo desde el clúster central.

  5. Lea los resultados de las comprobaciones previas y posteriores al vuelo según corresponda.

    Resuelva cualquier error antes de continuar.

    Nota:

    Las comprobaciones previas y posteriores al vuelo no se vuelven a ejecutar automáticamente después de haber corregido algún error. El resultado seguirá mostrando errores incluso después de haberlos corregido.

Copia de seguridad de la base de datos de Contrail etcd

Utilice este procedimiento de ejemplo para realizar una copia de seguridad de la base de datos Contrail etcd.

Nota:

Los pasos siguientes hacen referencia a un nodo de controlador de Contrail. Un nodo de controlador de Contrail es un nodo de trabajo que ejecuta un controlador de Contrail.

  1. Instale etcdctl en todos los nodos del controlador Contrail.
    1. Inicie sesión en uno de los nodos del controlador Contrail.
    2. Descargar etcd. En este ejemplo se descarga en el directorio /tmp.
    3. Descomprima y mueva el ejecutable etcd a un directorio en su ruta (por ejemplo, /usr/local/bin).
    4. Compruebe que ha instalado etcd.
    5. Repita el procedimiento en todos los nodos del controlador Contrail.
  2. Obtenga una lista de las vainas de estela etcd.
    Tome nota de los nombres de los pods de estela-etcd, las direcciones IP y los nodos en los que se ejecutan. Necesitará esta información en los siguientes pasos.
  3. Copie el certificado etcd y los archivos de claves de los pods a los nodos del controlador de Contrail.
    En este paso, ejecutamos kubectl en los nodos del controlador Contrail. Asumimos que ha configurado kubeconfig en estos nodos en su ubicación predeterminada ( ~/.kube/config).
    1. Elija un pod de estela de estela (por ejemplo, contrail-etcd-0) e inicie sesión en el nodo del controlador de Contrail que aloja ese pod.
    2. Copie el certificado y los archivos de claves de ese pod de contrail-etcd al nodo del controlador Contrail de alojamiento.
      En este ejemplo, estamos copiando los certificados y archivos clave del pod contrail-etcd-0 a archivos locales en este nodo. Esto copia los archivos de certificado y clave del pod contrail-etcd-0 a ca.crt, tls.crt y tls.key en el directorio actual de este nodo del plano de control .
    3. Repita para cada vaina de estela grabada.
  4. Haga una copia de seguridad de la base de datos etcd en uno de los nodos del controlador Contrail. Solo necesita hacer una copia de seguridad de la base de datos en un nodo.
    1. Vuelva a iniciar sesión en uno de los nodos del controlador de Contrail.
    2. Haga una copia de seguridad de la base de datos etcd.
      En este ejemplo se guarda la base de datos en / tmp/etcdbackup.db en este nodo del controlador Contrail. donde <etcd-pod-ip> es la dirección IP del pod en este nodo y es el puerto en el <etcd-port> que etcd está escuchando (de forma predeterminada, 12379).
  5. Copie la base de datos en un lugar seguro.

Restaurar la base de datos de Contrail etcd

Utilice este procedimiento de ejemplo para restaurar la base de datos de Contrail etcd a partir de una instantánea en un clúster de Amazon EKS.

Nota:

Los pasos siguientes hacen referencia a un nodo de controlador de Contrail. Un nodo de controlador de Contrail es un nodo de trabajo que ejecuta un controlador de Contrail.

  1. Copie la instantánea que desea restaurar en todos los nodos del controlador Contrail.
    En los pasos siguientes se supone que ha copiado la instantánea en / tmp/etcdbackup.db en todos los nodos del controlador Contrail.
  2. Restaure la instantánea.
    1. Inicie sesión en uno de los nodos del controlador Contrail. En este ejemplo, iniciamos sesión en el nodo del controlador Contrail que aloja contrail-etcd-0.
    2. Restaure la base de datos etcd en el pod contrail-etcd-0 de este nodo del controlador Contrail.
      Esto crea un directorio contrail-etcd-0.etcd en el nodo. donde --name=contrail-etcd-0 especifica que este comando está restaurando la base de datos a contrail-etcd-0, --initial-cluster=... enumera todos los miembros contrail-etcd del clúster y hace referencia a la dirección IP y --initial-advertise-peer-urls=... al número de puerto en los que el pod contrail-etcd-0 está escuchando.
    3. Repita para los otros pods de estela de estela en sus respectivos nodos del controlador Contrail, sustituyendo los --name valores y por el nombre del pod y --initial-advertise-peer-urls la dirección IP de la estela respectivos.
  3. Detenga las vainas de estela-etcd.
    Esto establece las réplicas en 0, lo que detiene efectivamente los pods.
  4. Reemplace los datos de estela etcd con los datos de la instantánea.
    1. SSH en uno de los nodos del controlador Contrail.
    2. Reemplace los datos. Recuerde que la instantánea se almacena en el directorio contrail-etcd-<xxx>.etcd.
      donde contrail-etcd-xxx es el nombre del pod contrail-etcd del nodo Contrail controller en el que ha iniciado sesión.
    3. Repita el procedimiento para los demás nodos del controlador Contrail.
  5. Inicie las vainas de estela-etcd.
    Esto establece las réplicas en 3, lo que efectivamente inicia las cápsulas.
  6. Reinicie el apiserver y el controlador del sistema de estela.
    Elimine todos los pods contrail-k8s-apiserver y contrail-k8s-controller. Estos pods se reiniciarán automáticamente.
  7. Reinicie los vrouters.
    Elimine todos los pods contrail-vrouter-nodos. Estos pods se reiniciarán automáticamente.
  8. Compruebe que todos los pods estén en estado de ejecución.

Actualización de CN2

Utilice este procedimiento para actualizar CN2.

El controlador Contrail consta de implementaciones y StatefulSets, que están configurados para actualizaciones graduales. Durante la actualización, los pods de cada implementación y StatefulSet se actualizan de uno en uno. Los pods restantes en ese Deployment o StatefulSet permanecen operativos. Esto permite que las actualizaciones del controlador Contrail no tengan problemas.

El plano de datos de CN2 consta de un DaemonSet con un único pod de vRouter. Durante el procedimiento de actualización, este único pod se desmonta y se actualiza. Debido a esto, las actualizaciones del plano de datos de CN2 no están exentas de hits. Si lo desea, migre el tráfico fuera del nodo que se está actualizando antes de realizar la actualización.

Para actualizar el software de CN2, transfiera el contenido de los manifiestos existentes a los nuevos manifiestos y, a continuación, aplique los nuevos manifiestos. Todos los manifiestos de CN2 deben hacer referencia a la misma versión de software.

Nota:

Antes de actualizar, compruebe que cada nodo tenga al menos un pod asignable disponible. El procedimiento de actualización asigna temporalmente un pod adicional, lo que significa que el nodo no puede ejecutarse a la capacidad máxima del pod cuando realice la actualización. Puede comprobar la capacidad del pod en un nodo mediante el kubectl describe node comando.

  1. Descargue los manifiestos de la nueva versión.
  2. Busque los manifiestos (antiguos) que utilizó para crear la instalación de CN2 existente. En este procedimiento, asumimos que es single_cluster_deployer_example.yaml y cert-manager.yaml.
  3. Transferir cualquier cambio de los manifiestos antiguos a los manifiestos nuevos.
    Los nuevos manifiestos pueden contener construcciones específicas de la nueva versión. Identifica todos los cambios que hayas realizado en los manifiestos antiguos y cópialos en los nuevos manifiestos. Esto incluye credenciales de repositorio, cambios en la configuración de red y otras personalizaciones.
    Nota:

    Si tiene un gran número de nodos, utilice selectores de nodos para agrupar las actualizaciones en un número más manejable.

  4. Actualice CN2.

    Los pods de cada implementación y conjunto de estado se actualizarán de uno en uno. vRouter DaemonSet bajará y volverá a subir.

  5. Utilice los comandos kubectl estándar para comprobar la actualización.

    Compruebe el estado de los nodos.

    Compruebe el estado de los pods.

    Si algunos pods permanecen inactivos, depure la instalación como lo hace normalmente. Usa el kubectl describe comando para ver por qué no aparece un pod. Un error común es un problema de red o firewall que impide que el nodo llegue al repositorio de Juniper Networks.

Desinstalar CN2

Use este procedimiento para desinstalar CN2.

Esta herramienta elimina lo siguiente:

  • Espacio de nombres Contrail y recursos que pertenecen a ese espacio de nombres
  • espacio de nombres del sistema de conflicto y recursos que pertenecen a ese espacio de nombres
  • Por el contrario, implemente el espacio de nombres y los recursos que pertenecen a ese espacio de nombres
  • default-global-vrouter-config y default-global-system-config

Antes de ejecutar este procedimiento, asegúrese de haber instalado el controlador ContrailReadiness. El controlador ContrailReadiness proporciona el marco para la tarea de desinstalación.

Nota:

Dado que existen interdependencias entre los componentes de CN2, no intente eliminar componentes de CN2 individualmente. La herramienta proporcionada desinstala los componentes de CN2 correctamente y en la secuencia adecuada.

  1. Localice el directorio contrail-tools/contrail-readiness del paquete CN2 Tools descargado.
  2. Si aún no lo ha hecho, asegúrese de haber rellenado los manifiestos con las credenciales de inicio de sesión del repositorio. Consulte Configurar credenciales del repositorio para ver una forma de hacerlo.
  3. Si instaló Contrail Analytics, desinstálelo ahora. La secuencia de comandos de desinstalación no desinstala recursos en espacios de nombres distintos de los enumerados anteriormente. Para desinstalar Contrail Analytics, consulte la sección Instalar Contrail Analytics y la interfaz de usuario web de CN2.
  4. Elimine cualquier otro recurso y espacio de nombres (por ejemplo, redes superpuestas) que haya creado después de instalar CN2.
  5. Desinstale CN2.
  6. Consulte los resultados de la desinstalación.
  7. Por último, elimine el espacio de nombres de preparación para la estela.