Contenido

Como Instalar Okit Designer Tookit en Linux y Windows para diseñar diagramas de Oracle Cloud Infrastructure

Actualizado el 2021-01-22

¡Hola a todos!

En esta guía les voy a explicar como instalar la herramienta Okit Designer Tookit para diseñar nuestros propios diagramas de Oracle Cloud Infrastructure.

Okit Designer


OCI designer toolKIT (OKIT) es un conjunto de herramientas que permiten diseñar, desplegar y visualizar ambientes de OCI a través de una interfaz web, lo que permite a arquitectos y diseñadores cloud contruir una representación visual de su infraestructura y luego exportarla en los siguientes formatos:

  • svg
  • png
  • jpeg

Una vez que se haya completado el diseño, este se puede exportar a las siguientes herramientas:

  • Ansible
  • Terraform
  • OCI Resource Manager

Esto acelera el despliegue de una infraestructura completa en OCI.

Hay dos maneras de instalar Okit Designer: con Vagrant y Docker. En esta oportunidad lo vamos a hacer por Docker y Docker Compose para aislarlo de nuestro sistema.

Instalando Prerrequisitos


Fedora 33


Antes de instalar Docker, vamos a actualizar nuestro sistema:

1
sudo dnf update -y

En caso que se haya actualizado a un nuevo kernel, reiniciamos el sistema:

1
sudo reboot

Luego, Instalamos el paquete:

1
sudo dnf -y install dnf-plugins-core

Instalando Git


1
sudo dnf -y install git

Instalando Docker


Lo puedes instalar siguiendo este tutorial: Como Instalar Docker en Linux

Instalando Docker Compose


La versión actual es la 1.28.0, bajamos el ejecutable de Docker Compose y lo guardamos en el directorio /usr/local/bin:

1
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Le asignamos permisos de ejecución:

1
sudo chmod +x /usr/local/bin/docker-compose

Comprobamos si está correctamente instalado:

1
docker-compose --version
1
docker-compose version 1.26.2, build eefe0d31

Microsoft Windows 10 Pro


Activando Componentes necesarios


En el menú Inicio tecleamos “Activar o Desactivar Caracteristicas de Windows”:

Inicio
Menú Inicio

Activamos los siguientes componentes:

  • Contenedores
  • Hyper-V
  • Subsistema de Windows para Linux

Inicio
Activar o Desactivar Caracteristicas

Esperamos que se instalen los componentes requeridos:

Inicio
Instalando caracteristicas

Reiniciamos el sistema:

Inicio
Reiniciar

Una vez que hayamos reiniciado el sistema, instalaremos WSL v2.

Instalando WSL v2


Descargamos el instalador de WSL v2:

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

Abrimos el instalador con permisos de administrador y seguimos los pasos:

WSLv2
Abriendo Instalador

WSLv2
Finalizando instalación

Ahora, vamos a configurar para que WSL v2 sea la versión por defecto en nuestro sistema. Para ello debemos abrir una ventana de PoweShell como Administrador (yo uso la versión 7 que puedes descargar aquí) y colocamos el siguiente comando:

1
wsl --set-default-version 2

Ya con esto terminamos de configurar WSL en nuestro sistema.

Instalando Git


Descargamos el instalador de Git:

Ejecutamos el instalador con permisos de Administrador y vamos a instalar con las opciones por defecto:

Git Windows
Licencia

Git Windows
Directorio Destino, lo dejamos en la ubicación predeterminada

Git Windows
Seleccionamos los componentes a instalar, dejaremos los que estan por defecto

Git Windows
Iconos del Menú Inicio

Git Windows
Dejamos por defecto o podemos cambiar el editor de textos predeterminado

Git Windows
Dejamos la opción recomendada

Git Windows
Dejamos el ejecutable de ssh que viene con el instalador, en caso de tener ya instalado putty, podemos escoger la segunda opción

Git Windows
Dejamos por defecto a OpenSSL para emitir certificados X509

Git Windows
Siguiente

Git Windows
Siguiente

Git Windows
Siguiente

Git Windows
Siguiente

Git Windows
Siguiente

Git Windows
Instalar

Git Windows
Finalizando instalación

Vamos al CMD de Windows o PowerShell y verificamos la versión de Git instalada:

1
2
3
4
5
6
7
Microsoft Windows [Versión 10.0.19041.423]
(c) 2020 Microsoft Corporation. Todos los derechos reservados.

C:\Users\usuario>git --version
git version 2.28.0.windows.1

C:\Users\usuario>

Instalando Docker


Descargamos el instalador de Docker Desktop:

