Kubernetes简介
kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。
Kubernetes是一个是Google开源容器编排引擎,用于自动化容器化应用程序的部署,扩展和管理。
Kubernetes的基本概念包括:
- 一个或多个工作节点(worker node)负责工作负载
- 一个或多个管理节点(master node)负责管理工作负载
- 将容器封装在名为Pod的部署单元,使用Pod为容器提供额外的元数据并且提供在单个部署实体中对多个容器进行分组的功能
- 创建特殊的资源。例如,服务表示一组Pod和访问策略,该访问策略允许容器没有特定的ip地址也能连接服务。复制控制器(Replication controllers)是另一种用于控制同一时间的Pod副本数量的特殊资源,可以使用此功能自动扩展应用程序以适应其当前需求。
Kubernetes的特点:
-
可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
-
可扩展: 模块化,插件化,可挂载,可组合
-
自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展
使用kebernetes能做什么?
能提供一个以“容器为中心的基础架构”,满足生产环境中的常见需求。
- 多个程序(作为热熔器)协同工作
- 存储系统挂载
- 负载均衡
- 滚动更新
- 资源监控
- 日志访问
- 调试应用程序
- 提供认证和授权
kebernetes调度的最小单元:pod
- pods是指在同一台主机上运行的一个或多个容器,它是定义、开发和部署的最小单位。
- pod都分配有自己的内部IP地址,因此拥有其整个端口空间,pod中的容器可以共享其本地存储和网络。
- pod的生命周期可以在容器退出时结束,也可以在容器退出后保留pods以方便访问容器日志。
- pod在运行过程中无法被修改,当需要修改时,需要先停止pod再根据修改后的配置文件和镜像重新创建pod。
- pod退出时不会保留状态,因此一般通过更高级的控制器管理pods而不是用户直接管理。
- 一个pod包含一组容器,一个容器不会跨越多个节点工作

kebernetes组件:Master、Node
- Master组件:提供集群的管理控制中心,可以在任何节点上运行,但为了简单起见,在一台上运行
- Node组件:节点组件主要运行在Node,提供kebernetes运行时环境,以及维护pod
kebernetes被使用的理由:
- 虚拟化模式下的应用部署模式

- 容器化模式下的应用部署模式

- 相比虚拟机和容器:
- 容器更加轻量级,启动更快(秒级)
- 容器可移植性更好
浙公网安备 33010602011771号