Como Instalar Okit Designer Tookit no Linux e Windows para desenhar diagramas de Oracle Cloud Infrastructure

Aviso
Este artigo foi atualizado em 2022-03-04, o conteúdo pode estar desatualizado.

Olá Pessoal, tudo bem?

Nesta guia vou explicar como instalar a ferramenta Okit Designer Tookit para desenhar os nossos próprios diagramas de Oracle Cloud Infrastructure.


OCI designer toolKIT (OKIT) é um conjunto de ferramentas que permitem desenhar, deployar e visualizar ambientes de OCI através de uma interfaz web, o que permite aos arquitetos e desenhadores cloud contruir uma representação visual da sua infraestrutura e logo poder ser exportada nos seguintes formatos:

  • svg
  • png
  • jpeg

Uma vez que se tinha completado o desenho, este pode ser exportado às seguintes ferramentas:

  • Ansible
  • Terraform
  • OCI Resource Manager

Isto acelera o deploy de uma infraestrutura completa em OCI.

Há duas maneiras de instalar Okit Designer: uma com o Vagrant e outra com o Docker. Nesta ocasião o que vamos fazer é instala-lô pelo Docker e Docker Compose para que esteja isolado do nosso sistema.



Antes de instalar o Docker, vamos atualizar o nosso sistema:

1
sudo dnf update -y

No caso que se tinha atualizado a um kernel novo, devemos reiniciar o sistema:

1
sudo reboot

Logo, Instalamos o pacote:

1
sudo dnf -y install dnf-plugins-core

1
sudo dnf -y install git

Podes instalar o Docker, se segues este tutorial: Como Instalar o Docker no Linux


A versão atual é a 1.28.0, baixamos el executable do Docker Compose e o salvamos na pasta /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

Mudamos os privilegios de executação ao Docker-Compose:

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

Comprovamos se está corretamente instalado:

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


No menu Inicio, pesquisamos a ferramenta “Ativar o Desativar Características de Windows”:

/images/oci-okit-linux-windows/win-0.png
Menú Inicio

Ativamos os seguintes componentes:

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

/images/oci-okit-linux-windows/win-1.png
Ativar o Desativar Características

Aguardamos a que se instalem os componentes requeridos:

/images/oci-okit-linux-windows/win-2.png
A Instalar características

Reiniciamos o sistema:

/images/oci-okit-linux-windows/win-3.png
Reiniciar

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


Baixamos o instalador de WSL v2:

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

Abrimos o instalador com privilegios de administrador e seguimos os passos:

/images/oci-okit-linux-windows/win-4.png
A Abrir Instalador

/images/oci-okit-linux-windows/win-5.png
A Finalizar instalação

Agora, vamos configurar que WSL v2 seja a versão padrão do nosso sistema. Para isto, devemos abrir unaa terminal de PoweShell como Administrador (eu utilizo a versão 7 que podes baixar aquí) e colocamos o seguinte comando:

1
wsl --set-default-version 2

Já com isto acabamos de configurar no nosso sistema.


Baixamos o instalador do Git:

Abrimos o instalador com privilegios de Administrador e vamos instalar com as opções padrão:

/images/oci-okit-linux-windows/win-6.png
Licença

/images/oci-okit-linux-windows/win-7.png
Pasta Destino, o dexicamos na localização padrão

/images/oci-okit-linux-windows/win-8.png
Selecionamos os componentes a instalar, deixamos aqueles que estão padrão

/images/oci-okit-linux-windows/win-9.png
Icones do Menú Inicio

/images/oci-okit-linux-windows/win-10.png
Dexiamos as opções padrão ou podemos trocar o editor de textos padrão

/images/oci-okit-linux-windows/win-11.png
Deixamos a opção recomendada

/images/oci-okit-linux-windows/win-12.png
Deixamos o executable de ssh que vem com o instalador, no caso de já ter instalado o putty, escolhemos a segunda opção

/images/oci-okit-linux-windows/win-13.png
Deixamos padrão a OpenSSL para emitir certificados X509

/images/oci-okit-linux-windows/win-14.png
Seguinte

/images/oci-okit-linux-windows/win-15.png
Seguinte

