Un giro su OKD 4 (parte 1)

L’impatto del ritorno dopo le vacanze è stato tragico. Avendo dimenticato tutto in merito a cosa fa un DevOps ho iniziato con un’attività molto leggera. Giocare con OKD 4, la versione community da cui deriva Openshift.

Già da un po’ di tempo è stato annunciato OKD 4 https://www.openshift.com/blog/okd4-is-now-generally-available e messo a disposizione della community un installer per provare il prodotto in locale. Mi ero abituato con Minishift o a farmi un cluster a due nodi (un master e un worker, 2 vm Vagrant e via con i playbook di installazione) ma devo dire che crc (Code Ready Containers) è molto comodo.

All’interno del repo GitHub del progetto (https://github.com/code-ready/crc) si trova un link a https://cloud.redhat.com/openshift/install/crc/installer-provisioned per scaricare ed installare il tool.

Una volta installato (fate in modo che sia in PATH, ho optato per un classico link simbolico /usr/local/bin/crc -> /Users/foobar/WORK/Openshift4/crc/crc) basta dare semplicemente crc setup e crc start. Non ha molto senso entrare in ssh nell’istanza di CoreOS di OKD 4 installata con crc ma per curiosità vi scrivo che si può fare così:

~$ ssh -i /Users/foobar/.crc/machines/crc/id_rsa core@"$(crc ip)"
Red Hat Enterprise Linux CoreOS 45.82.202007240629-0
  Part of OpenShift 4.5, RHCOS is a Kubernetes native operating system
  managed by the Machine Config Operator (`clusteroperator/machine-config`).

WARNING: Direct SSH access to machines is not recommended; instead,
make configuration changes via `machineconfig` objects:
  https://docs.openshift.com/container-platform/4.5/architecture/architecture-rhcos.html

---
Last login: Sat Aug 22 17:50:00 2020 from 192.168.64.1
[core@crc-fd5nx-master-0 ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux CoreOS release 4.5

Una volta partita la vm, in output verrà mostrato come accedere da riga di comando tramite oc. Con oc console si può comunque reperire la password in qualsiasi momento

~$ crc console --credentials
To login as a regular user, run 'oc login -u developer -p developer https://api.crc.testing:6443'.
To login as an admin, run 'oc login -u kubeadmin -p DhjTx-8gIJC-2h2tK-eksGY https://api.crc.testing:6443'

Tramite crc console secco, invece, si aprirà magicamente la console di Openshift sul browser. A prima vista ci sono un sacco di cose che mi piacciono in confronto alla versione 3.11.

Feature interessanti da un primo sguardo alla web-console

  • La view divisa tra administrator e developer
  • La search bar per le resource e gli event. Molto utile anche se era più divertente fare dei bashoni con oc
  • La sezione OperatorHub
  • La sezione workloads per administrator è cross-namespace. Non c’è più bisogno di entrare nel namespace per vederne le risorse (questo è molto comodo, si fa troubleshooting più in fretta)
  • Nella sezione storage ci sono i PV. Da paura. Ci sono anche le storage-class. Mi spiace che tra i provisioner non ci sia quello per OpenEBS (https://openebs.io/)
  • Ok la parte compute è veramente utile (devo provarla però). La feature più interessante di questa sezione è il MachineAutoscaler per cui ciao ciao scale-up manuale (peccato era la cosa più facile lo scale-up tramite Ansible, su OKD. L’aggiornamento invece, su OKD e non su Openshift, era un cosiddetto bagno di sangue.
  • Sezione OAuths in Cluster Settings. È possibile configurare vari identity provider direttamente da web console

Aggiunta identity provider HTPasswd

# Creazione password file con htpasswd 
htpasswd -b -c fooobar foo bar

Upload del file tramite web console

Prova di login

$ oc login -u foo -p bar https://api.crc.testing:6443
Login successful.

You don't have any projects. You can try to create a new project, by running

    oc new-project <projectname>

Direi che OKD4, da un primo sguardo, ci piace parecchio ma ci sono molti aspetti da verificare e funzionalità da provare.

crc è sicuramente utilissimo per gli sviluppatori ma anche per i DevOps in caso vogliano dare uno sguardo.

Bella.

On how to annoy those who interrupt your Zen moment at the beach with the radio at a very high volume…

Due to the success achieved with the last post, we decided to translate it into English so that you all can enjoy it! Have fun!

A summer greeting to all the followers of devopsrecipes.info 😉

My holidays are getting closer and soon I’ll be away from the city chaotic life… In my backpack, besides a couple of big bottle of Peroni beers this year I’ll bring a “FM pirate Radio transmitter” just in case somebody annoys my nap at the beach by listening to the radio at a too high volume (so common in Italy, ain’t it?) intolerable! if you have taken drugs, it is very likely the music you hear doesn’t come from the neighbor’s speakers, then I suggest you to go and buy an Ice cream at the nearest cafe.

listening-to-old-time-radio-on-the-beach

If you wanna equip yourself with this powerful weapon, get the following things, or buy a Radio transmitter on Amazon (though is not cool to buy or download the app 😛 ):

  1. A Raspberry PI
  2. A portable power supply for smartphones (solar energy would be perfectfoglioline)
  3. A wireless pen drive
  4. A PHP script for the web interface management, like this https://github.com/lucky-sideburn/piratepiwave.git
  5. A software to grant the FM signal, for ex: https://github.com/rm-hull/pifm
  6. Last but not least, your smartphone!

Why point 4?

I was too lazy to fiddle around with GPIO to connect a LCD screen and a frequency controller, so I preferred to control the transmitter via my Smartphone.

  1. At first let’s install a web-server Apache + Php on our Raspbian Jessie Lite (of course everyone is free to use the favourite OS or web-server)
  2. If you are lazy it is also possible to use my PHP script https://github.com/lucky-sideburn/piratepiwave.git (I am not a web-developer so YES the graphic interface is super basic and not cool!)
  3. Install https://github.com/rm-hull/pifm in /usr/local/pifm (in the docs you will find wich GPIO you need to use to hook a handcrafted antenna made of metallic wire)
  4. Configure the wireless network interface controller in order to connect to your Smartphone hotspot (from the Admin panel you will get the assigned IP)
  5. Set everything to autostart on boot, attach the external battery to the Raspberry, once ready from your smartphone launch a http://$ipdelraspberry.

What shall we play on the “Zen moment harasser” radio?

Either you can copy and paste your fav audio tracks on /usr/local/pifm/sounds and modify the path of the file you want to use in the PHP script.

How do I select the FM frequencies? 

… or you can use the handy bar on top if you want to tune on a radio.

Screen Shot 2016-08-15 at 11.25.27.png

Or you can create buttons like these, with the selected radio frequencies

Screen Shot 2016-08-15 at 11.28.20.png

There you are, the final result!

IMG_20160815_113020

[wpvideo up4oWaQ9]

Happy holiday!!!