• Kubernetes 使用大页


    什么是大页面?

    当一个进程使用一些内存时,CPU标记该进程使用的RAM。为了 高效,CPU接4K字节按块分配(许多平台默认)。这些块成为页面。由于进程地址空间是虚拟的,因此CPU和OS必须记住那个页面属于哪个进程,使用了更多的内存,需要管理更多的页面。为了避免对页面进行繁重的调度,大多数当前的CPU体系结构都支持大于4KB的页面,在Linux上,它称为巨大页面。

    Kubernetes

    如今,我们处于容器化领域,Kubernetes用一个基于自动化的部署,扩展和管理的开源容器编排系统。但是在我们的例子中,某些需要巨大页面能力的应用程序就是DPDK。

    那么我们可以在kubernetes中使用大页面吗?

    根据官方描述,如果kubernetes版本>=1.10,则默认启动HugePages,否则你必须自己启用它。

    登录到你的Kubernetes节点机器。打开并编辑/etc/default/kubelet此文件,找到--feature-gates=这些文本,添加一些文本以使其看起来像--feature-gates=HugePages=true

    systemctl daemon-reload
    systemctl restart kubelet
    

    然后进行下一步

    mkdir -p /mnt/huge
    mount -t hugetlbfs nodev /mnt/huge
    # 1024 is the total number of hugepages, you can using others value as you need
    echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
    

    现在登录master,并使用kubectl describe nodes检查是否启用了大页面。你可能会看到类似下面的内容

    apiVersion: v1
    kind: Node
    metadata:
      name: node1
    # ignore...
    status:
      capacity:
        memory: 10Gi
        hugepages-2Mi: 1Gi
      allocatable:
        memory: 9Gi
        hugepages-2Mi: 1Gi
    # ignore...  
    

    一个示例Pod

    apiVersion: v1
    kind: Pod
    metadata:
      name: example
    spec:
      containers:
    # use the image you like
        volumeMounts:
        - mountPath: /hugepages
          name: hugepage
        resources:
          requests:
            hugepages-2Mi: 1Gi
          limits:
            hugepages-2Mi: 1Gi
      volumes:
      - name: hugepage
        emptyDir:
          medium: HugePages
    
  • 相关阅读:
    ssh登陆报错“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!”的解决方法
    python错误:SyntaxError: invalid character in identifier
    Python3中出现UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)的解决方法
    Jmeter在Mac下安装教程
    TensorFlow | win10下使用docker安装tensorflow
    Docker | 删除 image 失败的一种情况
    基础技能 | Git
    Leetcode-探索 | 两数之和
    Leetcode-探索 | 移动零
    基础复习-算法设计基础 | 复杂度计算
  • 原文地址:https://www.cnblogs.com/Bjwf125/p/14633112.html
Copyright © 2020-2023  润新知