Kubernetes的多租户
参考资料
名字空间
名字空间将对象分割成独立的组,为对象名字提供了作用域,名字在不同的名字空间可以是相同的。名字空间对正在运行的对象不提供任何隔离,名字空间之间是否提供网络隔离取决于 Kubernetes 所使用的网络解决方案。
查看当前集群中的所有名字空间
$ kubectl get namespaces
NAME STATUS AGE
default Active 379d
kube-node-lease Active 379d
kube-public Active 379d
kube-system Active 379d
kubernetes-dashboard Active 377d
创建名字空间
$ kubectl create namespace kubia
namespace/kubia created
apiVersion: v1
kind: Namespace
metadata:
name: kubia
$ kubectl apply -f kubia-namespace.yaml
namespace/kubia created
查看新创建的名字空间,ns 是 namespace 的缩写。
$ kubectl get ns kubia
NAME STATUS AGE
kubia Active 35s
容器的本质是一种特殊的进程
Linux Namespace
Linux Cgroups - Linux Control Group
作用:限制一个进程组能够使用的资源上限,包括 CPU、内存、磁盘、网络带宽等等。
查看Cgroups限制的资源各类
在 Linux 中,Cgroups 给用户暴露出来的操作接口是文件系统,即它以文件和目录的方式组织在操作系统的 /sys/fs/cgroup 路径下。可以用 mount 指令把它们展示出来。