
「可観測性」の 1.23 GKE クラスターを見ると、メモリ使用量が 200% 以上になっています。内訳を見ると、そのほとんどは名前空間によるものでv2k-system
、私の知る限り GKE の内部です。なぜ、実際に要求するメモリの 2 倍以上を使用するのでしょうか。メモリを取得しようとして失敗するポッドが私にはありますが、これは v2k-system ポッドがすべてのメモリを占有しているためではないかと考えています。
答え1
はい、おっしゃる通り、100% 以上で GKE 内部です。
クラスター内のすべてのコンテナのメモリ使用量は、それらのコンテナの合計メモリ要求数で割られます。合計使用量が合計要求数を超えると、この値は 100% を超えることがあります。
メモリ使用率: 選択した期間内のリソースに起因するコンテナのメモリ使用率。
使用される指標はkubernetes.io/コンテナ/メモリ/リクエスト利用このメトリクスAPIは、自動スケーリングや同様のユースケースをサポートする基本的なメトリクスセットを提供します。このAPIは、CPUやメモリのメトリクスを含む、ノードとポッドのリソース使用状況に関する情報を提供します。メトリクスAPIクラスターに組み込むと、Kubernetes API のクライアントがこの情報を照会できるようになります。
使用可能なメモリには以下の 2 種類があります。
1)排除可能な記憶使用量が高くなりすぎるとリソースから削除されるメモリです。
2)排除不可能なメモリ使用量が制限を超えると、コンテナが終了される可能性があります。リソース制限の詳細については、を参照してください。 リクエストと制限問題の解決に役立つかもしれません。
コンテナは要求した量のメモリを持つことが保証されますが、制限を超えるメモリを使用することはできません。コンテナとポッドにメモリリソースを割り当てる詳細については。