前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s1.12以上版本设置LXCFS

k8s1.12以上版本设置LXCFS

作者头像
SY小站
发布2020-06-15 11:47:35
9060
发布2020-06-15 11:47:35
举报
文章被收录于专栏:SY小站的专栏SY小站的专栏

1. 前言

上一篇文章,我们介绍了,k8s1.12之前的版本怎么使用lxcfs,k8s1.12以下版本设置LXCFS

先说下为什么需要使用lxcfs,首先容器获取不到真实内存与cpu,假设一个宿主机是384G内存的服务器,容器java应用配置了jvm参数,配额4G,但是堆内存确是按照了384G去分,这样产生的后果就会很大了。

lxcfs的挂载有很多方式,可以podpreset,直接挂载等,下面我们来介绍下怎么直接挂载。

2. 使用k8s Daemonsets设置lxcfs

代码语言:javascript
复制
apiVersion: apps/v1beta2
kind: DaemonSet
metadata:
  name: lxcfs
  namespace: default
  labels:
    app: lxcfs
spec:
  selector:
    matchLabels:
      app: lxcfs
  template:
    metadata:
      labels:
        app: lxcfs
    spec:
      hostPID: true
      tolerations:
      - key: node-role.kubernetes.io/master
        effect: NoSchedule
      containers:
      - name: lxcfs
        image: registry.cn-hangzhou.aliyuncs.com/denverdino/lxcfs:3.0.4
        imagePullPolicy: Always
        securityContext:
          privileged: true
        volumeMounts:
        - name: cgroup
          mountPath: /sys/fs/cgroup
        - name: lxcfs
          mountPath: /var/lib/lxcfs
          mountPropagation: Bidirectional
        - name: usr-local
          mountPath: /usr/local
      volumes:
      - name: cgroup
        hostPath:
          path: /sys/fs/cgroup
      - name: usr-local
        hostPath:
          path: /usr/local
      - name: lxcfs
        hostPath:
          path: /var/lib/lxcfs
          type: DirectoryOrCreate         

3. 例子

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    "initializer.kubernetes.io/lxcfs": "true"
  labels:
    app: web
  name: web
spec:
  replicas: 1
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
        - name: web
          image: httpd:2.4.32
          volumeMounts:
            - name: cpuinfo
              mountPath: /proc/cpuinfo
            - name: meminfo
              mountPath: /proc/meminfo
            - name: diskstats
              mountPath: /proc/diskstats
            - name: stat
              mountPath: /proc/stat
            - name: swaps
              mountPath: /proc/swaps
            - name: uptime
              mountPath: /proc/uptime
          imagePullPolicy: Always
          resources:
            requests:
              memory: "1024Mi"
              cpu: "100m"
            limits:
              memory: "1024Mi"
              cpu: "100m"

      volumes:
      - name: cpuinfo
        hostPath:
          path: /var/lib/lxcfs/proc/cpuinfo
          type: File
      - name: meminfo
        hostPath:
          path: /var/lib/lxcfs/proc/meminfo
          type: File
      - name: diskstats
        hostPath:
          path: /var/lib/lxcfs/proc/diskstats
          type: File
      - name: stat
        hostPath:
          path: /var/lib/lxcfs/proc/stat
          type: File
      - name: swaps
        hostPath:
          path: /var/lib/lxcfs/proc/swaps
          type: File
      - name: uptime
        hostPath:
          path: /var/lib/lxcfs/proc/uptime
          type: File
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SY技术小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2. 使用k8s Daemonsets设置lxcfs
  • 3. 例子
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档