kubernetes in action读书笔记之基本概念,pod以及如何管理pod
why kubernetes
无论是和原先的计算调度集群hadoop相比,或是在早先的操作系统虚拟化技术对比,都具备一定优势,脱离了对单个虚拟机的配置和管理,同时也避免了虚拟机对操作系统的资源浪费。
关于容器在环境配置方面的便利性,举个例子,一个应用只能在某个特定版本的内核上运行,通过镜像就能成本很低的管理,而如果是虚拟机就得用户自己来管理。(不同硬件架构的应用情况除外,比如一个x86编译出来的应用想在arm上跑起来)
在实际应用中也不用考虑应用和节点间的关系,如果有特殊的应用比如对io或者带宽占用比较大的应用,也能通过几行配置来搞定。
容器的隔离机制
linux提供了两种方式,命名空间或者cgroup,通过这两种方式可以对进程的资源进行限制,比如cpu/内存/磁盘io等等。docker通过cgroup来实现进程资源的隔离。
关于docker在基本应用中需要注意的问题
- docker build的目录里不要放其他七七八八的东西,会让构建过程很慢
- dockerfile中每一条单独的指令都会创建一个新层
- docker run的时候可以通过-p来实现容器内外的端口映射
- 通过docker exec命令可以进入可容器内
关于pod
kubernetes的所有对象都是围绕对pod的管理
一个pod是一组关系紧密的container(容器),运行在同一个node上,