kubernetes vps
Kubernetesワーカーノード
クラスター経済はインスタンスあたりのコストではなく、専用コアあたりのコストで決まります。EPYC Bergamoは、コンテナ化されたサービスに十分なクロックで1ソケットに128コアを提供します。そのためTORQUEは、当社の全範囲で真に専用のコアを購入する最も安価な方法です。TalosとFlatcarのイメージは事前に構築されており、プライベートVLANがポッドトラフィックをegress課金なしで運びます。
この構成の理由
TORQUEは、構築可能な最低のコアあたり価格で専用コアを提供します。コントロールプレーンを1つに、ワーカーを残りに配置し、プライベートVLANで接続して、クラスター内トラフィックがパブリックインターフェースや帯域幅許容量に触れないようにします。
当社がデプロイする構成
サイジング
クラスターをインスタンスごとではなく専用コアごとに価格設定します。TORQUE Bergamoは高密度の実コアを提供するため、4コア・8 GBの3ノードコントロールプレーンは約100ワーカーを処理できます。ワーカーをサイズ設定して、1つ失っても容量の3分の1未満のコストになるようにします。5つの16コアノードは、2つの40コアノードよりも優れています。kubelet、containerd、CNI用にノードごとに1コアと2 GBを確保してから、割り当て可能を数えます。8コア未満では、ノードはシステムデーモンに自身の多くを費やします。
Talosと、それに伴って排除されるもの
Talosは48イメージの1つであり、ノードドリフトのカテゴリ全体を排除します。シェル、SSH、パッケージマネージャーはありません。構成はAPI経由でマシン構成として到着し、ルートファイルシステムは不変で検証済みです。実際には、これはノードの再構築がノードの修復よりも安価になることを意味し、これはワーカーにとって正しい姿勢です。中央値のプロビジョニング47秒により、これはスローガンではなく現実的なワークフローになります。マシン構成をマニフェストと同じリポジトリに保持し、talosctlでアップグレードを適用し、手動の注意を必要とするノードは交換対象として扱います。
プライベートVLANとコアあたりのコスト
Kubernetesは、オペレーターが予想するよりもはるかに多くの東西トラフィックを生成します。サービスメッシュサイドカー、CSIレプリケーション、etcd、メトリクススクレイプ、およびすべてのクロスノードポッド呼び出しです。これをプライベートVLANに配置すると、パブリックインターフェース、DDoSスクラビングパス、およびCNIを列挙できるものから分離されます。また、ノードネットワークが外部から到達不能になるため、NetworkPolicyも簡素化されます。コスト面では、専用Bergamoコアはスチールタイムやノイジーネイバーを意味せず、リクエストが現実と一致します。年間請求で30%オフ、10サーバーから10%のフリート割引が積み重なるため、コアあたりの数字は予算化するのに十分予測可能です。
問題点
- etcdを都市間で分散させる。etcdは一桁ミリ秒のfsyncレイテンシとクォーラムRTTが約10 ms未満である必要があります。3つのメンバーすべてを1つのメトロに維持し、ワーカーのみを分散させます。
- システム予約を忘れる。kube-reservedとsystem-reservedを設定しないと、スケジューラーはノードを公称メモリまで詰め込み、kubeletは受け入れたばかりのポッドを退去させ始めます。
- パブリックアドレスでポッド間トラフィックを実行する。パブリックNIC上のオーバーレイトラフィックはデフォルトで暗号化されておらず、egressパスにカウントされ、CNIポートを露出します。プライベートVLANに配置してください。
マシンを調整
- アドレスとトランジット — サーバー間のプライベートVLAN · €6
- CPUスケジューリング — Pinned physical cores · €9
- その他 — Second-resolution metrics + alerting · €5