一、kubernetes概述
1、kubernetes基本介绍
kubernetes,简称 K8s,是用 8 代替 8 个字符“ubernete”而成的缩写
kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效
2、kubernetes 功能和架构
2.1 K8s 功能
-
自动装箱
对应用运行环境的资源进行配置后要求自动部署应用容器
-
自我修复
当容器失败时,会对容器进行重启
当所部署的node节点有问题时,会对容器进行重新部署和调度
-
水平扩展
通过简单的命令、用户 UI 界面或基于 CPU 等资源使用情况,对应用容器进行规模扩大或规模剪裁
-
服务发现
用户不需使用额外的服务发现机制,就能够基于 Kubernetes 自身能力实现服务发现和负载均衡
-
滚动更新
-
版本回退
可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退
-
密钥和配置管理
-
存储编排
-
批处理
2.2 应用部署架构分类
(1) 无中心节点架构
GlusterFS
(2) 有中心节点架构
HDFS
K8S
2.3 k8s 集群架构
Master Node : k8s 集群控制节点,对集群进行调度管理,接受集群外用户去集群操作请求
- API server:集群统一入口,以restful方式,交给etcd存储
- schedule:节点调度,选择node节点应用部署
- Controller Manager:处理集群中常规后台任务,一个资源对应一个控制器
- etcd: 存储系统,保存集群中相关的数据
Worker Node:集群工作节点,运行用户业务应用容器
- kubelet:master派到worker的节点代表,管理本机容器
- kube-proxy:提供网络代理,实现负载均衡操作
K8s核心概念
1、pod
- 最小部署单元
- 一组容器的集合
- 共享网络
- 生命周期是短暂的
2、controller
- 确保预期的pod副本数量
- 确保所有的node运行同一个pod
- 一次性任务和定时任务
3、service
- 定义一组pod的访问规则