dimanche 31 décembre 2023

Bilan 2023 et Objectifs 2024

Bilan 2023

2023 est une année positive pour moi et ma famille.

Début Janvier, nous avons passé les fêtes en Colombie, où nous avons revu la famille et les amis.

Le travail s'est bien passé et ça a été très intéressant de suivre et faire partie d'un projet aussi novateur que Oracle Database@Azure. Tres fier aussi d'avoir mene a bien comme chef de projet la transformation Devops d'une plateforme B2C AWS/Ruby vers K8s.

C'est également la troisième année que je partage des titres sur youtube presque tous les jours, 310 titres partagés sur youtube.

Finalement, 2023 est l'année ou j'ai le plus pedale, plus de 14500 km. 2600 km de brevets, 2700 pour ma première course d'ultra cycling et le reste en préparation et en entraînement.

Objectifs de 2024

Transiberica 2024, un grand défi, beaucoup d'inconnus et des sommets mythiques à découvrir.

J'aimerais terminer en 10 ou 9 jours, me pousser plus que la dernière fois. Pour bien me préparer, je pense prendre un coach ou améliorer mon programme d'entrainement.

Concernant le matériel, je ne pense pas faire beaucoup de changement. Bien sûr, tester mon matériel, avec le même kit qu'en 2023, peut être ajouter une tenue pour la nuit et le froid, comme un Gabba. Je me demande quel sera le climat sur les sommets à +2000m et la nuit fin Août.

Pour me préparer, je vais faire la série de brevets Audax à Malaga et j'espère pouvoir faire la sortie ultra cycling de 1200km avec randonneursandalucia Seville-Lisbonne-Séville en Juin comme répétition générale.

Côté travail et compétences techniques. J'aimerais terminer les cours de Python et Terraform et pratiquer le développement sur mes projets perso. En plus j'aimerais me certifier sur Azure et continuer le travail de PM d'Oracle Database@Azure  

Enfin pour préparer les aventures en vélo et aussi pour me sentir bien j'aimerais perdre des kilos et faire 87kg. Continuer les exercices de musculation, de renforcement, courir et nager mieux et plus régulièrement.

mercredi 4 octobre 2023

Transiberica c'est bien fini

 Transiberica 2023,  

Challenge accompli, 2700km en 11 jours. Il a fait très chaud et aussi très froid; du vent, de la pluie, beaucoup de bons moments. C'est fait j'ai traversé l'Espagne et même pas en ligne droite. C'était mon rêve et mon challenge. Merci à ma famille et aux amis pour m'avoir soutenu jour après jour.


Je me suis inscrit en Novembre et je l'ai préparé pendant presque un an.
Je suis content d'être arrivé au bout, j'ai souffert la dernière journée. J'avais a la cuisse droite, impossible de transférer de la force, surement contracture, mais apres quelques heures ca ete.
J'aurais peut-être pu faire mieux, finalement je me suis beaucoup arrêtée. J'ai environ 50-50 active/inactive, ce que j'interprète comme avoir rouler fort quand je roulais. 

On a vraiment eu de tout, on est parti de nuit. Le premier CP etait au sommet du Veleta, 3130m.
Ca c'est bien passé j'étais bien. Les 3 premiers jours j'ai roulé a bloc environ 300km par jour. Il faisait très chaud, j'ai eu jusqu'à 53'
À ça j'étais préparé, j'étais allé reconnaître les 2 premiers CP, j'avais roulé de nuit fatigué et en plein soleil pour m'habituer.
La partie que je craignais le plus était Almaden parce que c'était un chemin de pierre, sans route et comme prévu j'ai crevé. 
Mais hormis 2 crevaisons et un changement de pneu, pas de casse mécanique. J'ai eu de la chance car mes 2 crevaisons sont dues à des chocs avec des pierres et je suis pas tombé, ni rien cassé de grave.
J'ai decrit mon velo ici Dotwatcher.
J'ai roulé 2 fois de nuit et le reste je suis resté à l'hôtel. Je partais tôt. Je suis allé aussi dans des piscines municipales pour dormir, prendre une douche et laisser passer la chaleur.

A partir du CP7 c'est devenu plus dur à cause du vent de face, j'ai eu l'impression d'avoir la tête dans une machine a laver toute la journée.
Après dans le Nord du Pays, il a fait froid, jusqu'à 5-8' et il pleuvait !!!! 
J'avais pas d'équipement pour ça. Juste un Kway et un t-shirt long thermique mais finalement avec la sueur c'était pire. Parait qu'il faut que j'apprenne à faire du vélo lentement mais je sais pas comment.

