Qui si travano i file di configurazione per mettere in piedi un ambiente virtuale locale al proprio computer.
Questi file sono utilizzati nella sesssione pratica Kubelab01++ organizzata tramite la piattaforma meetup.com.
Il riferimento URL è kubelab.
In questa sessione come strumento per fare provisioning è utilizzato Vagrant. Per scaricare lo strumento click here.
Il provider utilizzato è Virtualbox. Per scaricare click here.
Per la maggior parte delle versioni linux è sufficiente un comando
vagrant up
dalla riga di comando. Tuttavia in alcuni casi, per esempio Fedora, è richiesto un esplicito riferimento al provider per la creazione di macchine virtuali. In quest'ultimo caso eseguire il comando
vagrant up --provider virtualbox
Il comando farà partire una macchina virtuale con sistema operativo coreos
il cui hostname è kubelab
.
Per collegarsi in ssh a kubelab eseguire il camando
vagrant ssh
Lo srumento Vagrant permette di velocizzare il deploy della macchina virtuale. Infatti, fornsce uno stratto di astrazione aggiuntivo e rende flessibile la costruzione/ricostruzione di ambienti virtuali per attività di laboratorio/test.
Il Vagrantfile
estrae i parametri di configurazione esposti come variabili in config.rb
.
Questo permette di parametrizzare la convergenza dello stato del cluster. Inoltre, permette di gestire
programmaticamente quante risorse assegnare a ogni VM in parte, per esempio:
- CPU;
- RAM;
- Networking.
Per il deploy del run time Linux CoreOS, Vagrant non l'unica modalità. Ogni specifico contesto permette una modalità ad hoc. Per ogni ulteriore dettaglio informativo riferire la documentazione sul sito di CoreOS. L'URL di partena è CoreOS deploy.
Nel nostro caso specifico, il cluster è formato da un singolo nodo.
Il sistema operativo CoreOS è configurato tramite il file di configurazione cloud-config
contenuto in user-data
.
L'effetto del file di configurazione è la seguente:
- Avviare il demone Docker;
- Creare un utente dedicato
kubelab:kubelab
.
N.B.
La notazione kubelab:kubelab è una notazione che si usa molto spesso in
ambito Linux. Essa rappresenta "NomeUtente":"GruppoACuiNomeUtenteAppartiene"