1.1 K8S简介
Kubernetes简称k8s,是Google开源的一个跨主机集群的容器调度平台,它可以自动化应用容器的部署、扩展和操作 , 提供以容器为中心的基础架构。
1.2 K8S特点
- 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
- 可扩展: 模块化,插件化,可挂载,可组合
- 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展
1.3 K8S常用对象
- pod
- Pod是最小部署单元
- 一个Pod由一个或多个容器组成,是一组容器的集合
- Pod中的容器共享存储和网络,如果一个容器监听了80端口,那么这个Pod里面的其它容器也可以监听到这个80端口。
- 生命周期是短暂的,如果服务器重启了,重新部署,那么这个Pod就找不到了,又是一个新的
- controller
- 管理pods,可以确保pod健康,确定并动态调整pod 在集群中中运行的数量,即确保预期的Pod的副本数量
- 无状态应用部署:不依赖磁盘,网络ip不要求唯一等,就是拿过来就能用
- 有状态应用部署:需要依赖于磁盘,有网络ip唯一等要求,需要有特定的条件才可以使用
- 确保所有的node运行的是同一个Pod
- 在pod失败后重新调度新的pod启动
- 进行一些定时任务和一次性任务。
- service
Service作用是定义一组Pod的访问规则pod是非持久的,会不断的重启,导致pod的ip是随时变化的,同时pod的数量会是动态变化的,客户端很难和pod直接通讯,service是用来解决这一问题的。service 为提供同一服务的pods 提供了统一的入口,生命周期内其绑定ip是不会变化的。 - volume
数据卷,是Pod中能够被多个容器访问的共享目录。定义在Pod之上,被一个Pod里的多个容器挂载到具体的文件目录之下;与Pod生命周期相同。可以让一个Pod里的多个容器共享文件、让容器的数据写到宿主机的磁盘上或者写文件到 共享存储中。
1.4 组成
2022-02-07 15:47:39