Configurando seu primeiro cluster clássico na CLI
Infraestrutura clássica
Neste tutorial, você implantará um Red Hat OpenShift on IBM Cloud cluster na infraestrutura Classic usando a CLI.
Público
Este tutorial foi elaborado para administradores de cluster que desejam aprender a criar um cluster do Red Hat OpenShift on IBM Cloud pela primeira vez usando a CLI.
Objetivos
Neste tutorial, você realizará as seguintes tarefas.
- Crie um cluster em Washington, D.C. com 2 nós do trabalhador que tenham 4 núcleos e 16 GB de memória
- Abra o console da web do Red Hat OpenShift.
- Implementar um app de amostra.
- Exponha o app em uma Rota para que os usuários externos possam acessar o serviço
O que você vai conseguir
Neste tutorial, você criará os recursos a seguir usando a CLI. Há etapas opcionais para excluir esses recursos se você não quiser mantê-los depois de concluir o tutorial
- Um cluster clássico com dois nós do trabalhador
- Um app Hello World simples implementado no cluster
- Uma rota para expor seu app
Pré-requisitos
-
Verifique as suas permissões. Se você for o titular da conta, já possui as permissões necessárias para criar um cluster e pode prosseguir para a próxima etapa. Se você não for o proprietário da conta, peça ao proprietário da conta para configurar uma chave de API e designar as permissões necessárias no IBM Cloud IAM.
Crie um cluster Red Hat OpenShift on IBM Cloud
-
Efetue login em sua conta e grupo de recursos. Se você tiver uma conta federada, inclua a opção
--sso.ibmcloud login [-g RESOURCE GROUP] [--sso] -
Execute o comando a seguir para criar um cluster do tipo “ 4.21 ” em Washington, DC, com 2 nós de trabalho que possuem 4 núcleos e 16 GB de memória.
ibmcloud oc cluster create classic --name my-tutorial-cluster --location wdc04 --version 4.21_openshift --flavor b3c.4x16 --workers 2 --public-service-endpoint -
A criação do cluster pode levar algum tempo para ser concluída. Após o estado do cluster mostrar Normal, os componentes da rede de clusters e do ingresso levam cerca de 10 minutos a mais para implementar e atualizar o domínio do cluster que você usa para o console da web do Red Hat OpenShift e outras rotas.
-
Liste os detalhes do cluster. Revise o Estado do cluster, verifique o Subdomínio do Ingress e anote a URL principal.
ibmcloud oc cluster get --cluster CLUSTER_NAME_OR_ID -
Baixe e adicione o arquivo de configuração
kubeconfigao seu cluster.ibmcloud oc cluster config --cluster CLUSTER_NAME_OR_ID -
Em seu navegador, navegue para o endereço de sua URL principal e anexe
/console. Por exemplo,https://c0.containers.cloud.ibm.com:23652/console. -
Verifique se os comandos
ocsão executados corretamente com seu cluster verificando a versão.oc versionExemplo de saída
Client Version: v4.21.0 Kubernetes Version: v1.35.7.2Se você não puder executar operações que requerem permissões de Administrador, como listar todos os nós do trabalhador ou pods em um cluster, faça download dos certificados TLS e arquivos de permissão para o administrador do cluster executando o comando
ibmcloud oc cluster config --cluster CLUSTER_NAME_OR_ID --admin.
Navegar no console do Red Hat OpenShift
- No console, selecione seu cluster do Red Hat OpenShift e, em seguida, clique em “ OpenShift ” (Consola da Web ).
- Para trabalhar com seu cluster na CLI, clique no seu perfil
IAM#user.name@email.com> Copiar comando de login. Exiba e copie o comando do tokenoc loginem sua linha de comando para autenticação usando a CLI
Implementar um app em seu cluster
-
Crie um projeto para seu app Hello World.
oc new-project hello-world -
Construa o app de amostra por meio do código-fonte usando o comando
oc new-appoc new-app --name hello-world https://github.com/IBM/container-service-getting-started-wt --context-dir="Lab 1"Uma mensagem de aviso pode ser exibida na saída, mas isso não afeta este exemplo
-
Liste os serviços hello-world e anote o nome do serviço. Seu app atende o tráfego nesses endereços IP de cluster interno, a menos que você crie uma rota para o serviço para que o controlador de ingresso possa encaminhar solicitações de tráfego externo para o app.
oc get svc -n hello-worldExemplo de saída
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-world ClusterIP 172.21.xxx.xxx <none> 8080/TCP 31m -
Liste os pods e certifique-se de que o status dos pods hello-world seja Em execução e os pods
buildedeploysejam Concluídosoc get pods -n hello-worldExemplo de saída
NAME READY STATUS RESTARTS AGE hello-world-1-9cv7d 1/1 Running 0 30m hello-world-1-build 0/1 Completed 0 31m hello-world-1-deploy 0/1 Completed 0 31m -
Configure uma rota para que seja possível acessar publicamente o serviço Hello World.
oc create route edge --service=hello-world -n hello-world -
Obtenha o endereço do nome do host da rota por meio da saída Host/Porta.
oc get route -n hello-worldExemplo de saída
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD hello-world hello-world-hello.world.CLUSTER-NAME-RANDOM-ID.REGION.containers.appdomain.cloud hello-world 8080-tcp edge/Allow None -
Acesse seu app. Certifique-se de anexar
https://ao nome do host da rota. Pode levar um minuto antes que o serviço exposto esteja visívelcurl https://hello-world-hello-world.CLUSTER-NAME-RANDOM-ID.REGION.containers.appdomain.cloudExemplo de saída
Hello world from hello-world-9cv7d! Your app is up and running in a cluster!
Organizar os recursos do tutorial
- Listar os recursos no projeto do
hello-world
Exemplo de saídaoc get all -l app=hello-world -o name -n hello-worldpod/hello-world-1-dh2ff replicationcontroller/hello-world-1 service/hello-world deploymentconfig.apps.openshift.io/hello-world buildconfig.build.openshift.io/hello-world build.build.openshift.io/hello-world-1 imagestream.image.openshift.io/hello-world imagestream.image.openshift.io/node route.route.openshift.io/hello-world - Exclua os recursos
oc delete all -l app=hello-world -n hello-world
O que vem a seguir?
Instale dois complementos de cluster populares do Red Hat OpenShift on IBM Cloud: IBM Cloud Logs e IBM Cloud Monitoring.