0

プライベート クラウド (OpenStack) 上にいくつかの VM があります。マスター ノードでクラスターを作成しようとすると、デフォルトでプライベート IP でクラスターが開始されます。--apiserver-advertise-address=publicIPフラグを使用して、マスター ノードのパブリック IP に基づいてクラスターを開始しようとすると、エラーが発生します。

開始フェーズは次のように停止します。

[wait-control-plane] kubelet がディレクトリ「/etc/kubernetes/manifests」から静的 Pod としてコントロール プレーンを起動するのを待機しています。これには最大 4m0 秒かかる場合があります [kubelet-check] 40 秒の初期タイムアウトが経過しました。

内部からは VM のパブリック IP が表示されない (「ip addr」を実行している) ことに気付きましたが、VM はパブリック IP を介して到達可能です。

ノードの「パブリック IP」の上に Kubernetes クラスターをセットアップする方法はありますか?

4

1 に答える 1

1

プライベート IP アドレスはインスタンス間の通信に使用され、パブリック アドレスはインターネットを含むクラウド外のネットワークとの通信に使用されます。そのため、プライベート アドレスにのみクラスタをセットアップすることをお勧めします。

インスタンスを起動すると、インスタンスを明示的に終了するまで同じままのプライベート IP アドレスが自動的に割り当てられます。インスタンスを再起動しても、プライベート IP アドレスには影響しません。

クラウド管理者によって構成されたフローティング IP アドレスのプールは、OpenStack Compute で使用できます。プロジェクト クォータは、プロジェクトに割り当てることができるフローティング IP アドレスの最大数を定義します。

このエラーは、次の原因で発生する可能性があります。

  • kubelet が実行されていません
  • 何らかの方法でノードの構成が誤っているため、kubelet が異常です (必要な cgroup が無効になっています)。

systemd を搭載したシステムを使用している場合は、次のコマンドを使用してエラーのトラブルシューティングを試みることができます。

  • systemctl ステータス kubelet
  • journalctl -xeu kubelet

クラスターをデプロイするマスター ノードの/etc/hostsファイルに、マシンのフローティング IP を追加して、インストールを再度実行してみてください。

于 2019-07-15T11:32:06.367 に答える