胡伟煌

个人博客

Cgroup目录

1. cgroup的目录 /sys/fs/cgroup/ 12345678910111213141516$ ll /sys/fs/cgroup/总用量 0drwxr-xr-x 6 root root 0 2月 18 14:31 blkiolrwxrwxrwx 1 root root 11 2月 18 14:25 cpu -> cpu,cpuacctlrwxrwxrwx 1 roo......

Cgroup介绍

1. cgroup简介 Linux Cgroup提供了对一组进程及将来子进程的资源限制的能力。资源包括:CPU、内存、存储、网络等。通过Cgroup可以限制某个进程的资源占用,并监控进程的统计信息。 2. cgroup示例 1、创建一个hierarchy(cgroup树) 1234567891011121314# 创建一个 hierarchy 挂载点mkdir cgroup-test # 挂......

Kata容器简介

Kata-container简介 kata-container通过轻量型虚拟机技术构建一个安全的容器运行时,表现像容器一样,但通硬件虚拟化技术提供强隔离,作为第二层的安全防护。 特点: 安全:独立的内核,提供网络、I/O、内存的隔离。 兼容性:支持OCI容器标准,k8s的CRI接口。 性能:兼容虚拟机的安全和容器的轻量特点。 简单:使用标准的接口。 1. kata-container架构......

Namespace命令介绍

Namespace相关命令 1. unshare 让进程进入一个新的namespace。 12345678910111213141516171819202122232425$ unshare --help用法: unshare [options] <program> [<argument>...]Run a program with some namespaces u......

Cgroup命令介绍

cgroup常用命令 1. cgcreate 12345678910$ cgcreate --helpUsage: cgcreate [-h] [-f mode] [-d mode] [-s mode] [-t <tuid>:<tgid>] [-a <agid>:<auid>] -g <controllers>:<path&g......

Namespace介绍

1. Namespace简介 Namespace是内核的一个功能,用来给进程隔离一系列系统资源(视图隔离)。 2. 类别 namespace类别 隔离资源 系统调用参数 内核版本 Docker中的例子 Mount namespace 挂载点 CLONE_NEWNS 2.4.19 独立的挂载点 UTS Namespace hostname和domainname CLONE_N......

Lxcfs资源视图隔离

1. 资源视图隔离 容器中的执行top、free等命令展示出来的CPU,内存等信息是从/proc目录中的相关文件里读取出来的。而容器并没有对/proc,/sys等文件系统做隔离,因此容器中读取出来的CPU和内存的信息是宿主机的信息,与容器实际分配和限制的资源量不同。 123456/proc/cpuinfo/proc/diskstats/proc/meminfo/proc/stat/proc/......

k8s多集群管理的思考

k8s多集群的思考 1. 为什么需要多集群 1、k8s单集群的承载能力有限。 Kubernetes v1.21 支持的最大节点数为 5000。 更具体地说,Kubernetes旨在适应满足以下所有标准的配置: 每个节点的 Pod 数量不超过 100 节点数不超过 5000 Pod 总数不超过 150000 容器总数不超过 300000 参考:https://kubernetes.io/......

Macvlan介绍

1. 简介 macvlan可以看做是物理接口eth(父接口)的子接口,每个macvlan都拥有独立的mac地址,可以被绑定IP作为正常的网卡接口使用。通过这个特性,可以实现在一个物理网络设备绑定多个IP,每个IP拥有独立的mac地址。该特性经常被应用在容器虚拟化中(容器可以配置macvlan的网络,将macvlan interface移动到容器的namespace中)。 示意图: 2. 四......
CNI

CNI接口介绍

1. CNI(Container Network Interface) CNI(Container Network Interface)即容器网络接口,通过约定统一的容器网络接口,从而kubelet可以通过这个标准的API来调用不同的网络插件实现不同的网络功能。 kubelet启动参数–network-plugin=cni来指定CNI插件,kubelet从--cni-conf-dir (默认......
CNI