Consistência do certificado do balanceador de carga de HTTPS
Itens de verificação
Verifique se o certificado usado por um balanceador de carga de HTTPS foi modificado no ELB.
Solução
Substitua o certificado usado por um ingresso por aquele usado pelo balanceador de carga. Em seguida, você pode criar ou editar o certificado no console do ELB.
- Faça logon no console do ELB, escolha Elastic Load Balance > Certificates, localize o certificado e encontre o secret_id na descrição do certificado.
Figura 1 Visualizar um certificado
O secret_id é o metadata.uid do Segredo no cluster. Utilize este UID para obter o nome do Segredo no cluster.
Execute o seguinte comando kubectl para obter o nome do Segredo (substitua <secret_id> pelo valor real):kubectl get secret --all-namespaces -o jsonpath='{range .items[*]}{"uid:"}{.metadata.uid}{" namespace:"}{.metadata.namespace}{" name:"}{.metadata.name}{"\n"}{end}' | grep <secret_id>
- Efetue logon no console do CCE e clique no nome do cluster para acessar o console do cluster. Escolha Services & Ingresses no painel de navegação, clique a guia Ingresses, localize a linha que contém o ingress que usa o certificado, e escolha More > Update na coluna da Operation. Se vários Ingresses estiverem usando esse certificado, atualize o certificado para todas essas Ingresses. Para verificar quais Ingresses estão usando um certificado, use o parâmetro secertName em spec.tls dos arquivos YAML de Ingress.
Execute o seguinte comando kubectl para obter os Ingresses usando um certificado (substitua <secret_id> pelo valor real):
kubectl get ingress --all-namespaces -o jsonpath='{range .items[*]}{"namespace:"}{.metadata.namespace}{" name:"}{.metadata.name}{" tls:"}{.spec.tls[*]}{"\n"}{end}' | grep <secret_name>
- Ao configurar um ouvinte, selecione ELB server certificate para Certificate Source e clique em OK. Dessa forma, o certificado pode ser criado ou editado no console do ELB.
- Na página ConfigMaps and Secrets, exclua o Segredo de destino. Antes da exclusão, faça backup dos dados.