Kubeadm: 不明な機関によって署名された証明書-企業ネットワーク-プロキシ

作成日 2018年06月22日  ·  4コメント  ·  ソース: kubernetes/kubeadm

これは助けを求めるものですか?

はい

これを提出する前に、kubeadmの問題でどのキーワードを検索しましたか?

x509:不明な機関によって署名された証明書-INSIDE CORPORATE NETWORK

重複を見つけた場合は、代わりにそこに返信してこのページを閉じる必要があります。

重複が見つからない場合は、このセクションを削除して続行してください。

これはバグレポートですか、それとも機能リクエストですか?

バグレポートまたは機能リクエストのいずれかを選択してください

バグレポート

バージョン

kubeadmバージョンkubeadm version ):-1.10.4
kubeadmバージョン:&version.Info {メジャー: "1"、マイナー: "10"、GitVersion: "v1.10.4"、GitCommit: "5ca598b4ba5abb89bb773071ce452e33fb66339d"、GitTreeState: "clean"、BuildDate: "2018-06-06T08:00: 59Z "、GoVersion:" go1.9.3 "、コンパイラ:" gc "、プラットフォーム:" linux / amd64 "}

環境

  • Kubernetesバージョンkubectl version ):
  • クラウドプロバイダーまたはハードウェア構成
  • OS (例:/ etc / os-releaseから):
    NAME = "CentOS Linux"
    VERSION = "7(コア)"
    ID = "centos"
    ID_LIKE = "rhel fedora"
    VERSION_ID = "7"
    PRETTY_NAME = "CentOS Linux 7(コア)"
    ANSI_COLOR = "0; 31"
    CPE_NAME = "cpe:/ o: centos:centos :7"
    HOME_URL = " https://www.centos.org/ "
    BUG_REPORT_URL = " https://bugs.centos.org/ "

CENTOS_MANTISBT_PROJECT = "CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION = "7"
REDHAT_SUPPORT_PRODUCT = "centos"
REDHAT_SUPPORT_PRODUCT_VERSION = "7"

  • カーネル(例: uname -a ):
    Linux kubem13.10.0-123.el7.x86_64#1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux
  • その他

どうしたの?

スローエラーx509:不明な機関によって署名された証明書

あなたは何が起こると思っていましたか?

エラーなしでkubeadminitを実行する必要があります

それをどのように再現するか(可能な限り最小限かつ正確に)?

他に知っておくべきことはありますか?

いくつかのファイルでプロキシを構成しました。

.bash_profile
/ etc / environment
/etc/systemd/system/docker.service.d/http-proxy.conf

/etc/systemd/system/docker.service.d/http-proxy.conf

[サービス]
Environment = "HTTP_PROXY = http://@:8080 "
Environment = "HTTPS_PROXY = https://@:8080 "
Environment = "NO_PROXY = localhost、127.0.0.1,10.169.150.123"

/ etc / environment

エクスポートhttp_proxy = "http://@:8080 "
エクスポートhttps_proxy = "https://@:8080 "
エクスポートHTTP_PROXY = "http://@:8080 "
HTTPS_PROXY = "https://をエクスポートします@:8080 "
export no_proxy = "10.169.150.123,127.0.0.1、localhost"

INBashプロファイル

KUBECONFIG = / etc / kubernetes /admin.confをエクスポートします
エクスポートhttp_proxy = "http://@:8080 "
エクスポートhttps_proxy = "https://@:8080 "
エクスポートHTTP_PROXY = "http://@:8080 "
HTTPS_PROXY = "https://をエクスポートします@:8080 "
export no_proxy = "10.169.150.123,127.0.0.1、localhost"

必要なポートを開きました

cat / etc / sysconfig / iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 6443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2379-2380 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10250 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10251 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10252 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10255 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

ファイアウォールをリロードしました。

また、ファイアウォールを無効にしてチェックしました。

SELINUXを無効にしました

########コメントKUBELET_NETWORK_ARGS

/etc/systemd/system/kubelet.service.d/10-kubeadm.conf

[サービス]
Environment = "KUBELET_KUBECONFIG_ARGS = -bootstrap-kubeconfig = / etc / kubernetes / bootstrap-kubelet.conf --kubeconfig = / etc / kubernetes / kubelet.conf"
Environment = "KUBELET_SYSTEM_PODS_ARGS = -pod-manifest-path = / etc / kubernetes / manifests --allow-privileged = true"

Environment = "KUBELET_NETWORK_ARGS = -network-plugin = cni --cni-conf-dir = / etc / cni / net.d --cni-bin-dir = / opt / cni / bin"

Environment = "KUBELET_DNS_ARGS = -cluster-dns = 10.96.0.10 --cluster-domain = cluster.local"
Environment = "KUBELET_AUTHZ_ARGS = -authorization-mode = Webhook --client-ca-file = / etc / kubernetes / pki / ca.crt"
Environment = "KUBELET_CADVISOR_ARGS = -cadvisor-port = 0"
Environment = "KUBELET_CGROUP_ARGS = -cgroup-driver = systemd"
Environment = "KUBELET_CERTIFICATE_ARGS = -rotate-certificates = true --cert-dir = / var / lib / kubelet / pki"
Environment = "KUBELET_EXTRA_ARGS = -fail-swap-on = false"
ExecStart =
ExecStart = / usr / bin / kubelet $ KUBELET_KUBECONFIG_ARGS $ KUBELET_SYSTEM_PODS_ARGS $ KUBELET_DNS_ARGS $ KUBELET_AUTHZ_ARGS $ KUBELET_CADVISOR_ARGS $ KUBELET_CGROUP_ARGS $ KUBELET_CERTIFICATE_ARGS $ KUBELET_EXTRA_AR

