Kubernetes介绍

介绍了Kubernetes是什么,基本原理,基本架构,和业内使用Kubernetes的一些案例。
展开查看详情

1.Kubernetes 介绍 王志彬 @ 思源科技 云 服务中心

2.更好的姿势

3.一 Kubernetes 是什么? 目录 三 二 Kubernetes 总体架构 五 业界应用案例介绍 四 Kubernetes 核心原理 Kubernetes 主要概念 六 在思源落地

4.Kubernetes 是什么? Kubernetes 是 Google 开源的 容器集群管理系统 ,其提供应用部署、维护、 扩展机制等功能,利用 Kubernetes 能方便地管理跨机器运行容器化的应用,其主要功能如下 : 使用 Docker 对应用程序包装 (package) 、实例化 (instantiate) 、运行 (run) 。 以集群的方式运行、管理跨机器的容器 。 解决 Docker 跨机器容器之间的通讯问题 。 Kubernetes 的自我修复机制使得容器集群总是运行在用户期望的状态 。 http://kubernetes.io/

5.Kubernetes 是什么? “轻装上阵”地开发 复杂系统; 方便 地管理跨机器运行容器化的 应用; 全面拥抱微服务架构; 微服务架构的核心是将一个巨大的单体应用分解为很多小的互相连接的微服务,谷歌将微服务架构的基础设施直接打包 k8s 解决方案中。 Kubernetes 系统架构具备了超强的横向扩容能力 。 不修改 代码,一个 Kubernetes 集群即可从只包含几个 Node 的小集群平滑扩展到拥有上百个 Node 的大规模 集群。

6.Kubernetes 主要概念 Pods 是连接在一起的容器组合并共享文件卷。它们是最小的部署单元,由 Kubernetes 统一创建、调度、管理。 Pods 是可以直接创建的,但推荐的做法 是使用 Replication Controller ,即使是创建一个 Pod 。 Replication controllers 管理 Pods 的生命周期。它们确保指定数量的 Pods 会一直运行,通过创建和杀掉 Pods 可以保证到这个效果。 Labels 它被用来管理和选取基于键值对为基础的对象组。 Services 提供独立、可靠名称和地址的 Pods 集合。它就像一个基础版本的负载均衡器 。 Node 相对 master 是工作主机,较早版本也叫 Minon ,物理机、虚拟机均可; kubelet 、 kube -proxy 、 docker daemon ;相当于 openstack 中的计算节点。 Namespace 不同的 namespace 形成逻辑上不同的项目或用户组。 Volume 是 Pod 中被多个容器访问的共享目录。支持 EmptyDir 、 hostPath 、 gcePersistenDisk 、 awsElasticBlockStore 、 nfs 、 iscsi 等等。

7.Kubernetes 总体架构

8.Kubernetes 核心原理 ——API Server API Server 提供集群管理的 API 接口; api -server 进程提供 http(8080)/https(6443) 两个端口供访问; 成为集群内各个功能模块之间数据交互和通信的中心枢纽;

9.Kubernetes 核心原理 ——API Server 并拥有完备的集群安全机制 ; Authentication 认证 Authorization 授权 Admission Control 准入控制 Secret 私密凭据 Service Account

10.Kubernetes 核心原理 —— 调度控制

11.Kubernetes 核心原理 —— 调度控制 Replication Controller 确保在任何时候集群中一个 rc 下的 pod 都保持一定数量的 pod 副本处于正常运行状态。 重新调度、弹性伸缩。 滚动更新( Rolling Updates ) Node Controller 负责发现、管理和监控集群中的各个 Node 节点。 ResourceQuota Controller 资源配额管理确保制定对象在任何时候都不会超量占用系统资源。 三个维度配额:容器( C/M )、 Pod 、 namespace ( pod 、 rc 、 service 、 resourceQuota 、 Secret 、 PV )

12.Kubernetes 核心原理 —— 调度控制 Namespace Controller 负责 namespace 的全局管理 ServiceAccount \Token Controller 安全相关的控制器 Service\Endpoint Controller

13.Kubernetes 核心原理 —— 调度控制 Scheduler 负责 Pod 调度 通过调度算法为待调度 Pod 列表的每个 Pod 从 Node 列表中选择一个最合适的 Node 。 预选策略: NoDiskConflict PodFitsResources PodSelectorMatches PodFitsHost CheckNodeLabel … …..

14.Kubernetes 核心原理 —— Kubelet 工作机制 Kubelet 机制 节点管理,向 API Server 注册自己 Pod 管理,通过 API Server 监听 etcd 目录,同步 pod 清单,增加、删除、修改 pod ; 通过 LivenessProbe 和 ReadinessProbe 的方式对容器做健康检查; cAdvisor 资源监控,默认节点 4194 端口; http :// XXX.XXX.XXX.XXX :4194/containers /

15.Kubernetes 核心原理 —— 网络原理 容器到容器通信,共享网络空间; 同 Node 上 pod 间通信,通过 docker0 网桥; 不同 Node 上 pod 间通信?

16.Kubernetes 核心原理 —— 网络原理 从 IP1 到 IP2 我们选 Flannel 解决方案

17.Kubernetes 核心原理 网络模式的性能对比

18.业界应用案例 介绍 —— 选型

19.业界应用案例 介绍 —— 网易蜂巢

20.业界应用案例 介绍 ——HP PAAS 平台

21.业界应用案例 介绍 ——SAE 容器云

22.在思源 落地

23.在思源 落地 http ://XXX.XXX.XXX.XXX:30002 /#/replicationcontrollers

24.在思源 落地 http ://XXX.XXX.XXX.XXX:8080/api/v1/proxy/namespaces/default/services/kube-ui /#/dashboard/

25.Q&A

26.THANK YOU www.syswin.com