Caminho de aprendizado para desenvolvedores
Seguindo uma linha de aprendizagem curada para implementar apps conteinerizados altamente disponíveis em clusters Kubernetes e usar as ferramentas poderosas do IBM Cloud Kubernetes Service para automatizar, isolar, proteger, gerenciar e monitorar suas cargas de trabalho do app em zonas ou regiões.
Acessar o cluster
Comece a trabalhar com o seu cluster configurando a CLI e acessando o cluster.
- Configuração da CLI: configure as CLIs que são necessárias para criar e trabalhar com clusters. Ao trabalhar com seu cluster, consulte a referência de comandos e acompanhe as atualizações da versão da CLI por meio do registro de alterações da CLI.
- Permissões de usuário: certifique-se de que seu administrador de cluster forneça a função IAM do IBM Cloud adequada para acessar o cluster.
- Acesso ao cluster: Acesse seu cluster por meio do terminal em serviço de nuvem pública ou privada.
Precisa de ajuda? Consulte Resolução de problemas de clusters e de mestres e Resolução de problemas do trabalhador.
Planeje a sua implementação
Antes de implementar um app, decida como deseja configurar seu app para que o seu app possa ser acessado corretamente e seja integrado com outros serviços.
- Kubernetes-native: planeje sua estratégia para desenvolver um app nativo do Kubernetes.
- Altamente disponível: planeje sua estratégia para uma implementação altamente disponível.
Procurando por serverless? Tente Code Engine.
Desenvolva o seu app
Configure seu app em um arquivo YAML que declare a configuração do objeto do Kubernetes e planeje sua estratégia de versão do app.
- Desenvolva o seu app:
- Revise o básico das implementações de app nativo do Kubernetes.
- Construa contêineres de app por meio de imagens em registros de imagem pública ou privada.
- Especifique seus requisitos de app em um arquivo YAML, que declara a configuração do objeto do Kubernetes.
- Versão do seu app:
- Planeje configurações personalizadas para mais de um ambiente, como ambientes de desenvolvimento, teste e produção, para gerenciar seu arquivo YAML de configuração.
- Se você deseja executar seu app em vários clusters, ambientes públicos e privados, ou até mesmo diversos provedores de cloud, pacote seu aplicativo para ajudar a automatizar implementações.
Precisa de ajuda? Consulte Resolução de problemas de apps e integrações.
Implementar seu app
Implemente seu app para o cluster executando seu arquivo de configuração do app.
- Implementando apps com o painel do Kubernetes.
- Implementando apps com a CLI.
- Implementando apps para nós do trabalhador específicos usando rótulos.
- Implementando um app em uma máquina GPU.
Precisa de ajuda? Consulte Resolução de problemas de apps e integrações.
Teste, registre e monitore
Enquanto você realiza testes de desempenho em seu app, configure a criação de log e o monitoramento para ajudá-lo a solucionar problemas, obter visibilidade em suas cargas de trabalho e melhorar o funcionamento e o desempenho de seus apps.
Em um ambiente de teste, crie deliberadamente vários cenários não ideais, como a exclusão de todos os nós do trabalhador em uma zona para replicar uma falha zonal. Revise os logs e as métricas para verificar como seu app se recupera.
- Testar acesso: teste o acesso ao seu app criando um NodePort público ou privado em seus nós do trabalhador.
- Monitoramento:
- Abra um painel do Kubernetes em seu sistema local para visualizar informações sobre seus recursos do app.
- Escolha uma solução de monitoramento, como o IBM Cloud® Monitoring, para obter visibilidade operacional no desempenho e no funcionamento de seus apps.
- Criação de log: escolha uma solução de criação de log, como IBM Cloud Logs, para monitorar logs de contêineres.
Precisa de ajuda? Consulte Resolução de problemas de criação de log e monitoramento.
Atualize o app
Execute atualizações contínuas e retrocessos de apps sem tempo de inatividade para os seus usuários.
- Estratégia de atualização: planeje sua estratégia para manter o seu app atualizado.
- Configurar atualizações:
- Inclua uma atualização de rolagem em seu arquivo de implementação
- Execute lançamentos A/B, canários e em fases com o complemento gerenciado pelo Istio.
- Configurar um pipeline de entrega contínua para um cluster.
- Ajuste de escala: ative o ajuste automático de escala de pod horizontal para aumentar ou diminuir automaticamente o número de instâncias de seus apps com base na CPU.
Proteja o seu app
Use segredos do Kubernetes para armazenar informações confidenciais, como credenciais ou chaves, e criptografar dados em segredos do Kubernetes para evitar que usuários não autorizados acessem informações de app sensíveis.
- Segredos:
- Armazene informações pessoais ou sensíveis em segredos do Kubernetes que o seu app pode acessar.
- Criptografar segredos usando um provedor KMS.
- Verifique se os segredos são criptografados.
- tráfego pod-to-pod: Habilite a criptografia mTLS para tráfego entre microsserviços dentro de uma malha de serviço Istio.
Exponha o app
Exponha publicamente um app em seu cluster para a Internet ou exponha privadamente um app em seu cluster somente para a rede privada.
- Planejar a descoberta de serviço:
- Entenda o básico da descoberta de serviço do Kubernetes.
- Escolha um serviço de exposição de app que se ajuste aos seus requisitos para o tráfego recebido para o app.
- Expor o seu app:
-
Balanceadores de carga:
- Clusters clássicos:
- Crie um NLB 1.0 ou um NLB 2.0.
- Registre um subdomínio DNS para o NLB.
- Clusters VPC: configure um balanceador de carga de VPC.
- Clusters clássicos:
-
Ingresso: Configurar Ingresso para a rede pública ou privada.
-
Precisa de ajuda? Confira Resolução de problemas do Ingress e Resolução de problemas de balanceadores de carga.
Incluir armazenamento de app
- Requisitos: determine seus requisitos para uma solução de armazenamento.
- Escolha uma solução: usando seus requisitos de armazenamento, escolha uma solução de armazenamento comparando suas opções.
Precisa de ajuda? Confira a página de resolução de problemas para sua solução de armazenamento persistente.
Incluir integrações
Aprimore os recursos do app integrando vários serviços externos e serviços de catálogo em seu cluster com o seu app.
-
Revisão das integrações suportadas:
-
Incluir serviços em seu cluster: peça ao seu administrador de cluster para incluir a integração em seu cluster.
-
Acessar serviços por meio de seu app: certifique-se de que o seu app possa acessar o serviço. Por exemplo, para acessar uma instância de serviço do IBM Cloud por meio do app, deve-se tornar as credenciais de serviço armazenadas no segredo do Kubernetes disponíveis para o app.
Precisa de ajuda? Consulte Resolução de problemas de apps e integrações.