代码之家  ›  专栏  ›  技术社区  ›  Jan

kubernetes尺寸定义:“gi”和“g”有什么区别?

  •  4
  • Jan  · 技术社区  · 6 年前

    当我探索kubernetes模板的yaml定义时,我偶然发现了大小的不同定义。起初我以为是关于苹果的,但它们是一样的。那有什么区别呢?当两者相同时,哪个是对的?

    storage: 5G storage: 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

    3 回复  |  直到 6 年前
        1
  •  10
  •   Diego Victor de Jesus    6 年前

    来自Kubernetes来源( https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ )

    内存限制和请求以字节为单位。你可以表达 将内存作为普通整数或不动点整数使用 这些后缀:e,p,t,g,m,k。 你也可以使用两种力量 当量 :ei,pi,ti,gi,mi,ki。例如,下面 代表 粗略地 相同值:

    128974848、129E6、129M、123英里

    所以这些是“双字节”对应的,就像user2864740评论的那样。

    关于那些数量级的一些信息( https://en.wikipedia.org/wiki/Kibibyte )

    KiByByl被设计成代替那些计算机中的千字节。 术语千字节表示1024的科学上下文 字节。千字节表示1024字节的解释, 与前缀kilo(1000)的si定义冲突 ,习惯于 共同点。

        2
  •  5
  •   suren    6 年前

    确切地说,其中一个(g)是10的幂,而另一个(gi)是2的幂。所以,

    • 10^3是10的幂。结果是1000或1g
    • 2^10是2的幂。结果是1024或1gi
        3
  •  3
  •   Jakub    6 年前

    这些是不同的单位-其中一个在 Binary prefix 另一个在里面 Decimal prefix .

    简单地说,像m,g,t这样的单位是基于1000的10倍的幂。mi、gi、ti等单位是基于1024的2倍幂。