
Instalei o cluster kubernetes usando kubeadm, está tudo bem nos próprios servidores, o nó mestre e o nó de trabalho estão visíveis
--apiserver-cert-extra-sans=*.*.201.87
Eu faço uma conexão de outra rede a partir de um PC local, tendo copiado anteriormente admin.conf para ~/.kube, recebo um erro
E0125 13:47:12.606617 794306 proxy_server.go:147] Error while proxying request: x509: cannot validate certificate for *.*.201.87 because it doesn't contain any IP SANs
tentamos solicitar certificados novamente e não funciona
Responder1
Se você estiver usando literalmente *.*.201.87
, isso está errado e você deve usar o endereço IP ou nome DNS adequado.
Se você mascarou o IP real *
neste exemplo, verifique o certificado servido durante o handshake TLS:
openssl s_client -connect <host>:<port>
# save cert in cert.pem
openssl x509 -text -noout -in cert.pem
Verifique quais entradas estão listadas em X509v3 Subject Alternative Name
.
Responder2
O erro que você postou
x509: cannot validate certificate for ..201.87 because it doesn't contain any IP SANs
indica que o certificado apresentado pelo servidor API Kubernetes não contém os IP SANs necessários para corresponder ao endereço IP que você está usando para acessar o cluster.
Tente regenerar os certificados para o servidor API Kubernetes com os IP SANs apropriados. Você pode usar o kubeadm alpha phase certs all --apiserver-advertise-address=<your-IP\>
comando para conseguir isso. Veja issolink
Certifique-se também de queKUBECONFIGvariável de ambiente está definida corretamente para o local do seuadmin.confarquivo. Este arquivo deve conter o certificado e os dados de chave necessários para autenticação no servidor API Kubernetes.
Responder3
No meu caso
export no_proxy=$no_proxy,11.62.201.87