Cgroups是control groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。最初由google的工程师提出,后来被整合进Linux内核。Cgroups也是LXC为实现虚拟化所使用的资源管理手段,可以说没有cgroups就没有LXC。
docker 是单个host上的容器技术。
Kubernetes 是用于管理多个host的容器技术,可以提供不同host上docker 容器的网络互通服务。kubernetes是管理container的工具,openstack是管理VM的工具。
container可以运行在物理机上,也可以运行在VM上。所以kubernetes不是需要openstack的支持。但对于云计算来说,很多IasS都通过openstack来管理虚拟机。然后用户可以在这些虚拟机上运行docker,可以通过kubernetes进行管理。
openstack不久的将来 会支持在管理自己虚拟机上的容器和网络。
是不是存在这样的多种(云)计算服务的形式:
部署在物理中的组件数据库 (物理网络 ),部署在VM中的LB组件(虚拟网络)和部署在容器中的 Client组件(容器网络)组成一个服务系统。如何规划这样的网络互通问题?
Linux 用户 nobody 用户组 nogroup
##
nobody就是一个普通账户,因为默认登录shell是 '/sbin/nologin',所以这个用户是无法直接登录系统的,
也就是黑客很难通过漏洞连接到你的服务器来做破坏。此外这个用户的权限也给配置的很低。因此有比较高的安全性。一切都只给最低权限。这就是nobody存在的意义。nobody 对应的组是nogroup 。而root的id 都是0
## 查看其ID ,centos是99, ubuntu 是66534
[root@sdnc1 ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
uid=99(nobody) gid=99(nobody) groups=99(nobody)
root@openstack:~# id nobody
uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
[root@sdnc1 ~]# id root
uid=0(root) gid=0(root) groups=0(root)
uid=0(root) gid=0(root) groups=0(root)
root@openstack:~# id root
uid=0(root) gid=0(root) groups=0(root)