1. ホーム
  2. kubernetes

Kubernetesのサイズ定義。Gi」と「G」の違いとは?

2023-12-25 08:20:05

質問

Kubernetesのテンプレートのyamlの定義を調べていたら、サイズの定義が違うことに遭遇しました。最初はapiVersionsのことかと思いましたが、同じです。では、その違いは何なのか?どちらも同じなのに、どちらが正しいのでしょうか?

storage: 5Gstorage: 5Gi

volumeClaimTemplates:
  - metadata:
      name: mongo-persistent-storage
    spec:
      resources:
        requests:
          storage: 2Gi

は、詳しくはこちらをご覧ください。 https://github.com/cvallance/mongo-k8s-sidecar/blob/master/example/StatefulSet/mongo-statefulset.yaml

とこちらも

 volumeClaimTemplates:
 - metadata:
     name: mongo-persistent-storage
   spec:
     resources:
       requests:
         storage: 5G

ここで詳しく https://github.com/openebs/openebs/blob/master/k8s/demo/mongodb/mongo-statefulset.yml

どのように解決するのですか?

から Kubernetesのソース :

<ブロッククオート

メモリの制限や要求はバイト単位で表されます。メモリを表すには を使用した固定小数点整数として表現することができます。 これらの接尾辞を使用します。e, p, t, g, m, k。 2 のべき乗を使うこともできます。 等価 : Ei, Pi, Ti, Gi, Mi, Kiです。例えば、次のように を表す おおよそ が同じ値であることを表しています。

128974848, 129e6, 129M, 123Mi

user2864740さんのコメントのように、これらは "bibyte"の対応表なのですね。

A リトルインフォメーション を、その桁数に応じて

<ブロッククオート

キビバイトは、キロバイトという用語が 1024 を意味するコンピュータ科学の文脈で、キロバイトに代わるものとして設計されました。 キロバイトという用語が 1024 バイトを意味するために使用されるコンピュータ科学の文脈で、キロバイトに代わるものとして設計されました。 バイトを意味します。キロバイトの解釈は1024バイトを意味します。 SI の接頭辞キロ (1000) の定義と矛盾している。 以前は が一般的でした。

つまり、5Gは5ギガバイト、5Giは5ギビバイトを意味します。それらに相当します。

  • 5 g = 5000000 kb / 5000 mb
  • 5Gi=5368709.12キロバイト/5368.70メガバイト

したがって、サイズという点では、両者は同じではありません。