Giter VIP home page Giter VIP logo

erase-una-vez-k8s's Introduction

Érase una vez Kubernetes

Repositorio de ejercicios y ejemplos utilizados en el libro Érase una vez Kubernetes.

Para aprender y practicar Kubernetes hay que tener un cluster, y si este cluster tiene múltiples nodos será mucho mejor.

El cluster de Kubernetes utilizado en el libro cuenta con:

  • 1 nodo master v1.20.0
  • 2 nodos
  • Calico para las comunicaciones y políticas de red

Requisitos previos

Configuración del cluster

Puede adaptar el cluster a sus necesidades a través de las variables establecidas en el fichero Vagrantfile.

# master node parameters
MASTER_CPU = "2"
MASTER_RAM = "2048"
# node parameters
NODE_COUNT = 2
NODE_CPU = "1"
NODE_RAM = "1024"
# kubernetes parameters
KUBERNETES_VERSION = "1.20.0"

Instalación

Clone el repositorio git con el contenido del curso y acceda a la carpeta la carpeta descargada.

git clone --depth=1 https://github.com/mmorejon/erase-una-vez-k8s.git

cd erase-una-vez-k8s

Inicie la creación del cluster utilizando el siguiente comando de Vagrant:

vagrant up

La construcción del cluster demora aproximadamente 5 minutos. El tiempo puede variar en dependencia de la velocidad de red.

Video de la instalación

asciicast

Practicar dentro del nodo master

Con el objetivo de acelerar el aprendizaje de Kubernetes sugerimos realizar todos los ejercicios dentro del nodo master del cluster. Este nodo ha sido configurado con los sistemas que necesita para empezar (p.ej, kubectl y fichero config), pero sobre todo, evita posibles errores derivados de las configuraciones que actualmente existen en su ordenador.

Dentro del nodo master se encuentra sincronizado el directorio git con todos los ejercicios. De esta forma podrá modificar o crear nuevos ejemplos desde su editor preferido (p.ej VSCode) y los cambios se reflejarán al instante dentro del nodo master.

Acceda al nodo master que se ha creado

vagrant ssh master

y compruebe el estado del cluster.

kubectl get nodes

Deberá obtener un resultado similar al siguiente:

NAME     STATUS   ROLES                  AGE     VERSION
master   Ready    control-plane,master   7m20s   v1.20.0
node1    Ready    <none>                 4m38s   v1.20.0
node2    Ready    <none>                 2m13s   v1.20.0

Practicar fuera del nodo master

Puede conectarse al cluster desde cualquier carpeta del ordenador. Para lograrlo siga los siguientes pasos:

Instale el componente vagrant-scp a través del comando:

vagrant plugin install vagrant-scp

Liste las máquinas virtuales que ha creado Vagrant para obtener el identificador del nodo master

vagrant global-status

id       name   provider   state   directory
-----------------------------------------------------------
d407cfe  master virtualbox running /...../erase-una-vez-k8s
26b02fc  node1  virtualbox running /...../erase-una-vez-k8s
7fbe26d  node2  virtualbox running /...../erase-una-vez-k8s

Copie el fichero de configuración de Kubernetes desde el nodo master hacia el directorio HOME de su usuario. Si actualmente existe el fichero ~/.kube/config le sugerimos que realice una copia del fichero antes de modificarlo.

Sugerencias y Comentarios

Déjanos saber lo que estás pensando sobre el libro Érase una vez Kubernetes. Al igual que en los libros de cuentos, haremos todo lo posible por cumplir tu sueños!

erase-una-vez-k8s's People

Contributors

mmorejon avatar jicarretero avatar caalpeva avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.