web-dev-qa-db-ja.com

helm:x509:不明な機関によって署名された証明書

私はKubernetesを使用しており、kubeconfigで使用されている管理者証明書を最近更新しました。ただし、それを行った後、すべてのhelmコマンドは次のように失敗します。

Error: Get https://cluster.mysite.com/api/v1/namespaces/kube-system/pods?labelSelector=app%3Dhelm%2Cname%3Dtiller: x509: certificate signed by unknown authority

kubectlは正常に機能します:

$ kubectl get nodes
NAME                                           STATUS    ROLES     AGE       VERSION
ip-10-1-0-34.eu-central-1.compute.internal     Ready     master    42d       v1.7.10+coreos.0
ip-10-1-1-51.eu-central-1.compute.internal     Ready     master    42d       v1.7.10+coreos.0
ip-10-1-10-120.eu-central-1.compute.internal   Ready     <none>    42d       v1.7.10+coreos.0
ip-10-1-10-135.eu-central-1.compute.internal   Ready     <none>    27d       v1.7.10+coreos.0
ip-10-1-11-71.eu-central-1.compute.internal    Ready     <none>    42d       v1.7.10+coreos.0
ip-10-1-12-199.eu-central-1.compute.internal   Ready     <none>    8d        v1.7.10+coreos.0
ip-10-1-2-110.eu-central-1.compute.internal    Ready     master    42d       v1.7.10+coreos.0

私が読むことができる限り、helmkubectlと同じ証明書を使用することになっているため、kubectlの仕組みに興味がありますが、helmしませんか?

これは実稼働クラスターであり、内部リリースはヘルムチャートで処理されるため、解決することが不可欠です。

任意のヒントをいただければ幸いです。

回避策として、証明書の検証を無効にしてみてください。 Helmはkube構成ファイルを使用します(デフォルトでは~/.kube/config)。あなたは付け加えられます insecure-skip-tls-verify: trueclusterセクションの場合):

clusters:
- cluster:
    server: https://cluster.mysite.com
    insecure-skip-tls-verify: true
  name: default

Helm/tillerを再インストールしようとしましたか?

kubectl delete deployment tiller-deploy --namespace kube-system
helm init

また、クラスター構成で無効な証明書を構成したかどうかも確認してください。

11
Sebastian

私の場合、エラーはHelmリポジトリからの信頼できない証明書が原因でした。証明書をダウンロードし、 --ca-file オプションが問題を解決しました(少なくともHelmバージョン3では)。

helm repo add --ca-file /path/to/certificate.crt repoName https://example/repository

--ca-file文字列、このCAバンドルを使用してHTTPS対応サーバーの証明書を確認します

0
LazerBass

--ca-fileでrepoを追加することで問題は解決しましたが、以下の投稿コマンドを使用してそのrepoからダウンロードしようとしたときに、不明な機関によって署名されたx509:証明書がまだ取得されています

helm dependency update helm/myStuff
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "myRepo" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 18 charts
Downloading myService from repo https://myCharts.me/
Save error occurred:  could not download https://myCharts.me/stuff.tgz ...
x509: certificate signed by unknown authority
Deleting newly downloaded charts, restoring pre-update state

--ca-fileでリポジトリを追加する以外に、リポジトリ証明書をダウンロードして現在のユーザーとしてインストールする必要がありました。

install it as Current User

すべての証明書を次のストアに配置します:信頼されたルート証明機関: Place all certificates in the following store: Trusted Root Certification Authorities

証明書をインストールした後、コンピューターを再起動する必要もありました。再起動後、ブラウザを開いてリポジトリURLを貼り付けると、警告を出さずにサイトを信頼して接続します(これにより、証明書が正常にインストールされたことがわかります)。

先に進んでコマンドを実行できます。今回は証明書を選択するはずです。

helm dependency update helm/myStuff
....
Saving 18 charts
Downloading service1 from repo https://myCharts.me/
Downloading service2 from repo https://myCharts.me/
....
0
Tudor