Visualizando apps
Você pode visualizar aplicativos que estão sendo executados em IBM® Cloud Shell da mesma forma que faria se estivesse executando-os localmente. A visualização da web do Cloud Shell disponibiliza o terminal ou a IU de seu app em uma URL que só pode ser acessada por você. Com esse recurso, você tem a chance de visualizar as alterações no seu aplicativo antes de implantá-lo em um local acessível ao público.
Antes de Iniciar
Ative a Visualização da web no console do IBM Cloud. Para obter mais informações sobre como ativar a visualização da web, consulte Ativando ou desativando recursos do Cloud Shell para uma conta.
Portas de visualização da web
É possível visualizar um app clicando no ícone Visualização prévia da web na barra de menu do Cloud Shell. A visualização da web está disponível para qualquer app
que atenda a solicitações de HTTP nas portas a seguir:
- 3000
- 8080
- 8081
- 8082
- 8083
- 8084
- 9080
Assim como em seu sistema local, apenas um app pode ser executado em cada porta ao mesmo tempo. Se você tiver vários apps que estão atendendo na mesma porta, haverá conflitos de porta.
Visualizando apps em execução diretamente no Cloud Shell
O Cloud Shell inclui vários plug-ins, ferramentas e tempos de execução que podem ser usados para trabalhar com os apps que você está desenvolvendo. Como o armazenamento do Cloud Shell é temporário, a maneira mais fácil de trabalhar com um app é primeiro copiá-lo ou cloná-lo para sua área de trabalho do Cloud Shell, fazer todas as mudanças e, em seguida, visualizá-las.
O fluxo de trabalho de exemplo a seguir mostra como você pode visualizar um aplicativo de amostra do Node.js Express que está hospedado em um repositório GitHub.
-
Em uma sessão do Cloud Shell, clone sua origem de app para seu diretório inicial.
git clone https://github.com/IBM/nodejs-express-app.gitEm seguida, mude para o diretório no qual seu app foi clonado.
cd nodejs-express-appNesse momento, é possível fazer qualquer mudança em seu código de seu app, como por exemplo, usar o editor de texto
vim. -
Inicie seu app no Cloud Shell.
Para iniciar este app de amostra Node.js, primeiro é necessário fazer o download de todas as dependências do projeto.
npm installEm seguida, é possível iniciar o app para que ele esteja em execução em um servidor da web no Cloud Shell.
npm run startApós o app ser iniciado, observe em qual porta seu servidor da web está atendendo. A porta deve ser uma das portas disponíveis para que seja possível visualizá-la no Cloud Shell. Quando esse app de amostra for iniciado, ele exibirá as informações a seguir, que mostram que ele está atendendo na porta
3000.> nodejsexpressapp@1.0.0 start /home/my-user-name/nodejs-express-app > node server/server.js App UI available http://localhost:3000 Swagger UI available http://localhost:3000/swagger/api-docs -
Na barra de menus do Cloud Shell, clique no ícone Visualização da Web
e selecione a porta onde seu servidor está atendendo. Para o app de amostra Node.js, selecione 3000.
A visualização da web é aberta em uma nova janela do navegador e mostra o equivalente a
http://localhost:3000. Deve ser possível ver a primeira tela da IU de seu app.Se você vir uma mensagem dizendo que não há nada a ser visualizado no Cloud Shell, o servidor no qual seu app está sendo executado não estará atendendo na porta selecionada. Verifique se o servidor está atendendo na porta que você está visualizando e atualize a página de visualização.
Agora que está visualizando o aplicativo, você pode ver todas as alterações feitas reiniciando o aplicativo, se necessário, e atualizando a página. Certifique-se de confirmar qualquer mudança para o seu repositório GitHub ou fazer download de suas mudanças porque seu armazenamento de área de trabalho é temporário.
Visualização de aplicativos executados em um pod Kubernetes
Também é possível usar o Cloud Shell para visualizar apps que estão em execução no Kubernetes, como um painel do Prometheus ou seu app da web típico. Como os aplicativos que estão sendo executados em um pod em um cluster Kubernetes usam uma porta interna, você precisa expor a porta do pod. Você pode fazer isso criando um serviço ou configurando o encaminhamento de porta.
Se você criar um serviço, será necessário expô-lo publicamente, configurar a autenticação para proteger o acesso e configurar um balanceador de carga do aplicativo (ALB) para o serviço. Para obter mais informações, consulte Conectando aplicativos com serviços.
Se você estiver desenvolvendo apps e realizando testes, o encaminhamento de porta será uma maneira mais simples de visualizar rapidamente apps em seu cluster. Ele exige muito menos configuração inicial, mas você também deve reconfigurá-lo sempre que o pod for reiniciado. As etapas a seguir mostram como configurar o encaminhamento de porta e visualizar um app que está em execução em um cluster do IBM Cloud Kubernetes Service.
-
Em uma sessão do Cloud Shell, configure o cluster no qual seu app está sendo executado como o contexto. Com essa configuração, você pode usar comandos
kubectlpara trabalhar com seu cluster. Para obter mais informações, consulte Instalando a CLI. -
Localize o nome do pod no qual seu app está sendo executado.
kubectl get podsO nome do pod é listado sob a coluna
NAME, por exemplo,my-pod-123abc.NAME READY STATUS RESTARTS AGE my-pod-123abc 1/1 Running 0 9d -
Localize a porta no pod que você deseja exibir executando o comando
kubectl describeno pod.kubectl describe pod my-pod-123abcNa seção
Containers, a porta local está listada como o valorPort, como6000no exemplo a seguir.Containers: cluster-agent: Container ID: containerd://1234abcd5678efab90cde603e4ba6986fdaf26daae94c4f309 Image: us.icr.io/my-registry/my-image:0.5.0-dev.0.1234 Image ID: us.icr.io/my-registry/my-image@sha256:abc123def456abc789def012 Port: 6000/TCP Host Port: 0/TCP -
Configure o encaminhamento de porta executando o comando
kubectl port-forward. Certifique-se de selecionar uma das portas disponíveis para visualização da web no Cloud Shell.Por exemplo, o comando a seguir atende na porta
8080localmente e encaminha-a para a porta6000dentro do pod.kubectl port-forward pod/my-pod-123abc 8080:6000Agora que o encaminhamento de porta está configurado, é possível visualizar o app.
-
Na barra de menu do Cloud Shell, clique no ícone Visualização da Web
e selecione a porta que está sendo encaminhada para o seu pod.
Sua visualização da web é aberta em uma nova janela do navegador. Você pode ver a primeira tela da interface do usuário do seu aplicativo.
Se você vir uma mensagem que diz que não há nada para visualizar em Cloud Shell, o servidor em que seu aplicativo está sendo executado não está escutando na porta selecionada. Verifique se o seu servidor está atendendo na porta interna do pod e que você está encaminhando a porta que você está visualizando para a porta interna correta.
Visualizando outros terminais em uma porta
Depois de abrir a visualização da web, é possível visualizar todos os outros terminais que o seu servidor está atendendo na mesma porta. A visualização da web abre em uma URL que é o equivalente a http://localhost:<port>.
Para visualizar outro terminal, inclua o caminho na URL de visualização da web.
Por exemplo, o app de amostra Node.js supera as URLs a seguir:
App UI available http://localhost:3000
Swagger UI available http://localhost:3000/swagger/api-docs
Para visualizar a IU do Swagger, inclua /swagger/api-docs na URL de visualização da web:
https://p3000-abcd1234-ef56-a1b2-b122-a122560ba24f.dp3.us-south.shell.cloud.ibm.com/swagger/api-docs