Showing posts with label Cloud. Show all posts
Showing posts with label Cloud. Show all posts

Walkthrough my Lab


For many years, my passion for creating and testing new technology has driven me to establish a space where all my dreams could become a reality—my lab. Like many technology enthusiasts, I constantly feel the need to create and recreate various environments to suit different requirements or interests. In my case, I have a particular tendency to delete everything, only to later regret it when I realize why I had labeled certain things "do not delete."

After a few conversations with a good friend (another geek), he said to me, "Why don't you have everything set up with IaC? That way, you could avoid any issues when recreating environments and save space on your virtualization server." I felt a bit foolish after hearing that and thought, "Here I am, dreaming about automation, and I haven't even automated my own lab."

From that moment, I decided to bring my entire lab environment to life using Infrastructure as Code (IaC). I no longer had to worry about accidentally deleting anything because everything could be easily restored with just a few lines of code.

For general purposes, the virtualization server is located outside my network and is only accessible from VLAN 30. This server has a multilink connection to the Layer 2 switch, and all virtual machines will be created under VLANs 10, 20, and 30, according to the requirements of each lab.




The first phase of my lab involves creating three Ubuntu VMs, followed by setting up and configuring a Kubernetes cluster with integrated monitoring and alerting systems.




  • Next entry: Deploying Kubernetes using Ansible
  • Next entry: Using Jenkins to orchestrate the deployment 
All the code will be released on GitHub repository 



Clase III -- Networking en Docker



Docker incorpora en sus funciones de comunicación la posibilidad de crear networking interactivo. Entre las opciones destacadas podemos encontrar los siguientes tipos de interfaces:

Host: utiliza los recursos de las interfaces de red activas en el equipo. Puede verse representado como las funciones de NAT en una red.
Bridge: La red por defecto en Docker, se puede ver reflejada en nuestro equipo como docker0 al ejecutar en la linea de comandos #ifconfig o #ip addr
none: significa que el contenedor no incluye adaptador de red, por defecto solo tendria la interfaz de loopback lo.



A continuación se muestran los comandos necesarios para generar y acceder a redes en Docker:


  •     docker network create [red] -- Crea una red.
  •     docker network connect -- Conecta un contenedor de una red.
  •     docker network ls -- Lista redes existentes en un host de docker.
  •     docker network rm -- Elimina una red.
  •     docker network disconnect -- Permite desconectar un contenedor de una red.
  • docker network inspect -- Muestra información sobre las redes de Docker.
--net [nombre de la red] -- Especificar la red en la cual estará un contenedor conectado.
--link [nombre del contenedor] -- Enlaza un contenedor a una red y así acceder a ellos por medio de su nombre.


Iniciar el proceso de creación de una red nos da acceso a muchas opciones entre las cuales se encuentran la posibilidad de agregas parámetros específicos de funcionamiento de la red que estamos creando. De las mas utilizadas se encuentran:

    •  Driver: Existen múltiples drivers de funcionamiento 
      • bridge: El controlador de crea una red privada interna al host para que los contenedores en esta red puedan comunicarse. El acceso externo se concede exponiendo puertos a contenedores:



      • Overlay: Este controlador utiliza un plano de datos VXLAN estándar de la industria que desacopla la red del contenedor de la red física subyacente. Esto tiene la ventaja de proporcionar la máxima portabilidad a través de varias redes en la nube y locales(Este driver solo esta disponible en host que corran con Swarm Manager...proximamente incluire las imagenes) 
      •  MACVLAN: Este tipo de configuración se puede usar para extender múltiples VLAN L2 a través de la interfaz del host directamente a los contenedores:




[
    {
        "Name": "macvlan-networ",
        "Id": "58283e617b9f7b7e3c86142b3ab9ce64514ac61f2ef36dc4d75c2f82cbee0f07",
        "Created": "2018-03-12T10:31:38.590583455-05:00",
        "Scope": "local",
        "Driver": "macvlan",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "192.168.100.0/24",
                    "Gateway": "192.168.100.254"
                }
            ]
 

En una próxima actualización de este post incluiré el tag de vlans en macvlan y la utilización de overlay. Espero que esta información sea de ayuda para ustedes.

Gracias por leerme.