Exécutez plusieurs cEOS-labs d'Arista Networks à l'aide de docker-compose

introduction

Le cEOS-lab d'Arista Networks a été précédemment décrit ici, mais un article pour démarrer plusieurs cEOS-lab en utilisant docker-compose est décrit. Je ne l'ai pas fait, alors je vais le décrire ici.

La description est basée sur l'hypothèse que vous avez lu l'article précédent. De plus, comme le contenu de cette heure est décrit dans Network CI / CD Part1 - Building network topologies with Docker and cEOS-lab in EOS Central of Arista (user registration required), Je pense que vous pouvez faire la même chose en le regardant.

procédure

Création de docker-compose.yml

Définissez les informations de configuration du cEOS que vous souhaitez démarrer dans le fichier docker-compose.yml.

version: '3'
services:
  ceos1:
    hostname: ceos1
    container_name: ceos1
    image: "ceos:4.24.2.2F"
    command: /sbin/init  systemd.setenv=INTFTYPE=eth systemd.setenv=ETBA=1 systemd.setenv=SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1 systemd.setenv=CEOS=1 systemd.setenv=EOS_PLATFORM=ceoslab syste
md.setenv=container=docker
    privileged: true
    environment:
      INTFTYPE: eth
      ETBA: 1
      SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT: 1
      CEOS: 1
      EOS_PLATFORM: ceoslab
      container: docker
    networks:
      default:
      net1:
      net2:
  ceos2:
    hostname: ceos2
    container_name: ceos2
    image: "ceos:4.24.2.2F"
    command: /sbin/init  systemd.setenv=INTFTYPE=eth systemd.setenv=ETBA=1 systemd.setenv=SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1 systemd.setenv=CEOS=1 systemd.setenv=EOS_PLATFORM=ceoslab syste
md.setenv=container=docker
    privileged: true
    environment:
      INTFTYPE: eth
      ETBA: 1
      SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT: 1
      CEOS: 1
      EOS_PLATFORM: ceoslab
      container: docker
    networks:
      default:
      net1:
      net2:
networks:
  net1:
  net2:


Démarrez et confirmez

Démarrez le conteneur et vérifiez.

docker-compose up -d
Creating network "docker-compose-test_default" with the default driver
Creating network "docker-compose-test_net1" with the default driver
Creating network "docker-compose-test_net2" with the default driver
Creating ceos1 ... done
Creating ceos2 ... done

docker-compose ps
Name               Command               State   Ports
------------------------------------------------------
ceos1   /sbin/init systemd.setenv= ...   Up
ceos2   /sbin/init systemd.setenv= ...   Up

docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
11fb4380119d        ceos:4.24.2.2F      "/sbin/init systemd.…"   12 minutes ago      Up 12 minutes                           ceos2
d578a8077d37        ceos:4.24.2.2F      "/sbin/init systemd.…"   12 minutes ago      Up 12 minutes                           ceos1

docker network ls
NETWORK ID          NAME                          DRIVER              SCOPE
b61604aed6bf        bridge                        bridge              local
f2cb0b079080        docker-compose-test_default   bridge              local
dab572f8e996        docker-compose-test_net1      bridge              local
9e5f6c73dafc        docker-compose-test_net2      bridge              local
ec472d1f98ef        host                          host                local
ad77eaaccb62        none                          null                local

Arrêtez

Utilisez la commande suivante pour supprimer le conteneur.

docker-compose down
Stopping ceos2 ... done
Stopping ceos1 ... done
Removing ceos2 ... done
Removing ceos1 ... done
Removing network docker-compose-test_default
Removing network docker-compose-test_net1
Removing network docker-compose-test_net2

Paramètres du cEOS-lab

Pour le définir, démarrez-le avec docker-compose, puis utilisez la commande suivante.

docker-compose exec ceos1 Cli
docker-compose exec ceos2 Cli

Après avoir entré avec la commande ci-dessus, vous pouvez le définir comme si vous touchaient le commutateur physique Arista.

ceos1>enable
* Il y a des cas où le nom d'hôte est déjà défini comme ceos1 au moment de la connexion et des cas où le nom d'hôte est localhost et le paramètre par défaut, utilisez donc la commande enable.
Lorsqu'il est entré, le nom d'hôte revient à localhost. La cause n'est pas bien comprise ...
localhost#


localhost#
localhost#
localhost#show running-config
! Command: show running-config
! device: localhost (cEOSLab, EOS-4.24.2.2F-18884008.42422F (engineering build))
!
transceiver qsfp default-mode 4x10G
!
service routing protocols model ribd
!
agent Bfd shutdown
agent PowerManager shutdown
agent LedPolicy shutdown
agent Thermostat shutdown
agent PowerFuse shutdown
agent StandbyCpld shutdown
agent LicenseManager shutdown
!
spanning-tree mode mstp
!
no aaa root
!
interface Ethernet1
!
interface Ethernet2
!
no ip routing
!
end

Sommaire

Si le modèle de configuration de test semble avoir été décidé à l'avance, au lieu de démarrer cEOS-lab seul, J'ai trouvé pratique d'utiliser docker-compose. J'espère qu'il pourra être appliqué dans les affaires. De plus, comme partie douloureuse, lorsque des problèmes surviennent, vous devez réussir à isoler cEOS-lab par vous-même, donc J'ai pensé qu'il était nécessaire d'améliorer les compétences du docker lui-même, par exemple en l'utilisant au cas par cas.

Recommended Posts

Exécutez plusieurs cEOS-labs d'Arista Networks à l'aide de docker-compose