私は仮想マシンでKubernetesを実行しており、基本的なチュートリアルを現在行っています PHP/Redis Guestbook example)にロギングとメトリックを追加 。私はインストールしようとしていますkube-state-metrics:
git clone https://github.com/kubernetes/kube-state-metrics.git kube-state-metrics
kubectl create -f kube-state-metrics/kubernetes
しかし失敗します。
kubectl describe pod --namespace kube-system kube-state-metrics-7d84474f4d-d5dg7
...
警告異常な28m(x8が30mを超える)kubelet、kubernetes-node1準備プローブが失敗しました:Get http://192.168.129.102:8080/healthz :dial tcp 192.168.129.102:8080:connect:connection refused
kubectl logs --namespace kube-system kube-state-metrics-7d84474f4d-d5dg7 -c kube-state-metrics
I0514 17:29:26.980707 1 main.go:85]デフォルトのコレクターの使用
I0514 17:29:26.980774 1 main.go:93]すべての名前空間を使用
I0514 17:29:26.980780 1 main.go:129] metric white-blacklisting:blacklisting the following items:
W0514 17:29:26.980800 1 client_config.go:549] --kubeconfigも--masterも指定されていません。 inClusterConfigを使用します。これは機能しない可能性があります。
I0514 17:29:26.983504 1 main.go:169]サーバーとの通信のテスト
F0514 17:29:56.984025 1 main.go:137]クライアントの作成に失敗しました:apiserverとの通信エラー:Get https://10.96.0.1:443/version?timeout=32s =:tcp 10.96.0.1:443をダイヤル:I/Oタイムアウト
この10.96.0.1 IPが正しいかどうかはわかりません。私の仮想マシンは、ブリッジネットワーク10.10.10.0/24およびホストオンリーネットワーク192.168.59.0/24にあります。 Kubernetesを初期化するときに、引数--pod-network-cidr=192.168.0.0/16
を使用したので、これが予想されるもう1つのIP範囲です。しかし、10.96.0.1は見慣れないものに見えます。
私はKubernetesを初めて使用するので、基本的なチュートリアルを行っているだけなので、今何をしたらよいかわかりません。それを修正する方法またはさらに調査するには?
編集-追加情報:
kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
kubernetes-master Ready master 15d v1.14.1 10.10.10.11 <none> Ubuntu 18.04.2 LTS 4.15.0-48-generic docker://18.9.2
kubernetes-node1 Ready <none> 15d v1.14.1 10.10.10.5 <none> Ubuntu 18.04.2 LTS 4.15.0-48-generic docker://18.9.2
kubernetes-node2 Ready <none> 15d v1.14.1 10.10.10.98 <none> Ubuntu 18.04.2 LTS 4.15.0-48-generic docker://18.9.2
クラスターの初期化に使用したコマンド:
Sudo kubeadm init --apiserver-advertise-address=192.168.59.20 --pod-network-cidr=192.168.0.0/16
この理由はおそらく、ポッドネットワークとNode network-が重複しているためです。ポッドネットワークCIDRを192.168.0.0/16に設定します。これは、アドレスが192.168であるため、ホストオンリーネットワークが含まれます。 59.0/24。
これを解決するには、ポッドネットワークのCIDRを192.168.0.0/24(に変更します。これにより、ポッドネットワークに255のアドレスのみが提供されるため、お勧めしません)
Calicoに別の範囲を使用することもできます。実行中のクラスターで実行する場合は、ここに 手順 を指定します。
また、私が試した他の方法:
calicoを編集 manifest を別の範囲に(たとえば10.0.0.0/8)-Sudo kubeadm init --apiserver-advertise-address=192.168.59.20 --pod-network-cidr=10.0.0.0/8)
とinitの後に適用します。
別の方法は、Flannel(10.244.0.0/16を使用)のような異なるCNIを使用することです。
CNIプラグインの範囲に関する詳細情報 こちら をご覧ください。