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: This video also explains well the process: But I wanted to understand it in a practical way. So I have this demo: It's a simple application running on a kubernetes cluster. 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: Always nam

Managing dynamic inventory in private subnets using bastion jump box

Managing dynamic inventory in private subnets using bastion jump box
The title of post is quite large, but is something I encountered issues in the last weeks. I had a VPC in AWS, creating x amount of instances in a private network, and was quite complex to manage this instance using static inventory files. So I will explain you how to manage this problem with Ansible.
Before continue, I want to say these articles are really good and can help you with this issues.
So you will be asking, if these articles are so good, why are you writing them again? Easy, I’m doing this in Gitlab CI, and I suppose other CI will encounter similar issues. It’s not possible to connect to the instances using the instructions above.

First Step

We get our inventory in a dynamic way. For this we will use the inventory scripts.
We need to modify the ec2.ini file with uncommenting the vpc_destination_variable and set the value to private_ip_address
An example
# For server inside a VPC, using DNS names may not make sense. When an instance
# has 'subnet_id' set, this variable is used. If the subnet is public, setting
# this to 'ip_address' will return the public IP address. For instances in a
# private subnet, this should be set to 'private_ip_address', and Ansible must
# be run from within EC2. The key of an EC2 tag may optionally be used; however
# the boto instance variables hold precedence in the event of a collision.
# WARNING: - instances that are in the private vpc, _without_ public ip address
# will not be listed in the inventory until You set:
vpc_destination_variable = private_ip_address
#vpc_destination_variable = ip_address
Be sure to have your ansible.cfg, with the following line.
host_key_checking = False
This is useful, as we’re running this in a CI, we can’t hit enter to accept the connection in the terminal.
Then we begin working with our yml file. As I’m running this on a container, I need to create the .ssh directory and the config file. Here it’s important to add StrictHostKeyChecking=no If we don’t do this, this will fail in our CI, as we can’t hit enter. If you don’t included it and run it locally, it will work.
- name: Creates ssh directory
    path: ~/.ssh/
    state: directory

- name: Create ssh config file in local computer
    dest: ~/.ssh/config
    content: |
       Host 10.*.*.*
       User ubuntu
       IdentityFile XXXXX.pem
       ProxyCommand ssh -q -W %h:%p {{ lookup('env', 'IP') }}
       Host {{ lookup('env', 'IP') }}
       User ubuntu
       IdentityFile XXXXX.pem
       ForwardAgent yes

And finally we test it running the ping command.
- name: test connection

In case you need the code :


Entradas populares de este blog

Que buscaron los hondureños en Google en el 2017

Se han preguntando que buscan los catrachos en Internet? Les traemos un resumen de las busquedas de este 2017 en Honduras.

Adding Users to Existing Groups in Ubuntu (Oneiric Ocelot)

Hi have been working in Virtual Box, this days and need to add my user to the vboxusers group. I was going to do it graphically, and suddenly I notice that the application I use for doing this job it disappear. :( So I have to use the CLI If you know the group just do this Steps sudo usermod -a -G GROUP USER where -a means append. Add the user to the supplementary group(s). Use only with the -G option. If you want to read more about the usermod do man usermod If you don't know the group Steps groupmode 2 TIMES sudo usermod -a -G GROUP USER If you see the only difference is that you type groupmode and press tab 2 times and all the groups will be display. HOPE it works

En el Encuentro Centroamericano de Software Libre

Actualmente me encuentro en la ciudad de Chitre en Panamá en el VI Encuentro Centroamericano de Software Libre . Por los momentos ha sido una excelente experiencia. Me vuelto a encontrar a varias personas que conocí en el Primer Encuentro Centroamericano y nuevas personas de varios países de centroamerica. Algo nuevo que a tenido este ECSL es la presencia de varias personas reconocidas en la comunidad del Software Libre. Entre ellos, esta Ramon Ramon , famoso bloguero de software libre.  Guillermo Movia Community Manager de America Latina para Mozilla y otras grandes personas de la comunidad de Software Libre en Centroamerica. Mas adelante voy a escribir sobre la charla que di sobre , y otras platicas con las personas de Mozilla, que por cierto conoci a Jorge Aguilar miembro fundador de la Comunidad Mozilla Honduras. Algunas Imágenes . Si deseas leer este articulo en ingles, click aqui.