| 1 | = EGI !FedCloud = |
| 2 | |
| 3 | [[NoteBox(note, Se recomienda la lectura la [https://wiki.egi.eu/wiki/FAQ10_EGI_Federated_Cloud_User guía de usuario] antes de realizar de las prácticas.)]] |
| 4 | |
| 5 | == Práctica 1 == |
| 6 | El objetivo de esta práctica es tomar contacto con el uso de recursos de computación cloud en EGI. Recuerde que estos comandos han de ejecutarse desde el frontend `ui.macc.unican.es`. |
| 7 | |
| 8 | * Para está práctica utilizaremos la aplicación [https://appdb.egi.eu/store/vappliance/egi.ubuntu.14.04 EGI Ubuntu 14.04] y el site `CESNET-MetaCloud`. Para ello debemos configurar una serie de variables: `ENDPOINT`, `OS_TPL`, `RES_TPL`. Estas variables se pueden obtener bien desde el apartado '''Availability & Usage''' de la aplicación indicada o con siguientes comandos: |
| 9 | |
| 10 | *`ENDPOINT` : |
| 11 | {{{ |
| 12 | #!sh |
| 13 | [user@ui ~]$ ldapsearch -x -H ldap://lcg-bdii.cern.ch:2170 -b GLUE2DomainID=CESNET-MetaCloud,GLUE2GroupID=grid,o=glue GLUE2EndpointInterfaceName=OCCI | grep GLUE2EndpointURL | awk {'print $2'} |
| 14 | }}} |
| 15 | *`OS_TPL` : |
| 16 | {{{ |
| 17 | #!sh |
| 18 | occi --endpoint $ENDPOINT --action list --resource os_tpl --auth x509 --user-cred $X509_USER_PROXY --voms |
| 19 | }}} |
| 20 | *`RES_TPL` : |
| 21 | {{{ |
| 22 | #!sh |
| 23 | occi --endpoint $ENDPOINT --action list --resource resource_tpl --auth x509 --user-cred $X509_USER_PROXY --voms |
| 24 | }}} |
| 25 | |
| 26 | * Configuramos las variables de entorno con los siguiente valores: |
| 27 | {{{ |
| 28 | #!sh |
| 29 | [user@ui ~]$ export ENDPOINT=https://carach5.ics.muni.cz:11443 |
| 30 | [user@ui ~]$ export OS_TPL=http://occi.carach5.ics.muni.cz/occi/infrastructure/os_tpl#uuid_egi_ubuntu_server_14_04_lts_fedcloud_warg_131 |
| 31 | [user@ui ~]$ export RES_TPL=http://fedcloud.egi.eu/occi/compute/flavour/1.0#small |
| 32 | }}} |
| 33 | |
| 34 | * Generamos un proxy válido para poder operar en la infraestructura EGI !FedCloud: |
| 35 | {{{ |
| 36 | #!sh |
| 37 | [user@ui ~]$ voms-proxy-init -voms fedcloud.egi.eu --rfc |
| 38 | }}} |
| 39 | |
| 40 | * Creamos un par clave publica-privada para conectarnos a las maquinas virtuales (VM) que creemos : |
| 41 | {{{ |
| 42 | #!sh |
| 43 | [user@ui ~]$ ssh-keygen -t rsa -b 2048 -f tmpfedcloud |
| 44 | }}} |
| 45 | |
| 46 | * Configuramos la VM utilizado [https://coreos.com/os/docs/latest/cloud-config.html cloud config]: |
| 47 | {{{ |
| 48 | #!sh |
| 49 | [user@ui ~]$ cat > tmpfedcloud.login << EOF |
| 50 | #cloud-config |
| 51 | users: |
| 52 | - name: cloudadm |
| 53 | shell: /bin/bash |
| 54 | sudo: ALL=(ALL) NOPASSWD:ALL |
| 55 | lock-passwd: true |
| 56 | ssh-import-id: cloudadm |
| 57 | ssh-authorized-keys: |
| 58 | - `cat tmpfedcloud.pub` |
| 59 | EOF |
| 60 | }}} |
| 61 | |
| 62 | * Creamos la VM : |
| 63 | {{{ |
| 64 | #!sh |
| 65 | [user@ui ~]$ VM_ID=$(occi --endpoint $ENDPOINT --auth x509 --user-cred $X509_USER_PROXY --voms --action create --resource compute --attribute occi.core.title="MyFirstVM" --mixin $OS_TPL --mixin $RES_TPL --context user_data="file://$PWD/tmpfedcloud.login") |
| 66 | }}} |
| 67 | |
| 68 | * Obtenemos información de sus características como su dirección IP: |
| 69 | {{{ |
| 70 | #!sh |
| 71 | [user@ui ~]$ occi --endpoint $ENDPOINT --auth x509 --user-cred $X509_USER_PROXY --voms --action describe --resource ${VM_ID} |
| 72 | }}} |
| 73 | |
| 74 | [[NoteBox(note, En este caso la IP que se obtiene es publica. Si no lo fuera\, tendríamos que ejecutar el siguiente comando para obtener una:` occi --endpoint http://cloud.recas.ba.infn.it:8787/occi/ --auth x509 --user-cred x509_fedcloud.egi.eu --voms --action link --resource ${VM_ID} --link /network/public`)]] |
| 75 | |
| 76 | * Nos conectamos a la VM por medio de `ssh` haciendo uso de la clave privada que hemos generado con anterioridad: |
| 77 | {{{ |
| 78 | #!sh |
| 79 | [user@ui ~]$ ssh -i tmpfedcloud cloudadm@DIR_IP |
| 80 | }}} |
| 81 | |
| 82 | * Una vez conectados ejecutamos a la VM, ejecutamos los comandos `hostname`, `uname -a`, `cat /proc/cpuinfo`, `cat /proc/meminfo` y `ifconfig` para obtener información sobre ella. |
| 83 | |
| 84 | * Finalmente destruimos la VM: |
| 85 | {{{ |
| 86 | #!sh |
| 87 | [user@ui ~]$ occi --endpoint $ENDPOINT --auth x509 --user-cred $X509_USER_PROXY --voms --action delete --resource ${VM_ID} |
| 88 | }}} |