Ejecutamos el instalador con permisos de Administrador y vamos a instalar con las opciones por defecto:

Docker
Dejamos habilitadas ambas opciones, activar WSL v2 y que coloque un acceso directo en el escritorio

Docker
Instalando

Docker
Reiniciamos el sistema nuevamente

Docker
Una vez reiniciamos, lo veremos en la barra de tareas

Instalando Okit Designer


Clonamos el repositorio de Okit


Clonamos el repositorio oficial de Okit Designer (la versión actual es la 0.9.2):

1
git clone -b v0.9.2 --depth 1 https://github.com/oracle/oci-designer-toolkit.git

Creando archivo de configuración de Okit y la llave ssh para conectarnos a la API de OCI


Si no tenemos instalado y configurado la oci-cli (explicado en este POST), debemos crear un archivo de configuración que contendrá el id de la cuenta, además de la llave SSH para poder acceder a la API y desplegar lo que ya hayamos diseñado:

Creamos el directorio containers/oci dentro del directorio raíz (oci-designer-toolkit) ;

Fedora 33:

1
2
mkdir /home/usuario/oci-designer-toolkit/containers/oci
cd /home/usuario/oci-designer-toolkit/containers/oci

Windows 10 Pro:

1
2
PS D:\Users\usuario>mkdir D:\Users\usuario\oci-designer-toolkit\containers\oci
PS D:\Users\usuario>cd D:\Users\usuario\oci-designer-toolkit\containers\oci

Generamos la llave ssh, colocando la ubicación donde queremos guardar el archivo y el formato .pem (En Windows podemos dejarla en la ubicación predeterminada (directorio .ssh en la carpeta home del usuario) y luego copiarla a nuestra carpeta containers\oci):

1
ssh-keygen -t rsa -b 4096 -m PEM
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa): /home/usuario/oci-designer-toolkit/containers/oci/oci_api_key.pem
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/usuario/oci-designer-toolkit/containers/oci/oci_api_key.pem
Your public key has been saved in /home/usuario/oci-designer-toolkit/containers/oci/oci_api_key.pem.pub
The key fingerprint is:
SHA256:Dg4RrcxIYUREOcvrEKZ7mL8ZcqRnmkibkXDOQVhZelE usuario@localhost.localdomain
The key's randomart image is:
+---[RSA 4096]----+
| =O=+oE          |
| +=. o.          |
|.oo*o.           |
|.o+.+.           |
|+.+.. . S        |
|+*o. o o         |
|oXB   . .        |
|*B*o             |
|+=+.             |
+----[SHA256]-----+

Creamos el archivo de configuración en /home/usuario/oci-designer-toolkit/containers/oci/config, con su editor de textos de confianza:

Fedora 33:

1
vim /home/usuario/oci-designer-toolkit/containers/oci/config

En Windows 10 Pro, abrimos un Notepad y vamos a escribir los siguientes parámetros:

1
2
3
4
5
6
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaak6z......
fingerprint=3b:7e:37:ec:a0:86:1....
key_file=/home/usuario/oci-designer-toolkit/containers/oci/oci_api_key.pem
tenancy=ocid1.tenancy.oc1..aaaaaaaawpqblfem........
region=us-phoenix-1

Donde:

  • user es el identificador OCID de usuario en OCI
  • fingerprint es la huella digital de la llave ssh
  • key_file es la ubicación donde está almacenada la llave privada ssh (la guardamos en /home/usuario/oci-designer-toolkit/containers/oci/oci_api_key.pem)
  • tenancy es el identificador OCID de tu cuenta
  • region es la región por defecto donde despliegues la infraestructura

Ahora, ¿De donde sacamos toda esta información? En las siguientes imagenes lo vamos a ver.

OCI Cuenta
Colocamos el nombre de nuestra Cuenta

OCI Login
Iniciamos sesión en la página de OCI.

Pantalla Principal
Vamos al icono de Perfil y hacemos click en nuestro usuario registrado.

Pantalla Usuarios
Copiamos nuestra OCID de usuario y la colocamos en el parámetro user.

Pantalla Usuarios
Vamos a la opción Tenancy.

Pantalla Usuarios
Copiamos nuestra OCID de la cuenta y la colocamos en el parámetro tenancy.

Pantalla Usuarios
Vamos de nuevo a la pantalla usuarios, opción API Keys, y agregamos una nueva.

API Key
Arrastramos solo la LLAVE PÚBLICA, y click en Add.

Pantalla Usuarios
Copiamos el fingerprint, y lo pegamos en el parámetro fingerprint.