Néanmoins comme j'avais nul part où aller, ni personne à qui appeler j'ai continué et j'ai bien réussi.
La trace était libre, je me rends compte que d'autres ont été plus malin. Surtout je suis passé par les Picos de Europa pour découvrir et visiter mais c'était mieux de passer par le Nord et Oviedo.  C'est la ou des fois j'ai oublié la course.
Mais hormis ça, très bien passé, pas de bobos, pas de casses. J'écoutais de la musique. J'ai vu des super paysages; rencontres des gens super, surtout ceux qui préparent le repas de la feria du weekend.
Faut dire que cette semaine c'était les férias dans tous les villages, souvent au petit matin, je voyais des gens déambuler. 
Je suis très content, c'était ma première fois. Le plus important c'est de bien gérer les pauses, de ne pas perdre de temps mais surtout de se faire plaisir.
Il me reste des choses à faire, mieux gérer les pauses, l'équipement (pour pas avoir froid) mais sinon faut juste y croire et avancer par tous les moyens.
La famille m'attendait à Bilbao, retour ensemble en voiture, c'était super













mardi 15 août 2023

Ready, set, go!

I am enjoying the 15th of August bank holiday to finish my setup.

Loaded my tracks in the GPS. Cleaned and lubed my bike. The packing list is almost ready.


And the bike ?

A good old vintage titanium Quintana Roo Santos from 2005 updated from TT to road bike, 11sp Ultegra 11/34, Campagnolo Zonda wheels, with Continental GP5000 28mm. Named Uli for Ulysses, a Rotor 2powerin powers him with Qring 50/34; he always finds his road home from Paris to Medellin and Malaga, now to Bilbao.

Topeak Backloader 10L for the extra layers, extra kit and repair tools. Restrap frame bag for care kit and electrics stuff. Restrap top tube to keep the food and sun protector. Front lights are Lezyne Macrodrive 1800XL and Moon Rigel. Two Moon shield-X as rear lights. Decathlon areobar. Extra kit: a pair of sandals to push in the track, a stabilizer for extra bottles and a swimsuit if I'm lucky or cross sirens.

Wish me luck and track me cap41 by the 19th of August 21h.












dimanche 12 mars 2023

Transiberica my challenge for 2023

Being more and more into long-distance cycling, I decided to prepare Paris-Brest-Paris PBP in 2023. Paris-Brest-Paris is a 1200km race to complete in 90h.

Despite being a Parisian, I learned about this race when I met Oscar during a ceremony in the Alianza Francesa in Medellin in 2016 (maybe). He completed the race in 2015 and received his grade.

Since then, I have discovered the world of PBP, the brevets and ultra-cycling. In Medellin, it was not easy to do the brevets, and I kept interested in that. Now, living in Malaga, I did a couple of brevets in 2022, 200km in Espiel and 300km in Fuengirola

I was preparing myself for the 20th anniversary of PBP, following Garmin training plans and doing the first brevets of the year with Randonneurs Andalucía

But I found a more significant challenge, la TransIberica2023.

This event is usually in Bilbao, but in 2023 the start will take place in Malaga and will take us to Bilbao. I can't resist the adventure.

Thanks to the club and Diego, I'm doing the brevet in Benacazon (200km300km) and plan to complete the series. It will be my first time. I'm watching videos, for example, the excellent BuzzAlong video.

One of the specificity of the TransIberica is to be a free route which means the riders must design and follow their own plan to reach the mandatory checkpoints. The 10 checkpoints are creating two S covering around 2700km of Spain. Ideal for me to discover the country.

I'm spending much time designing the road and comparing the options.

I'm also testing the equipment and preparing training roads to adapt myself to different situations.

Luckily the next 400km will be in Castillo de Locubin, and the weather prediction is planning rain the whole day.

Wish me luck.




dimanche 11 septembre 2022

Kubeflow on OCI

Super proud to have participated in the Kubeflow community.

First to have tested Kubeflow installation on OKE, Oracle Container Engine for Kubernetes
Mainly tested the new release v1.6 on OKE and updated Kubeflow documentation to include Oracle and OCI.
It was a great experience and motivated me to keep participating.

The instruction describes how to install Kubeflow on OCI and OKE. 
We will keep improving the guide.

The official documentation

dimanche 19 juin 2022

Free Gitlab ARM on OCI