バージョンを渡して実行すると、

[ root @ kubem1〜 ] #kubeadm init --kubernetes-version = v1.10.4
[init] Kubernetesバージョンの使用:v1.10.4
[init]認証モードの使用:[ノードRBAC]
[プリフライト]プリフライトチェックを実行します。
[WARNING HTTPProxyCIDR]: "10.96.0.0/12"用途プロキシ":// * * * * https"のへの接続。 これにより、クラスターのセットアップが誤動作する可能性があります。 プロキシ構成の例外としてポッドとサービスのIP範囲が正しく指定されていることを確認してください
[証明書]生成されたca証明書とキー。
[証明書]生成されたapiserver証明書とキー。
[証明書]証明書を提供するapiserverはDNS名に署名されています[kubem1kubernetes kubernetes.default kubernetes.default.svckubernetes.default.svc.cluster.local]およびIP [10.96.0.1 10.169.150.123]
[証明書]生成されたapiserver-kubelet-client証明書とキー。
[証明書]生成されたsaキーと公開キー。
[証明書]生成されたfront-proxy-ca証明書とキー。
[証明書]生成されたfront-proxy-client証明書とキー。
[証明書]生成されたetcd / ca証明書とキー。
[証明書]生成されたetcd / server証明書とキー。
[証明書] etcd / serverserving証明書はDNS名[localhost]とIP [127.0.0.1]に対して署名されています
[証明書]生成されたetcd /ピア証明書とキー。
[証明書] etcd /ピアサービング証明書はDNS名[kubem1。 * * **]とIPS [10.169.150.123]
[証明書]生成されたetcd / healthcheck-クライアントの証明書とキー。
[証明書]生成されたapiserver-etcd-client証明書とキー。
[証明書]有効な証明書とキーが「/ etc / kubernetes / pki」に存在するようになりました
[kubeconfig] KubeConfigファイルをディスクに書き込みました: "/ etc / kubernetes / admin.conf"
[kubeconfig] KubeConfigファイルをディスクに書き込みました: "/ etc / kubernetes / kubelet.conf"
[kubeconfig] KubeConfigファイルをディスクに書き込みました:「/ etc / kubernetes /controller-manager.conf」
[kubeconfig] KubeConfigファイルをディスクに書き込みました:「/ etc / kubernetes /scheduler.conf」
[controlplane]コンポーネントkube-apiserverの静的ポッドマニフェストを「/etc/kubernetes/manifests/kube-apiserver.yaml」に書き込みました
[controlplane]コンポーネントkube-controller-managerの静的ポッドマニフェストを「/etc/kubernetes/manifests/kube-controller-manager.yaml」に書き込みました
[controlplane]コンポーネントkube-schedulerの静的ポッドマニフェストを「/etc/kubernetes/manifests/kube-scheduler.yaml」に書き込みました
[etcd]ローカルetcdインスタンスの静的ポッドマニフェストを「/etc/kubernetes/manifests/etcd.yaml」に書き込みました
[init]ディレクトリ「/ etc / kubernetes / manifests」からコントロールプレーンを静的ポッドとしてkubeletが起動するのを待機しています。
[init]コントロールプレーンイメージをプルする必要がある場合、これには1分以上かかる場合があります。

############# INエラーログ