Vamos al directorio y ejecutamos docker-compose para descargar las imagenes y contruir el contenedor:

Fedora 33:

1
2
cd /home/usuario/oci-designer-toolkit/containers/docker
docker-compose up

Windows 10 Pro:

1
2
PS D:\Users\usuario> cd .\oci-designer-toolkit\containers\docker
PS D:\Users\usuario\oci-designer-toolkit\containers\docker>docker-compose up

Dependiendo de la velocidad de nuestro sistema, se puede tardar entre 5 a 15 minutos en construir y ejecutar el contenedor.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Building okit
Step 1/12 : FROM oraclelinux:7-slim
7-slim: Pulling from library/oraclelinux
bce8f778fef0: Pull complete
Digest: sha256:c3150c65fd1e7a13f40599bfadf7d22026e4f0773d1b916c67c27415c4920056
Status: Downloaded newer image for oraclelinux:7-slim
 ---> 153f8d73287e
Step 2/12 : LABEL "provider"="Oracle"       "issues"="https://github.com/oracle/oci-designer-toolkit/issues"       "version"="0.9.2"       "description"="OKIT Web Server Container."       "copyright"="Copyright (c) 2020, Oracle and/or its affiliates."
 ---> Running in 27175738afd7
Removing intermediate container 27175738afd7
 ---> 35e455784ae1
Step 3/12 : SHELL ["/bin/bash", "-c"]
 ---> Running in 629491eb218a
Removing intermediate container 629491eb218a
 ---> c2764521d5de
Step 4/12 : ENV PYTHONIOENCODING=utf8     PYTHONPATH=":/okit/visualiser:/okit/okitweb:/okit"     FLASK_APP=okitweb     FLASK_DEBUG=1     LANG=en_GB.UTF-8     LANGUAGE=en_GB:en     LC_ALL=en_GB.UTF-8     PATH=/root/bin:${PATH}
 ---> Running in c16ff2768ecd
Removing intermediate container c16ff2768ecd
 ---> 39d9d413e910
Step 5/12 : EXPOSE 80
 ---> Running in d0c415984690
Removing intermediate container d0c415984690
 ---> 2f257b72a7f5
Step 6/12 : EXPOSE 443
 ---> Running in 19f827338ecd
Removing intermediate container 19f827338ecd
 ---> 700358c2dc5c
Step 7/12 : RUN yum install -y     oracle-softwarecollection-release-el7     oraclelinux-developer-release-el7  && yum update -y  && yum install -y         python36         python3-pip  && rm -rf /var/cache/yum  && python3 -m pip install --upgrade pip==20.0.2  && pip3 install --no-cache-dir         flask==1.1.1         gunicorn==20.0.4         oci==2.6.0         pyyaml==5.2  && mkdir -p /okit/{config,log,visualiser,okitweb,workspace}
 ---> Running in cfba62941d29
Loaded plugins: ovl
Resolving Dependencies
--> Running transaction check
---> Package oracle-softwarecollection-release-el7.x86_64 0:1.0-3.el7 will be installed
---> Package oraclelinux-developer-release-el7.x86_64 0:1.0-5.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

...  -- SALIDA OMITIDA -- ...

Successfully built 047213fa08c0
Successfully tagged okit:latest
WARNING: Image for service okit was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating okit ... done
Attaching to okit
okit    | [2020-08-07 21:47:47 +0000] [1] [INFO] Starting gunicorn 20.0.4
okit    | [2020-08-07 21:47:47 +0000] [1] [INFO] Listening at: http://0.0.0.0:80 (1)
okit    | [2020-08-07 21:47:47 +0000] [1] [INFO] Using worker: sync
okit    | [2020-08-07 21:47:47 +0000] [8] [INFO] Booting worker with pid: 8
okit    | [2020-08-07 21:47:47 +0000] [9] [INFO] Booting worker with pid: 9
okit    | [2020-08-07 21:47:47 +0000] [12] [INFO] Booting worker with pid: 12
okit    | [2020-08-07 21:47:47 +0000] [13] [INFO] Booting worker with pid: 13

Solo nos resta ir al link http://localhost/okit/designer desde nuestro navegador para acceder a la herramienta.

Pantalla Principal
Pantalla Principal

Si hacemos click en el menú de sandwich, veremos las opciones disponibles.

Okit Opciones
Pantalla de Opciones

Espero les haya gustado este tutorial, ¡hasta la próxima!

Apoya este Proyecto!!!

Si te pareció útil este artículo y el proyecto en general, considera brindarme un café :)

Buy me a coffeeBuy me a coffee