
kubeadmを使用してKubernetesクラスターをインストールしました。サーバー自体はすべて正常で、マスターノードとワーカーノードが表示されています。
--apiserver-cert-extra-sans=*.*.201.87
ローカルPCから別のネットワークに接続し、admin.confを~/.kubeにコピーするとエラーが発生します
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
再度証明書をリクエストしてみましたが、うまくいきませんでした
答え1
文字通り を使用している場合*.*.201.87
、これは間違いであり、適切な IP アドレスまたは DNS 名を使用する必要があります。
この例で実際の IP をマスクした場合は*
、TLS ハンドシェイク中に提供される証明書を確認します。
openssl s_client -connect <host>:<port>
# save cert in cert.pem
openssl x509 -text -noout -in cert.pem
の下にリストされているエントリを確認しますX509v3 Subject Alternative Name
。
答え2
あなたが投稿したエラー
x509: cannot validate certificate for ..201.87 because it doesn't contain any IP SANs
Kubernetes API サーバーによって提示された証明書に、クラスターにアクセスするために使用している IP アドレスと一致するために必要な IP SAN が含まれていないことを示します。
適切なIP SANを使用してKubernetes APIサーバーの証明書を再生成してみてください。kubeadm alpha phase certs all --apiserver-advertise-address=<your-IP\>
これを実現するには、コマンドを使用できます。こちらを参照してください。リンク
また、KUBECONFIG環境変数があなたの場所に正しく設定されていることを確認してください管理者設定ファイル。このファイルには、Kubernetes API サーバーで認証するために必要な証明書とキー データが含まれている必要があります。
答え3
私の場合
export no_proxy=$no_proxy,11.62.201.87