6月22日04:31:34kubem1。 * * * * kubelet [7275]:E0622 04:31:34.942572 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47:リストに失敗しました* v1.Pod:Get https :/10.169.150.123 :6443 / api / v1 / pods?fieldSelector = spec.nodeName%3Dkubem1。 * * * * &limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました
6月22日04:31:35kubem1。 * * * * kubelet [7275]:E0622 04:31:35.888104 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461:リストに失敗しました* v1.Node:Get https:/ /10.169.150.123:6443 / api / v1 / nodes?fieldSelector = metadata.name%3Dkubem1。 * * * * &limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました
6月22日04:31:35kubem1。 * * * * kubelet [7275]:E0622 04:31:35.888256 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452:リストに失敗しました* v1.Service:Get https:/ /10.169.150.123:6443 / api / v1 / services?limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました
6月22日04:31:35kubem1。 * * * * kubelet [7275]:E0622 04:31:35.943992 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47:v1.Podの一覧表示に失敗し* * * * &limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました
6月22日04:31:36kubem1。 * * * * kubelet [7275]:E0622 04:31:36.889648 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461:リストに失敗しました* v1.Node:Get https:/ /10.169.150.123:6443 / api / v1 / nodes?fieldSelector = metadata.name%3Dkubem1。 * * * * &limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました
6月22日04:31:36kubem1。 * * * * kubelet [7275]:E0622 04:31:36.891490 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452:リストに失敗しました* v1.Service:Get https:/ /10.169.150.123:6443 / api / v1 / services?limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました
6月22日04:31:36kubem1。 * * * * kubelet [7275]:E0622 04:31:36.945185 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47:v1.Podの一覧表示に失敗し* * * * &limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました
6月22日04:31:37kubem1。 * * * * kubelet [7275]:E0622 04:31:37.890407 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461:リストに失敗しました* v1.Node:Get https:/ /10.169.150.123:6443 / api / v1 / nodes?fieldSelector = metadata.name%3Dkubem1。 * * * * &limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました
6月22日04:31:37kubem1。 * * * * kubelet [7275]:E0622 04:31:37.891696 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452:リストに失敗しました* v1.Service:Get https:/ /10.169.150.123:6443 / api / v1 / services?limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました
6月22日04:31:37kubem1。 * * * * kubelet [7275]:E0622 04:31:37.946023 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47:v1.Podの一覧表示に失敗し* * * * &limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました
6月22日04:31:38kubem1。 * * * * kubelet [7275]:E0622 04:31:38.121910 7275 eviction_manager.go:247]立ち退きマネージャー:ゲット要約統計に失敗しました:ノード情報の取得に失敗しました: "kubem1 * * * *"ノードが見つかりません
6月22日04:31:38kubem1。 * * * * kubelet [7275]:E0622 04:31:38.892292 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461:リストに失敗しました* v1.Node:Get https:/ /10.169.150.123:6443 / api / v1 / nodes?fieldSelector = metadata.name%3Dkubem1。 * * * * &limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました
6月22日04:31:38kubem1。 * * * * kubelet [7275]:E0622 04:31:38.894157 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:452:リストに失敗しました* v1.Service:Get https:/ /10.169.150.123:6443 / api / v1 / services?limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました
6月22日04:31:38kubem1。 * * * * kubelet [7275]:E0622 04:31:38.947002 7275reflection.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47:v1.Podの一覧表示に失敗し* * * * &limit = 500&resourceVersion = 0:ダイヤルtcp 10.169.150.123:6443:getsockopt:接続が拒否されました

/etc/resolve.confも追加しました

[ root @ kubem1〜 ]

NetworkManagerによって生成されます

ドメイン<>

検索<>

ネームサーバー<>

ネームサーバー<>

ネームサーバー8.8.8.8
ネームサーバー8.8.4.4

このファイルにエントリを追加する必要がありますか?

証明書をインポートする必要がありますか?

私はプロキシ環境にいます

また、以下を試してみました、

kubeadmリセット
systemctlデーモン-リロード
systemctl restart docker.service
systemctl stop kubelet.service

以下の画像は、Dockerを介してプルすることができませんでした。

docker pull k8s.gcr.io/kube-apiserver-amd64:v1.10.3
docker pull k8s.gcr.io/kube-controller-manager-amd64:v1.10.3
docker pull k8s.gcr.io/kube-scheduler-amd64:v1.10.3
docker pull k8s.gcr.io/etcd-amd64:3.1.12

kinbug prioritimportant-longterm

最も参考になるコメント

ここにspec.nodeName=kubem1.*****************が表示されますが、これは編集済みのFQDNのようです。 一方、DNS構成では、ドメイン検索ディレクティブがないようです。

Google DNSサーバーはネットワークでも許可されていますか? 詳細については、ローカルネットワーク管理者に問い合わせる必要がある場合があります。

さらに、 docker pullが失敗している場合は、DNSの問題が原因である可能性があります。 docker pullが失敗するエラーは何ですか?

k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list v1.Pod: Get https://10.169.150.123:6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1.*****************&limit=500&resourceVersion=0: dial tcp 10.169.150.123:6443: getsockopt: connection refused

全てのコメント4件

ここにspec.nodeName=kubem1.*****************が表示されますが、これは編集済みのFQDNのようです。 一方、DNS構成では、ドメイン検索ディレクティブがないようです。

Google DNSサーバーはネットワークでも許可されていますか? 詳細については、ローカルネットワーク管理者に問い合わせる必要がある場合があります。

さらに、 docker pullが失敗している場合は、DNSの問題が原因である可能性があります。 docker pullが失敗するエラーは何ですか?

k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list v1.Pod: Get https://10.169.150.123:6443/api/v1/pods?fieldSelector=spec.nodeName%3Dkubem1.*****************&limit=500&resourceVersion=0: dial tcp 10.169.150.123:6443: getsockopt: connection refused

github'spec.nodeName = kubem1に投稿するためにこれを編集しました。 * * * * * '

GoogleDNSは私たちのネットワークでは許可されていません。

Dockerプルは残りのイメージに対して機能しますが、「dockerpullk8s.gcr.io/kube-apiserver-amd64:v1.10.3」のプルは機能しません。

設定ファイルに変更を加える必要がある場合はお知らせください。

/ assign @liztio

確実な再現手順がないため、この問題を解決します。
それでも問題が解決しない場合は、再度開いてください。

このページは役に立ちましたか?
0 / 5 - 0 評価