/images/oci-okit-linux-windows/win-16.png
Seguinte

/images/oci-okit-linux-windows/win-17.png
Seguinte

/images/oci-okit-linux-windows/win-18.png
Seguinte

/images/oci-okit-linux-windows/win-19.png
Instalar

/images/oci-okit-linux-windows/win-20.png
A Finalizar instalación

Abrimos um CMD de Windows ou PowerShell e verificamos a versão do Git instalado:

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>

Baixamos o instalador do Docker Desktop:

Abrimos o instalador com privilegios de Administrador e vamos instalar o Docker Desktop com as opções padrão:

/images/oci-okit-linux-windows/win-21.png
Deixamos habilitadas ambas opções, ativar WSL v2 e permitimos colocar um acesso direito na Área de Trabalho

/images/oci-okit-linux-windows/win-22.png
A Instalar

/images/oci-okit-linux-windows/win-23.png
Reiniciamos o sistema novamente

/images/oci-okit-linux-windows/win-24.png
Reiniciamos mais uma vez, veremos o icone de Docker na barra de tarefas



Clonamos o repositório oficial do Okit Designer (a versão atual é a 0.9.2):

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

No caso de não ter instalado e configuado a oci-cli (o qual explicarei neste POST), deveremos criar um arquivo de configuração que terá contenido o id da conta, além da chave SSH para poder acessar à API e fazer deploy do que tinhamos desenhado:

Criamos a pasta containers/oci dentro da pasta 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

Geramos a chave ssh, vamos colocar a localização aonde queremos salvar o arquivo e como formato .pem (No Windows podemos deixar a localização padrão (pasta .ssh na pasta home do usuario) e logo copia-lâ à nossa pasta 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]-----+

Criamos o arquivo de configuração em /home/usuario/oci-designer-toolkit/containers/oci/config, com o seu editor de textos preferido:

Fedora 33:

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

No Windows 10 Pro, abrimos o Notepad e vamos escrever os seguintes 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

Onde:

  • user é o identificador OCID do usuário no OCI
  • fingerprint é a la impressâo digital da chave ssh
  • key_file é onde se encontra localizada a chave privada ssh (a salvamos em /home/usuario/oci-designer-toolkit/containers/oci/oci_api_key.pem)
  • tenancy é o identificador OCID da tua conta
  • region é a região padrão donde vais desployar a infraestrutura

Agora bem, ¿Onde conseguimos toda essa informação? Vamos ver as seguintes imagens:.

/images/oci-okit-linux-windows/oci-0.png
Colocamos o nome da nossa Conta

/images/oci-okit-linux-windows/oci-1.png
Login no website da OCI.

/images/oci-okit-linux-windows/oci-2.png
Vamos ao icone de Perfil e fazemos click no nosso usuário cadastrado.

/images/oci-okit-linux-windows/oci-3.png
Copiamos a nossa OCID de usuário e a colocamos no parámetro user.

/images/oci-okit-linux-windows/oci-4.png
Vamos à opção Tenancy.

/images/oci-okit-linux-windows/oci-5.png
Copiamos nuestra OCID de la cuenta y la colocamos en el parámetro tenancy.

/images/oci-okit-linux-windows/oci-6.png
Vamos de novo ao ecrã usuários, opção API Keys, e adicionamos uma nova.

/images/oci-okit-linux-windows/oci-7.png
Colamos só a CHAVE PÚBLICA, e click em Add.

/images/oci-okit-linux-windows/oci-8.png
Copiamos o fingerprint, e o colamos no parámetro fingerprint.

Vamos à pasta e executamos docker-compose para baixar as imagens e contruir o container:

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

A Depender da velocidade do nosso sistema, se pode demorar entre 5 a 15 minutos em construir e executar o container.

 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

...  -- SAÍDA 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

Só nos resta ir ao link http://localhost/okit/designer desde o nosso navegador para acceder à ferramenta.

/images/oci-okit-linux-windows/okit-main.png
Ecrã Principal

Se fizeremos click no menu de sandwich, poderemos ver as opções disponíveis.

/images/oci-okit-linux-windows/okit-options.png
Ecrã Opções

Espero que tinham gostado deste tutorial, até a próxima!