web-dev-qa-db-ja.com

kubeadm initエラーCPU 1が必要なものより少ない2

誰かがこのエラーを助けてくれますか? CentOS 7にKubernetesをインストールするには、さまざまなリンクをたどっていますが、kubadm initコマンドを実行すると、このエラーが発生し続けます。

[ERROR NumCPU]: the number of available CPUs 1 is less than the required 2               

これが何を意味するのか本当にわかりません。スレーブノードのIPを/ etc/hosts /ファイルに入れました。私は何か他のことをすることになっていますか?おそらくノードを設定ファイルに追加しますか?これらは私がたどったリンクとステップです。

https://www.linuxtechi.com/install-kubernetes-1-7-centos7-rhel7/https://github.com/justmeandopensource/kubernetes/blob/master/docs /install-cluster.mdhttps://www.tecmint.com/install-kubernetes-cluster-on-centos-7/

2
Brandon Koenig

これが発生している理由は、Kubernetesをインストールするハードウェアに十分なリソースがないためです。 Kubernetesコミュニティの開発者は、2つ未満のCPUコアでKubernetesを実行することは推奨されないことに相互に同意しています。

これは、Kubernetesを実行するために、ある程度のオーバーヘッドを考慮する必要があるためです。また、その際、システムの処理能力が非常に小さい場合は、アプリケーションを同時に適切に実行することができません。

@Arghyaは正しいです。ソフトウェアをインストールする前にハードウェアの機能を評価するプリフライトチェックを無視することで、これを回避することを選択できます。しかし、これは私が上で説明したもののため、お勧めできません。

CPUコアとKubernetesおよびLinux Containersの関係について詳しく知りたい場合は、次のドキュメントが非常に役立ちます。簡単に言えば、Linuxコンテナは、カーネル 名前空間 と呼ばれるものによってオペレーティングシステムの残りの部分から分割されたプロセスです。さらに、このプロセスには Control Groups を使用することで、消費できるメモリとCPUの量に関する制限または要件が設定される場合があります。

Kubernetesで Linux Container を実行すると、Kubernetes APIサーバーは、利用可能なリソースに基づいて、ワーカーノードのポッドをスケジュールします。たとえば、ポッドが200mのCPUを必要とする場合、ハードウェアの20%がその上で実行されている単一のプロセスにすでに割り当てられています。これがソフトウェアの実行に必要なオーバーヘッドにどの程度影響する可能性があるか確認してください。 Kubernetes自体は、実行するためだけに6ポッドをプロビジョニングします。これらすべてに、CPU制限と要求が指定されています。

ここ は、Linux cgroupでコンテナー化されたプロセスにCPUリソースがどのように適用されるかについて詳しく知りたい場合に適したドキュメントです。

0
TJ Zimmerman