web-dev-qa-db-ja.com

minikubeにルートCAを追加するにはどうすればよいですか?

私の会社は、独自のルートCAを使用しており、イメージをプルしようとしています。プライベートレジストリからでもエラーが発生します:

1h 3m 22 {kubelet minikube}警告FailedSyncポッドの同期エラー、スキップ:ErrImagePullを使用した「POD」の「StartContainer」に失敗しました:「gcr.io/google_containers/pause-AMD64:3.0のイメージプルに失敗しました。これは次の理由による可能性があります。このリクエストには認証情報がありません。

詳細:(デーモンからのエラー応答:取得 https://gcr.io/v1/_ping :x509:不明な権限によって署名された証明書) "1h 10s 387 {kubelet minikube}警告FailedSyncポッドの同期エラー、スキップ:ImagePullBackOffで「POD」の「StartContainer」に失敗しました:「Back-offpulling image\"gcr.io/google_containers/pause-AMD64:3.0 \"」

ルートCAをminkubeにインストールする方法、またはこのメッセージを回避するにはどうすればよいですか。つまり、プライベートレジストリのみを使用し、gcr.ioから何もプルしないでください。

9
arykalin

私がこれまでに見つけた唯一の解決策は、minikubeに--insecure-registrygcr.ioオプションを追加することです。

9
arykalin

対処するには:

x509: certificate signed by unknown authority

ミニクベレポからの以下の提案をお試しください。

証明書をVMにコピーします。場所は次のようになります。

/etc/docker/certs.d/

ここから: https://docs.docker.com/engine/security/certificates/

参照

そのスレッドには、次のワンライナーも含まれています。

cat <certificatefile> \
  | minikube ssh "Sudo mkdir -p /etc/docker/certs.d/<domain> && Sudo tee /etc/docker/certs.d/<domain>/ca.crt"

ここでの問題は、更新が必要なLinuxホストのCATrustチェーンです。再起動がオプションでない場合、最も簡単な方法は、証明書をVMにコピーした後にLinuxホストを再起動することです。update-ca-certificatesへの方法を探してください。

Dockerデーモンを再起動するだけでは、この問題は解決しない可能性があります

注:Dockerデーモンが安全でないレジストリを使用できるようにすると、証明書が検証されません。これは役立つ場合がありますが、ここで尋ねられる質問は解決されません。

4
Vincent De Smet

Minikubeから独立してこれを行う簡単な方法は、imagePullSecrets構成を使用することです。 プライベートレジストリからの画像のプル ガイドに記載されているように、Secretを作成し、次のように画像と一緒に使用できます。

apiVersion: v1
kind: Pod
metadata:
  name: demo-pod
spec:
  containers:
    - name: private-container
      image: <your-private-image>
  imagePullSecrets:
    - name: the_secret

the_secretを作成できる場所:

kubectl create secret docker-registry the_secret --docker-server=xxx --docker-username=xxx --docker-password=xxx --docker-email=xxx

またはと:

kubectl create secret generic the_secret --from-file=.docker/config.json

または、kubectl create secretに関連する他の何かと 詳細についてはドキュメント を参照してください。


編集:公式のminikubeドキュメントでも、registry-credsアドオンと一緒にSecretsを使用していることがわかります。

一般的なドキュメント ここ とアドオンのドキュメント ここ があります。

それは燃え尽きる:

minikube addons enable registry-creds

ただし、技術的には上記と同じです。

0
pagid