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...

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 enable the plugin. So we have 2 ways of doing this, we could edit the ansible.cfg file located in /etc/ansible/ansible.cfg or in your local folder where you’re working.
Ansible Documentation
According to ansible, you need to enable the plugin, like the following code, but I was killing myself and couldn’t make it work, so what’s the correct way of doing it?
[inventory]
enable_plugins = host_list, script, auto, yaml, ini, toml
The way it works for me
I’m working with aws dynamic inventory. So according to the documentation the file name has to end in aws_ec2.(yml|yaml)
So I need to add the aws_ec2 to the enable plugins.
[inventory]
enable_plugins = aws_ec2, host_list, yaml, ini, script
After that, following the documentation is quite easy
File name: demo.aws_ec2.yml
# Minimal example using environment vars or instance role credentials
# Fetch all hosts in us-east-1, the hostname is the public DNS if it exists, otherwise the private IP address
plugin: aws_ec2
regions:
  - us-east-1
If you need to run it
ansible-inventory -i demo.aws_ec2.yml --graph
If you need to use it on a playbook, sending of parameter a private key
ansible-playbook -i demo.aws_ec2.yml playbook.yaml --private-key KEY

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