O Cloud Assistant permite executar comandos diretamente em contêineres Kubernetes em instâncias ECS Linux, sem necessidade de login nas instâncias ou uso de jump servers. Especifique ContainerId ou ContainerName ao chamar RunCommand ou InvokeCommand.
Pré-requisitos
As instâncias estão no estado Running.
-
O Cloud Assistant Agent versão 2.2.3.344 ou posterior está instalado nas instâncias.
Consulte Instalar o Cloud Assistant Agent.
Limitações
O Cloud Assistant suporta apenas contêineres Kubernetes gerenciados por CRI em execução no Docker, containerd ou CRI-O.
-
O CRI impõe os seguintes limites na execução de comandos em contêineres.
Limitação
Solução alternativa
Apenas o usuário padrão do contêiner pode executar comandos.
-
Ao especificar
ContainerIdouContainerName, o sistema ignora o parâmetroUsername. Os comandos são executados como o usuário padrão do contêiner. -
Para trocar de usuário, execute
sudodentro do contêiner. Verifique se a imagem do contêiner suporta troca de usuários.
Os comandos são executados apenas no diretório de trabalho padrão.
-
Ao especificar
ContainerIdouContainerName, o sistema ignora o parâmetroWorkingDir. -
Para alterar o diretório de trabalho, adicione um comando
cdno início do script.
Somente scripts shell são suportados. Linhas shebang como
#!/usr/bin/pythonnão são reconhecidas.-
Ao especificar
ContainerIdouContainerName, os scripts rodam com/bin/shno contêiner. A diretiva shebang#!é ignorada. -
Para executar um script que não seja shell, invoque o interpretador diretamente. Por exemplo, adicione
/usr/bin/python -c 'import sys; print(sys.version_info)'para chamar o interpretador Python.
-
Procedimento
-
Obtenha o ID e o nome de um contêiner Kubernetes.
-
Execute comandos nos contêineres com o Cloud Assistant.
É possível executar comandos em contêineres específicos apenas por meio de chamadas de API. Ao chamar RunCommand ou InvokeCommand, especifique
ContainerId,ContainerNameou ambos.NotaPara limites sobre comandos do Cloud Assistant, consulte as seções "Pré-requisitos" e "Informações básicas" em Usar o recurso de execução imediata.
Resultado
Chame DescribeInvocations ou DescribeInvocationResults para consultar o status ou os resultados da execução. A resposta inclui os valores de ContainerId e ContainerName.