With Oracle Cloud Infrastructure article, you can deploy for free 2 VM ARM, for example your GitLab instance.

The article guides you through deploying your GitLab instance.

https://docs.oracle.com/en/solutions/deploy-GitLab-ci-cd-oci/index.html#GUID-02762BBC-6B22-4547-B542-2C021CDEA870

Here I provide you with the steps to update GitLab to the latest version and configure your instance to use a custom domain for free using DuckDNS, send emails and enable free SSL certificate with Let's Encrypt.

Upgrade GitLab

Upgrade following the GitLab upgrade path

https://docs.GitLab.com/ee/update/index.html#upgrade-paths

sudo yum -y update Gitlab-ee-13.12.15-ee.0.el8
sudo yum -y update Gitlab-ee-14.0.12-ee.0.el8

Finally, one last update

sudo yum -y update

Register your custom domain with DuckDNS

Create an account on www.duckdons.org.

Create your subdomain

Create your subdomain myinstance.duckdns.org using your OCI instance public IP.

Follow DuckDNS steps. Create /etc/duckdns/duck.sh

mkdir duckdns
cd duckdns
vi duck.sh

In the file add your custom DuckDNS configuration.

echo url="https://www.duckdns.org/update?domains=myinstance&token=a7c4b0ad-114e-40ef-ba1d-d218904a50f2&ip=" | curl -k -o ~/duckdns/duck.log -K -

Create your cron entry

*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1

Update GitLab to use your custom domain

Update GitLab configuration file to update your external_url

sudo vim /etc/gitlab/gitlab.rb
external_url 'http://GitLab.example.com'

Set your hostname

sudo hostnamectl set-hostname myinstance.duckdns.org

Reload configuration sudo GitLab-ctl reconfigure
Review configuration
sudo GitLab-ctl show-config

Configure GitLab to send email

Create OCI SMTP credentials

Follow the OCI steps to generate a username and password
https://docs.oracle.com/en-us/iaas/Content/Email/Reference/gettingstarted.htm https://docs.oracle.com/en-us/iaas/Content/Email/Tasks/generatesmtpcredentials.htm#Generate_SMTP_Credentials_for_a_User

Configuration GitLab to use Postfix
https://docs.oracle.com/en-us/iaas/Content/Email/Reference/postfix.htm

SMTP credentials to send emails

Edit GitLab configuration to use the credentials generated

sudo vim /etc/GitLab/GitLab.rb
  GitLab_rails['smtp_user_name'] = "ocid1.user.oc1..aaaaaaaaaxxxxx.ii@ocid1.tenancy.oc1...kd.com" 
  GitLab_rails['smtp_password'] = "3e4rtyhu6yt_W"    

Test to send email from GitLab

sudo GitLab-rails console
Notify.test_email('my.email@domain.com', 'Message Subject', 'Message Body').deliver_now

https://docs.GitLab.com/omnibus/settings/smtp.html#testing-the-smtp-configuration

Tips and tricks

Send email in bash

sudo yum install mailx

The sender needs to be approved
https://docs.oracle.com/en-us/iaas/Content/Email/Reference/gettingstarted.htm#start__config

echo "This is a test message" | mail -s "Test" -r my.email@domain.com my.email@domain.com
Check maillog sudo tail -f /var/log/maillog

SSL configuration

https://docs.GitLab.com/omnibus/settings/ssl.html#install-custom-public-certificates

In the following article, how to deploy your code

vendredi 1 avril 2022

Install Istio on OKE Oracle Linux 8.5

Tips, when installing Istio and the sample application Bookinfo on an OKE cluster running Oracle Linux 8.5 you may face the error

error   Command error output: xtables parameter problem: iptables-restore: unable to initialize table 'nat'

You need to enable CNI support at the installation

istioctl manifest apply --set components.cni.enabled=true

On working nodes, you can apply the following commands as root and apply the configuration for restart.

modprobe br_netfilter ; modprobe nf_nat ; modprobe xt_REDIRECT ; modprobe xt_owner; modprobe iptable_nat; modprobe iptable_mangle; modprobe iptable_filter
cat  <<EOF | sudo tee /etc/modules-load.d/99-istio-modules.conf
# These modules need to be loaded on boot so that Istio (as required by
# Kubeflow) runs properly.
#
# See also: https://github.com/istio/istio/issues/23009

br_netfilter
nf_nat
xt_REDIRECT
xt_owner
iptable_nat
iptable_mangle
iptable_filter
EOF

You will be able to deploy the application without troubles

