Este tópico responde às perguntas frequentes (FAQs) sobre segurança de contêineres de aplicações.
Como especificar um grupo de segurança para um cluster Kubernetes?
É possível ativar ou desativar o recurso de auditoria do cluster após a criação?
Por que não consigo criar um pod e recebo o erro "no providers available to validate pod request"?
Por que não há conectividade de rede entre os contêineres?
Geralmente, duas configurações incorretas no grupo de segurança causam esse problema.
Causa 1: Exclusão da regra de entrada para o Pod Network CIDR
A regra necessária permite todo o tráfego originado do bloco CIDR do pod. Sem ela, a comunicação entre contêineres falha.
Solução: Adicione novamente a regra ausente.
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, localize o cluster desejado e clique em seu nome. No painel de navegação à esquerda, clique em Cluster Information.
Na página Cluster Information, clique na aba Basic Information. Clique no link ao lado de Control Plane Security Group para abrir a página do grupo de segurança no console do ECS.
-
Na página Security Groups, clique na aba Inbound e, em seguida, clique em Add Rule. Na caixa de diálogo, configure a regra e clique em Submit.
Campo
Valor
Action
Allow
Priority
Default
Protocol
All Traffic
Source
Bloco CIDR do pod (disponível em Pod Network CIDR, na seção Network da página de detalhes do cluster)
Causa 2: Nova instância ECS em grupo de segurança diferente do cluster
Solução: Obtenha o ID do grupo de segurança do cluster na aba Basic Information > campo Security Group e adicione a instância ECS a esse grupo. Para mais detalhes, consulte Adicionar uma instância a, remover uma instância de ou alternar o grupo de segurança de uma instância.
Como especificar um grupo de segurança para um cluster Kubernetes?
Durante a criação do cluster
O ACK cria automaticamente um grupo de segurança padrão durante a criação do cluster. Para utilizar regras personalizadas, modifique esse grupo após a criação. Para mais informações, consulte Configurar um grupo de segurança de cluster.
Para um cluster existente
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, localize o cluster desejado e clique em seu nome. No painel de navegação à esquerda, clique em Cluster Information.
Na página Cluster Information, clique na aba Basic Information. Na seção Network, clique em Edit ao lado de Control Plane Security Group.
Na caixa de diálogo, selecione o grupo de segurança e clique em OK.
É possível ativar ou desativar o recurso de auditoria do cluster após a criação?
Sim. Para mais informações, consulte Usar o recurso de auditoria do servidor de API do cluster.
Como alterar o período de validade do certificado e substituir certificados de componentes em um cluster ACK Dedicated?
O ACK envia mensagens internas e notificações cerca de dois meses antes da expiração do certificado do cluster. Após receber a notificação, acesse a página Clusters no console e clique no botão de atualização. Para mais informações, consulte Atualizar um certificado prestes a expirar para um cluster ACK dedicated.
Se o certificado já tiver expirado, consulte Atualizar um certificado expirado para um cluster ACK dedicated.
Por que não consigo criar um pod e recebo o erro "no providers available to validate pod request"?
Se você não configurou uma Pod Security Policy (PSP) personalizada, esse erro ocorre porque a PSP padrão foi excluída. Restaure as regras da PSP padrão para resolver o problema. Para detalhes, consulte [\[Deprecated\] Use Pod Security Policies](https://www.alibabacloud.com/help/en/document_detail/165047.html#task-2495517).
Para configurar uma PSP personalizada, consulte Enable security policy management.
Por que não consigo usar um Secret em um novo namespace?
Os Secrets têm escopo de namespace. Cada namespace mantém seu próprio conjunto isolado de Secrets, e os pods só podem acessar Secrets no mesmo namespace.
Para usar um Secret em um novo namespace, crie-o diretamente nesse namespace.
Por que não consigo montar o default-token?
Causa: A versão do systemd no nó é muito antiga.
A mensagem de erro é semelhante a esta:
Normal Scheduled 13m default-scheduler Successfully assigned dev/alibaba-demo-67fcdbfb8-zklnp to cn-hangzhou.10.7.3.16 Warning FailedMount 13m (x2 over 13m) kubelet, cn-hangzhou.10.7.3.16 MountVolume.SetUp failed for volume 'default-token-8twx9' : mount failed: exit status 1 Mounting command: systemd-run Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/62d39b35-9a4d-11ea-9870-c24d56a0e904/volumes/kubernetes.io~secret/default-token-8twx9 --scope -- mount -t tmpfs tmpfs /var/lib/kubelet/pods/62d39b35-9a4d-11ea-9870-c24d56a0e904/volumes/kubernetes.io~secret/default-token-8twx9 Output: Failed to start transient scope unit: Argument list too long Warning FailedCreatePodContainer 3m40s (x49 over 13m) kubelet, cn-hangzhou.10.7.3.16 unable to ensure pod container exists: failed to create container for [kubepods burstable pod62d39b35-9a4d-11ea-9870-c24d56a0e904] : Argument list too long
Utilize uma das seguintes correções:
Atualize o systemd. Para mais informações, consulte o comentário no GitHub sobre kubernetes/kubernetes #57345.
Execute
sudo systemctl daemon-reloadpara reiniciar e redefinir o daemon. Para mais informações, consulte o comentário no GitHub sobre kubernetes/kubernetes #57345.
Como consultar logs de auditoria?
Os logs de auditoria são armazenados no Simple Log Service (SLS). Para abrir o Logstore:
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, localize o cluster desejado e clique em seu nome. No painel de navegação à esquerda, clique em Cluster Information.
Na página Cluster Information, clique na aba Basic Information. Clique no link ao lado de Log Service Project para abrir o console do SLS.
Na página Log Storage > Logstores, selecione o Logstore
audit-<cluster_id>e clique em Search & Analyze no canto superior direito.Selecione um intervalo de tempo que abranja desde o funcionamento correto do sistema até a ocorrência do problema (por exemplo, 3, 7 ou 15 dias).
Na caixa de texto Search & Analyze, insira uma consulta e clique em Search & Analyze.
Para baixar os resultados, clique no ícone
e selecione Download Log. Configure as opções de download na caixa de diálogo e clique em OK.
Consultar alterações relacionadas ao RBAC
requestURI: "rbac.authorization.k8s.io" not (verb: get or verb: watch)
Consultar alterações relacionadas ao ConfigMap
Substitua <configmap_name> pelo nome real do ConfigMap.
requestURI: "configmaps" and <configmap_name> not (verb: get or verb: watch or verb: list)
Consultar dimensionamento de pods em um Deployment
Substitua <deployment_name> pelo nome real do Deployment.
requestURI: deployments and (verb: update or verb: patch) and replicas and deployments and <deployment_name> not deployment-controller