Usando o Knative com o Code Engine
O IBM Cloud® Code Engine foi projetado para que não seja necessário interagir com a tecnologia subjacente em que ele foi construído. No entanto, se você tiver ferramentas existentes que são baseadas no Knative, ainda poderá utilizá-la com o Code Engine. O Code Engine suporta as APIs do Knative (e Kubernetes) e seus comandos da CLI. Para obter mais informações sobre o Kubernetes, consulte Usando o Kubernetes com o Code Engine.
Qual é a versão suportada do Knative?
Code Engine é compatível com a versão 1.15 das APIs do Knative e seus comandos da CLI.
Instalando a interface da linha de comandos do Knative
Para instalar o Knative kn), faça o download e instale o Knative CLI.
Para usar o Knative com o Code Engine, deve-se primeiro configurar seu ambiente para interagir com a API do Kubernetes do Code Engine. Para obter mais informações, consulte Instalando a interface da linha de comandos do Kubernetes.
Para obter mais informações sobre Kubernetes e Knative e como eles trabalham com a arquitetura do Code Engine, veja Aprendendo sobre a arquitetura e o isolamento de carga de trabalho do Code Engine.
Interagindo com a API do Kubernetes
Para interagir com o seu projeto por meio da interface da linha de comandos do Kubernetes, kubectl, ou com o Knative, kn deve-se configurar seu ambiente para interagir com a API de Kubernetes do Code Engine.
Antes de Iniciar
- Deve-se criar o projeto e ele deve ter o status
active. - Instale a CLI do Kubernetes (
kubectl) e a CLI do Knative (kn).
É possível configurar seu ambiente das maneiras a seguir.
-
É possível incluir a opção
--kubecfgno comandoproject select. Por exemplo,ibmcloud ce project select --name PROJECT_NAME --kubecfg -
É possível exportar o arquivo
kubeconfigdiretamente. Execute o comandoibmcloud ce project currentpara localizar o projeto que você está visando atualmente. Este comando também retorna o comandoexportpara seu arquivokubeconfig. Por exemplo,ibmcloud ce project currentSaída de exemplo
Getting the current project context... OK Name: myproject ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Subdomain: aabon2dfwa0 Domain: us-south.codeengine.appdomain.cloud Region: us-south Kubectl Context: 4svg40kna19 Kubernetes Config: Context: aabon2dfwa0 Environment Variable: export KUBECONFIG=/user/myusername/.bluemix/plugins/code-engine/myproject-01234567-abcd-abcd-abcd-abcdabcd1111.yamlEm seguida, copie o comando de exportação, cole-o na interface da linha de comandos e execute-o.
Verifique se seu ambiente está configurado corretamente executando o comando kubectl config.
kubectl config current-context
Se o contexto estiver configurado corretamente, a saída corresponderá ao valor Kubectl Context de seu projeto. Por exemplo, se o valor Kubectl Context de seu projeto for 4svg40kna19, o comando retornará
4svg40kna19.
Para obter mais informações sobre o Kubernetes e como ele funciona com a arquitetura do Code Engine, consulte Aprendendo sobre a arquitetura e o isolamento de carga de trabalho do Code Engine.
Autoridades de acesso necessárias para trabalhar com a API do Knative
Depois de configurar o seu ambiente, é possível interagir com a API do Knative. Deve-se ter o nível correto de autoridade para tarefas específicas. Essas funções são configuradas em Gerenciamento de acesso e de identidade Consulte Funções de serviço do IBM Cloud.
| Recurso | Função Gerenciador | Função Gravador | Função Leitor |
|---|---|---|---|
services.serving.knative.dev |
get, list, watch, create, delete, update, patch, apply, edit |
get, list, watch, create, delete, update, patch, apply, edit |
get, list, watch |
configurations.serving.knative.dev |
get, list, watch, create, delete, update, patch, apply, edit |
get, list, watch, create, delete, update, patch, apply, edit |
get, list, watch |
routes.serving.knative.dev |
get, list, watch, create, delete, update, patch, apply, edit |
get, list, watch, create, delete, update, patch, apply, edit |
get, list, watch |
revisions.serving.knative.dev |
get, list, watch, create, delete, update, patch, apply, edit |
get, list, watch, create, delete, update, patch, apply, edit |
get, list, watch |
pingsource.serving.knative.dev |
get, list, watch, create, delete, update, patch, apply, edit |
get, list, watch, create, delete, update, patch, apply, edit |
get, list, watch |
kafkasource.serving.knative.dev |
get, list, watch, create, delete, update, patch, apply, edit |
get, list, watch, create, delete, update, patch, apply, edit |
get, list, watch |