Perguntas frequentes para Code Engine
Respostas a perguntas comuns sobre o serviço IBM Cloud® Code Engine.
O que é o IBM Cloud Code Engine?
O Code Engine é desenvolvido pela IBM e é construído com muitos componentes de software livre. O objetivo é estender os recursos do Kubernetes para ajudá-lo a criar apps modernos, conteinerizados, centralizados em origem e sem servidor que são executados em seu cluster Kubernetes. A plataforma é projetada para atender às necessidades de desenvolvedores que hoje devem decidir qual tipo de app eles desejam executar na nuvem: apps de 12 fatores, contêineres ou funções. Para obter mais informações, consulte Sobre o Code Engine.
Com o Code Engine, é possível implementar aplicativos, executar tarefas e até mesmo construir código-fonte por meio de um único painel.
O que é um projeto?
Um projeto é um agrupamento de entidades do Code Engine como aplicativos, tarefas e construções. Um projeto é baseado em um namespace do Kubernetes. O nome de seu projeto deve ser exclusivo dentro de seu grupo de recursos, sua conta do usuário e sua região do IBM Cloud®. Os projetos são usados para gerenciar recursos e fornecer acesso às suas entidades.
Um projeto fornece os itens a seguir.
- Fornece um namespace exclusivo para nomes da entidade.
- Gerencia o acesso aos recursos do projeto (acesso de entrada).
- Gerencia o acesso a serviços de apoio, registros e repositórios (acesso de saída).
- Tem um certificado gerado automaticamente para o Transport Layer Service (TLS).
Para obter mais informações sobre projetos, consulte Gerenciar projetos.
Onde é possível encontrar amostras de código?
É possível localizar amostras de código para ajudá-lo a explorar os recursos do Code Engine. Visite nosso repositório de amostras de código do Code Engine no GitHub.
Eu preciso de mais memória. Posso aumentar meus limites?
Sim, é possível aumentar seus Code Engine limites contatando o suporte IBM.
Preciso de uma conta do Docker Hub para usar o Code Engine?
Code Engine não requer uma conta do Hub do Docker. Embora o Code Engine execute contêineres, não é necessário entender a tecnologia de contêiner para implementar cargas de trabalho no Code Engine. É possível iniciar com o código-fonte e o Code Engine constrói a imagem de contêiner para você e a armazena em um namespace IBM Cloud Container Registry que pertence à sua conta. Embora IBM Cloud Container Registry seja usado como o registro de contêiner padrão, Code Engine pode enviar por push e extrair imagens de qualquer outro registro público e privado que seja acessível por meio de IBM Cloud.
Qual é a diferença entre uma construção do Docker no meu sistema e uma construção no Code Engine?
O resultado de uma construção do Docker que você executa no seu sistema local é a mesma imagem de contêiner que você recebe se executa uma construção com o mesmo Dockerfile no Code Engine. No entanto, a construção no Code Engine não está em execução no seu sistema local e sim no sistema Code Engine. Essa construção no Code Engine fornece a você várias vantagens.
- Não é obrigatório instalar softwares, como o Docker Desktop, localmente.
- É possível usar os recursos que são fornecidos pelo Code Engine. Por exemplo, é possível aproveitar a velocidade do IBM Cloud para enviar por push e fazer pull das imagens de registro do contêiner para você.
- É possível construir sua imagem de contêiner usando a Estratégia de construção de buildpacks em vez de Dockerfile, que detecta suas origens para várias linguagens e constrói automaticamente um contêiner a partir dele.
- Se você tiver uma imagem que foi construída com um processador baseado não Intel, Code Engine pode reconstruí-lo para você.
Por que as imagens de contêineres criadas com Buildpacks em Code Engine apresentam muitas vulnerabilidades?
As imagens criadas com a estratégia de compilação Buildpacks usam uma imagem de base Ubuntu. Embora essa imagem básica seja mantida ativamente, alguns pacotes Ubuntu só recebem correções de segurança no modelo de assinatura Ubuntu Pro. Como
resultado, sua imagem contém pacotes para os quais a Canonical publica avisos de vulnerabilidade, mas fornece correções apenas para os assinantes do Ubuntu Pro. Como o site Code Engine usa a versão disponível publicamente, essas atualizações
não podem ser aplicadas automaticamente. Nos relatórios de vulnerabilidade, você pode identificá-los verificando a versão para a qual um pacote precisaria ser atualizado. Se esse número de versão contiver esm, trata-se de uma
correção somente para o Ubuntu Pro.
Observe que a imagem base contém vários pacotes que são necessários para alguns tempos de execução. Esses pacotes são instalados porque os Buildpacks não podem determinar de forma confiável, durante a compilação, quais bibliotecas de sistema o aplicativo pode exigir em tempo de execução. Embora alguns pacotes possam não ser necessários para seu aplicativo específico, eles estão incluídos para garantir que uma ampla variedade de cargas de trabalho seja executada com êxito.
Se quiser ter controle total sobre a imagem de base, incluindo quais pacotes Ubuntu estão presentes e quando são atualizados, considere mudar da estratégia de compilação Buildpacks para fornecer seu próprio Dockerfile. Com uma compilação baseada em Dockerfile, você pode escolher uma imagem base mínima, atualizar os pacotes exatamente como preferir e reduzir o número de componentes que aparecem nas varreduras de vulnerabilidade.
Por que as imagens que são construídas com processadores não-Intel não funcionam com Code Engine?
Se você tiver uma imagem que existe em um registro de container e a imagem foi construída com um processador baseado em não Intel, Code Engine não pode executar sua imagem de contêiner. Code Engine usa o processamento baseado em Intel. Você pode construir sua própria imagem se você usar o processamento Intel (processadorx86 ). Você também pode optar por deixar Code Engine lidar com o processo de construção para você. Para obter mais informações, consulte Planejando a sua construção.
Os apps Code Engine suportam WebSockets?
Sim! Você pode encontrar um aplicativo de amostra que usa WebSockets visitando nosso repositório de amostras Code Engine em GitHub.
O tempo máximo para qualquer conexão com um aplicativo é de 10 minutos, mesmo que a conexão não esteja inativa. Com o Code Engine, é possível configurar este tempo de conexão com o valor timeout. Com a CLI, use a opção --timeout com o comando app create ou o comando app update.
No console, você pode definir o valor Timeout para o seu aplicativo na guia Resources & scaling (Recursos e dimensionamento ). Para um app que usa WebSockets, o cliente deve se reconectar ao app depois que
a conexão for encerrada. Portanto, se o seu app precisa de uma conexão persistente, crie uma nova conexão antes que o valor timeout seja atingido.
Fazer Code Engine suporte a aplicativos gRPC?
Sim! Você pode encontrar um aplicativo de amostra que usa gRPC visitando nosso repositório de amostras Code Engine em GitHub.
Como gRPC depende de HTTP/2, deve-se configurar o nome da porta como h2c e o valor da porta como 8080 e, em seguida, seu aplicativo Code Engine pode suportar o tráfego HTTP/2. Use a CLI Code Engine para configurar a
opção --port h2c:8080 com o comando app create ou o comando app update para configurar seu aplicativo para usar gRPC. Consulte Implementando aplicativos com o gRPC
O Code Engine fornece uma maneira de limitar o acesso a uma determinada entidade dentro de um projeto Code Engine ?
No Code Engine, as funções que são aplicadas a qualquer entidade Code Engine têm escopo definido apenas para o projeto que é selecionado como o contexto atual. Portanto, não é possível controlar permissões em recursos individuais em um projeto Code Engine.
O Code Engine fornece uma especificação OpenAPI para a função implementada?
Não, o Code Engine não gera ou fornece uma especificação OpenAPI para as funções que você implementa. Há pacotes e ferramentas disponíveis para muitas linguagens de programação gerarem uma especificação OpenAPI a partir do código..
Como é possível revisar os termos de serviço do Code Engine?
Para obter os termos de acordo de nível de serviço mais recentes, consulte os termos de serviço.
Como é possível fornecer feedback?
Seu feedback sobre o Code Engine é importante e nos ajuda a melhorar. É possível fornecer feedback de diversas maneiras:
- Clique Problema de documento aberto no final de uma página de documentação para abrir um problema e fornecer seus comentários.
- Compartilhe o feedback por meio do Slack. Você pode participar da discussão no canal #code-engine.