$ kubectl get pods
NAME                              READY   STATUS    RESTARTS   AGE
details-v1-79f774bdb9-87x6d       2/2     Running   0          35m
productpage-v1-6b746f74dc-zg4tb   2/2     Running   0          35m
ratings-v1-b6994bb9-vtcqz         2/2     Running   0          35m
reviews-v1-545db77b95-fldn4       2/2     Running   0          35m
reviews-v2-7bf8c9648f-mj26p       2/2     Running   0          35m
reviews-v3-84779c7bbc-2jvjt       2/2     Running   0          35m

Documentation
https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengistio-intro-topic.htm
https://istio.io/latest/docs/setup/getting-started/
https://istio.io/latest/docs/examples/bookinfo/

Issue
https://github.com/istio/istio/issues/23009

mercredi 2 mars 2022

Sync secret management systems into Kubernetes secret

mardi 18 janvier 2022

GCP GKE VPN to on premises

Once we needed to consult an on-prem MS SQL from our PHP Lumen microservices.

Following the steps described in the following articles.

https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent

Then change to false to not mask links and publish them to the firewall.

  masqLinkLocal: false


mercredi 29 décembre 2021

mercredi 27 octobre 2021

Use GCP and gsutil to backup your archive files

I have the case of an old server, still running but already past the end of life. I needed to archive vzdump backups and virtual machine images just in case.

OS is too old to install GCP tools like gcloud and gsutil, but there is curl. So I can archive my files.

From my laptop, I can get my access token once the login is confirmed.

gcloud auth application-default login

gcloud auth application-default print-access-token

You received in response the access token to use with curl to upload the file to mybucket in Google Object Storage.

curl -v --upload-file vzdump-qemu-2210-2020_09_27-14_31_04.vma.gz -H "Authorization: Bearer access-token" https://storage.googleapis.com/mybucket/vzdump-qemu-2210-2020_09_27-14_31_04.vma.gz

Replace access-token and mybucket with your values. 

This way, I can externalize my backups and even try to provision some old machines as VM. Stay tuned.

mercredi 21 juillet 2021

Kubectl plugins the easy way

You know kubectl is today the Cloud console tool, the new SSH and bash and much more.

I use it every day and as always I only rely on my bash history and CTRL+R to find the last correct use.

For a long time, I read Ahmet Alp Balkan tweets about kubectl plugin but it sounds difficult.

Kubernetes the hard way, right?😁

(if you don't already follow Ahmet on Twitter)

So I was happy with my kubectl history until I assist to Paris Containers Day, especially 

Gaëlle Acas & Aurélie Vache's presentation check their video Kubectl plugin in a minute ! (in french)

Incroyable, it's super easy to create your kubectl plugin and they demonstrate in 4 steps :

  1. Create a file named kubectl-myfantasticplugin
  2. Make it executable, chmod +x kubectl-myfantasticplugin
  3. Move it into your PATH, mv kubectl-myfantasticplugin /usr/local/bin
  4. Run "kubectl myfantasticplugin"
You can create your plugin with any language and especially Go, Python, Rust, Quarkus or Bash.

Test yourself :
  1. copy kubectl-halloween bash script from their Github, 
  2. chmod +x kubectl-halloween 
  3. sudo mv kubectl-halloween /usr/local/bin/kubectl-halloween
  4.  kubectl halloween pod
  5. Get your emoji

NAME                                READY   STATUS    RESTARTS   AGE
🎃 my-nginx-5d59d67564-5q4mk           1/1     Running   0          4h52m
🎃 my-nginx-5d59d67564-5shv7           1/1     Running   0          4h52m
🎃 my-nginx-5d59d67564-nwrwk           1/1     Running   0          4h52m
🎃 nginx-deployment-66b6c48dd5-m9rdt   1/1     Running   0          11d
🎃 nginx-deployment-66b6c48dd5-vzw48   1/1     Running   0          11d

It's Awesome.
The best is to come. Now you know how to create kubectl plugins. 
You can create your own, use existing ones and share yours using Krew.

You can also create your own Krew index to share your kubectl plugin in your team, project or company.

And what to do with kubectl plugins ?
Everything ! View secrets, view certificate, resources utilizations, logs, and more.
Plugins are a great way to increase your agility and productivity.

Remember your old bash script, now it's a kubectl plugin and you can share it.

Find Gaelle and Aurelie slide deck, they explain everything better. 
Thank you for the inspiration.

Official documentation

And check Ahmet famous plugin