Kubernetes概念介绍和v1版本部署过程
- 编排:跨Docker主机同一管理容器集群。
- 目的
- 简化开发和运维容器集群的工作。
- 让开发和运维能把这个系统当一台电脑看待。
- 特点:没有资源调度算法,只关注容器的管理。
Cluster,即集群:虚拟机或者物理机的一组集合,运行着Kubernetes
- ETCD
- 一个分布式强一致性的key/value存储
- 可理解为一个存储k8s信息的数据库
- Node
- 工作节点,运行Master节点交付的任务
- 能运行一个或多个Pods
- 运行的组件
- Kubelet
- 管理容器的守护进程
- 管理Docker主机来启动容器的管理程序
- 定期从etcd获取分配到本机的pod信息,启动或停止容器
- 接收apiserver的HTTP请求,汇报pod的运行状态
- Proxy
- 服务发现(IP寻址)
- 定期从etcd获取所有的service根据service信息创建代理
- 客户pod访问其他pod都经过proxy转发
- Kubelet
- Master
- 提供了集群统一视图的中心控制点
- 一个Master节点来控制多个Node节点
- 运行的组件
- API Server
- 对操作对象的增删改查
- 提供RESTful K8s API接口
- 校验和配置Pod、Service和Replication Controller
- 统一管理集群系统的入口
- Scheduler
- 资源调度
- 为新建的pod分配机器
- Controller-Manager
- 容错处理
- 扩容、缩容
- 负责执行各种控制器
- endpoint-controller
- 定期关联service和pod(关联信息由endpoint对象维护),保证service到pod的映射总是最新的
- replication-controller
- 定期关联replicationController和pod,保证定义的复制数量与实际运行pod的数量总是一致的
- endpoint-controller
- API Server
可操作对象
- Pod:k8s上可创建、调度和管理的最小单位,是一个或一组拥有共享卷的容器集
- Replication Controller:管理着Pod的生命周期,建议创建Pod都是用rc,他会确保任何时刻Pod的数量都维持在一个特殊设定的值
- Service:基本的负载均衡器,为外部某提供一组Pod的一个稳定操作接口
其他概念
- Label:通过键值对的方式组织和选择操作对象,使用户自定义的标识
- Annotation:同样是存储管理键值对,相对比Label更大,通常是人类不可识别的非标识的数据
- Selector:通过匹配Label来确定相关的资源
- Volume:是一个文件目录,可以当成容器文件系统的一部分,是建立在Docker的Volume基础上的
- Secret:存储敏感的数据并可以被容器所访问
- Name:用户赋予一个资源的名称
- Namespace:命名空间以免相同的Name冲突
| 主机名 | IP | 角色配置 |
| master | 172.16.71.133 | 主节点,运行kube-apiserver、kube-controller-manager、kube-scheduler和etcd |
| minion1 | 172.16.71.129 | 子节点,运行kubelet、kube-proxy |
| monion2 | 172.16.71.132 | 子节点,运行kubelet、kube-proxy |
Kubernetes概念介绍和v1版本部署过程的更多相关文章
- 二、Kubernetes 概念介绍
一.Master Master指的是集群控制节点,在每个Kubernetes集群里都需要有一个Master来负责整个集群的管理和控制,基本上Kubernetes的所有控制命令都发给它,它负责具体的 ...
- 部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0)
部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0) 部署Bookinfo示例程序 在下载的Istio安装包的samples目录中包含了示例应用程序. ...
- 云原生时代之Kubernetes容器编排初步探索及部署、使用实战-v1.22
概述 **本人博客网站 **IT小神 www.itxiaoshen.com Kubernetes官网地址 https://kubernetes.io Kubernetes GitHub源码地址 htt ...
- 二进制搭建Kubernetes集群(最新v1.16.0版本)
目录 1.生产环境k8s平台架构 2.官方提供三种部署方式 3.服务器规划 4.系统初始化 5.Etcd集群部署 5.1.安装cfssl工具 5.2.生成etcd证书 5.2.1 创建用来生成 CA ...
- K8s - Kubernetes重要概念介绍(Cluster、Master、Node、Pod、Controller、Service、Namespace)
K8s - Kubernetes重要概念介绍(Cluster.Master.Node.Pod.Controller.Service.Namespace) Kubernetes 是目前发展最 ...
- Kubernetes 基本概念介绍
什么是Kubernetes? Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展. 如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成 ...
- 理解裸机部署过程ironic
部署物理机跟部署虚拟机的概念在nova来看是一样,都是nova通过创建虚拟机的方式来触发,只是底层nova-scheduler和nova-compute的驱动不一样.虚拟机的底层驱动采用的libvir ...
- CQRS之旅——旅程5(准备发布V1版本)
旅程5:准备发布V1版本 添加功能和重构,为V1版本发布做准备. "大多数人在完成一件事之后,就像留声机的唱片一样,一遍又一遍地使用它,直到它破碎,忘记了过去是用来创造更多未来的东西.&qu ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...
随机推荐
- 关于一些Java基础数据类型的常用方法的应用场景的小思考
昨天遇到一个问题,按照我的一半解决方法是传一个参数,然后通过参数来控制逻辑处理:但是领导发现String的一个方法也可以完全完成该问题!而我完全没有get到这个点! so,我认识到了自己的知识盲区:基 ...
- Selenium2+python自动化75-非input文件上传(SendKeys)【转载】
转至博客:上海-悠悠 前言 不少小伙伴问非input标签如何上传文档,这个本身就是一坑,无奈很多小伙伴非要跳坑里去,那就介绍一个非主流的上传文件方法吧,用第三方库SendKeys. (本篇基于pyth ...
- Selenium2+python自动化71-多个浏览器之间的切换【转载】
前言 有时候一些业务的功能涉及到多个系统,需要在web系统1打开造一些数据,然后用到某些参数是动态生成的,需要调用web系统2里面的参数. 举个简单例子:在做某些业务的时候,需要手机短信验证码,我不可 ...
- Selenium2+python自动化70-unittest之跳过用例(skip)【转载】
前言 当测试用例写完后,有些模块有改动时候,会影响到部分用例的执行,这个时候我们希望暂时跳过这些用例. 或者前面某个功能运行失败了,后面的几个用例是依赖于这个功能的用例,如果第一步就失败了,后面的用例 ...
- 【hdoj_2111】SavingHDU
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2111 题目理解:给出一个口袋的容量,若干种宝物的单价和体积,单个的宝物可以分割,待求的是最多能装价值多少的 ...
- javascript+dom编程艺术 读后感
利用上班空闲2,3天把这本书看完了,整体来说,这本书很不错.虽然我js有一定的基础了,jquery基础也会使用,但是我觉得对js应该有个循序渐进的理解,所以还是把js系统的学习一遍.我看技术类的书总数 ...
- 安装Team Services Agent Win7
现状:项目现时使用的是Team Services,使用Team Services可以控制其中的一台Build Server,从Github提取代码,并在Build Server进入编译打包处理(son ...
- [xampp] ubuntu终端连接xampp的mysql
/opt/lampp/bin/mysql -u root
- thinkphp实现功能:验证码
1.定义验证码函数 public function verify(){ /** * 在thinkPHP中如何实现验证码 * * ThinkPHP已经为我们提供了图像处理的类库ThinkPHP\Exte ...
- (3)java运行
java文件后后缀名为 .java 一个java文件的运行需要分为两个阶段,编译阶段和运行阶段 编译阶段 检查java源代码的语法是否错误 生成对应平台的.class文件 例如 :有个A.java的文 ...