Prerequisiti
- aver configurato correttamente kubectl usando il plugin kubectl-openstack
aver verificato che esista nel progetto CloudVeneto il security group K8S cosi' definito:
Egress IPv4 Any Any 0.0.0.0/0 Egress IPv6 Any Any ::/0 Ingress IPv4 ICMP Any 0.0.0.0/0 Ingress IPv4 TCP 22 (SSH) 0.0.0.0/0 Ingress IPv4 TCP Any 192.168.60.0/24 Ingress IPv4 UDP Any 192.168.60.0/24 Ingress IPv4 TCP Any 10.64.0.0/16 Ingress IPv4 UDP Any 10.64.0.0/16
Come creare un nuovo nodo
Per creare un nuovo nodo si usa kubectl, l'interfaccia standard di Kubernetes. Nello specifico il comando da utilizzare e' kubectl apply che richiede in input un file yaml.
Il file yaml richiesto per creare un nuovo nodo deve avere la seguente struttura:
--- apiVersion: osnode.infn.it/v1 kind: OpenStackNode metadata: name: NODE_NAME spec: flavor: FLAVOR_NAME keyPair: KEYPAIR_NAME policy: [shared | private ]
- NODE_NAME: e' il nuovo univoco del nodo
- FLAVOR_NAME: e' il nome del flavor definito in CloudVeneto
- KEYPAIR_NAME: indica la chiave ssh definita dall'utente
- shared | private: sono le due opzioni che indicano se condividere o meno il nodo con altri utenti appartenenti allo stesso progetto CloudVeneto
Nel seguente esempio, si richiede la creazione di due nodi (osn-01 e osn-02), il primo di tipo shared ed il secondo private e con flavor diversi, rispettivamente cloudveneto.medium e cloudveneto.large. La chiave ssh (keypair) e' la stessa per entrambi (Lisa):
osnode.yml
--- apiVersion: osnode.infn.it/v1 kind: OpenStackNode metadata: name: osn-01 spec: flavor: cloudveneto.medium keyPair: Lisa policy: shared --- apiVersion: osnode.infn.it/v1 kind: OpenStackNode metadata: name: osn-02 spec: flavor: cloudveneto.large keyPair: Lisa policy: private
$ kubectl apply -f osnode.yml