Ir al contenido principal

Understanding Liveness, Readiness and Startup Probes in Kubernetes

 This is a small article about understanding the liveness, readiness and startup in kubernetes.  There's good explanation in the kubernetes documentation: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ This video also explains well the process: https://www.youtube.com/watch?v=aTlQBofihJQ But I wanted to understand it in a practical way. So I have this demo: https://github.com/DiegoTc/guest-book-js-docker/tree/Running-App-Version-1 It's a simple application running on a kubernetes cluster. https://github.com/DiegoTc/guest-book-js-docker/blob/Running-App-Version-1/argo/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: chat-ui spec: replicas: 1 revisionHistoryLimit: 3 selector: matchLabels: app: chat-ui template: metadata: labels: app: chat-ui spec: containers: - image: diegotc/guestbook:20230803-064434 imagePullPolicy: Alwa...

Instalando Pintos


Posiblemente saben que la documentación esta en la
pagina web de pintos.
Pero tenemos dudas, al momento que seguimos la instrucciones. Este tutorial esta basado en Ubuntu 10.04, en mi opinión personal no importa la versión de Ubuntu, o cualquier distribución basada en debian debería de funcionar. Si lo prueban me avisan.
.
Paso 1. Vamos a instalar unas cosas, para eso vamos a usar la terminal y escribimos los siguientes comandos
  • sudo apt-get install xserver-xorg-dev xorg-dev
  • sudo apt-get install wx-common wx2.8-headers libwxbase2.8-0 libwxgtk2.8-dev
  • sudo apt-get install libncurses5-dev
Paso 2. Abrirl el gestor de paquetes synaptic

Paso 3.
En la casilla de buscar, escribimos las siguientes librerias, y le damos instalar a cada una de ellas.
  • gcc
  • build-essential
  • perl
  • gdb
  • qemu
  • patch
  • libsocket



Picasa SlideshowPicasa Web AlbumsFullscreen

Paso 4. IMPORTANTE Hya un problema al momento cuando instalamos libsocket. Tenemos que hacer un linkeo. ¿Porque? Pintos la busca en otro lugar, y nuestro sistema la puso en otro. Entonces en la terminal escribimos el siguiente codigo
  • sudo ln -s /usr/lib/libsocket.so.0 /usr/lib/libsocket.so
  • Para verificar si esta bueno, escribimos en la terminal ls -lh /usr/lib/libsocket*









Paso 5. Descargamos el bochs version 2.2.6. Aqui.
Descargamos el pintos. AQUI Lo descomprimos.
Lo descromprimos. En la terminal nos movemos a la carpeta donde lo tenemos instalado y vamos a parchear el pintos.
  • cd /directorio/bochs-2.2.6
  • IMPORTANTE PINTOSDIR es la direccion donde descomprimos el pintos, no lo vayan a pegar, tienen que poner la direccion de la carpeta pintos.
  • patch -p1 < $PINTOSDIR/src/misc/bochs-2.2.6-big-endian.patch
  • patch -p1 < $PINTOSDIR/src/misc/bochs-2.2.6-jitter.patch
  • patch -p1 < $PINTOSDIR/src/misc/bochs-2.2.6-triple-fault.patch
  • patch -p1 < $PINTOSDIR/src/misc/bochs-2.2.6-ms-extensions.patch
  • patch -p1 < $PINTOSDIR/src/misc/bochs-2.2.6-solaris-tty.patch
  • patch -p1 < $PINTOSDIR/src/misc/bochs-2.2.6-page-fault-segv.patch
  • patch -p1 < $PINTOSDIR/src/misc/bochs-2.2.6-paranoia.patch
  • patch -p1 < $PINTOSDIR/src/misc/bochs-2.2.6-solaris-link.patch
Ahora la instalacion de bochs
En la carpeta de bochs escribimos el siguiente comando
  • ./configure --enable-gdb-stub --with-x --with-x11 --with-therm --with-nogui
  • make
  • sudo make install
Y el bochs esta listo.

Paso 6. Y ahora seguimos con el pintos
  • Entramos a la carpeta donde tenemos pintos. y hacemos un cd
    cd /directorio/pintos/src/utils
  • make
  • sudo cp backtrace /usr/bin
  • sudo cp pintos /usr/bin
  • sudo cp pintos-gdb /usr/bin
  • sudo cp pintos-mkdisk /usr/bin
  • sudo cp pintos-set-cmdline /usr/bin
  • sudo cp squish-pty /usr/bin
  • sudo cp squish-unix /usr/bin
  • sudo cp Pintos.pm /usr/bin
  • sudo chmod +rx /usr/bin/pintos
Con esto deberia de estar listo. Probarlo?
Le damos un cd a la carpeta de pintos
  • cd /directoriopintos/threads
  • make
  • esto nos crea una carpeta build.
  • cd build
  • y corremos el siguiente ejemplo
    pintos run alarm-multiple
  • Esto nos deberia de mostrar una imagen como la siguiente











Comentarios

Comentarios

Entradas populares de este blog

Understanding Liveness, Readiness and Startup Probes in Kubernetes

 This is a small article about understanding the liveness, readiness and startup in kubernetes.  There's good explanation in the kubernetes documentation: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ This video also explains well the process: https://www.youtube.com/watch?v=aTlQBofihJQ But I wanted to understand it in a practical way. So I have this demo: https://github.com/DiegoTc/guest-book-js-docker/tree/Running-App-Version-1 It's a simple application running on a kubernetes cluster. https://github.com/DiegoTc/guest-book-js-docker/blob/Running-App-Version-1/argo/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: chat-ui spec: replicas: 1 revisionHistoryLimit: 3 selector: matchLabels: app: chat-ui template: metadata: labels: app: chat-ui spec: containers: - image: diegotc/guestbook:20230803-064434 imagePullPolicy: Alwa...

Getting Docker Syntax In Gedit

I have been working with docker in the last days, and encounter the syntax issue with gedit. Just pure plain text. So make a small search and found an easy way for fixing this. I found Jasper J.F. van den Bosch repository in GitHub and found the solution for this simple problem. We need to download the docker.lang file, available here:  https://github.com/ilogue/docker.lang/blob/master/docker.lang After that, you go to the folder you save the file and do the following command. sudo mv docker.lang /usr/share/gtksourceview-3.0/language-specs/  If this doesn't work you can try the following: sudo mv docker.lang  ~/.local/share/gtksourceview-3.0/language-specs/ And that's all! Screenshot of gedit with no docker lang Screenshot of gedit with docker lang

Ansible using plugins for dynamic inventories

This is a small post about how to use inventory plugins in Ansible. If you are looking the script way I recommend to read this article: http://gloriasilveira.com/setting-up-ansible-for-aws-with-dynamic-inventory-ec2.html It explains really good this or you can watch this video: https://www.youtube.com/watch?v=LnbqO1kTPqE&t=6s But if you’re looking to use inventory this article can help you. First of all, why should I used inventory if all over the internet they’re using the python scripts? Well, Ansible recommends it: Inventory plugins take advantage of the most recent updates to Ansible’s core code. We recommend plugins over scripts for dynamic inventory. You can write your own plugin to connect to additional dynamic inventory sources. https://docs.ansible.com/ansible/latest/user_guide/intro_dynamic_inventory.html The actual ansible guide is quite good, but there was a step that got me confused, probably my english isn’t so good and I didn’t understood it. We need to ena...