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基础知识学习 ...
随机推荐
- Hadoop安装过程
1.安装JDK apt-get install openjdk-7-jdk 2.配置环境变量 vim /etc/profile 编辑: export JAVA_HOME=/usr/lib/jvm/ja ...
- GIT指令简洁篇
查看.添加.提交.删除.找回,重置修改文件 git help <command> # 显示command的help git show # 显示某次提交的内容 git show $id gi ...
- Markdown文件导出为HTML的小程序
Markdown文件导出为HTML的小程序 为什么做 最近把一些学习经验记下来,总结成MarkDown文件,不知不觉已经有12篇了. Sublime Text 的 MarkDown Preview 插 ...
- 病毒&烦人的幻灯片
<病毒>传送门 <烦人的幻灯片>传送门 病毒 描述 有一天,小y突然发现自己的计算机感染了一种病毒!还好,小y发现这种病毒很弱,只是会把文档中的所有字母替换成其它字母,但并不改 ...
- rosbag使用--记录深度相机数据
首先看一下教程: http://wiki.ros.org/openni_launch/Tutorials/BagRecordingPlayback 知道了rosbag如何进行使用记录深度数据 但是按照 ...
- Centos7Yum安装PHP7.2
1.安装源 安装php72w,是需要配置额外的yum源地址的,否则会报错不能找到相关软件包. php高版本的yum源地址,有两部分,其中一部分是epel-release,另外一部分来自webtatic ...
- [BZOJ3585]mex 主席树
3585: mex Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 1252 Solved: 639[Submit][Status][Discuss] ...
- HDU 1811 Rank of Tetris 【拓扑排序 + 并查集】
自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球. 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜, ...
- Python3 list记录
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Author;Tsukasa name = ['YangJiaHui','LiuYueEr','TaB ...
- java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.XmlReaderContext.getResourceLoader()Lorg/springframework/core/io/ResourceLoader
问题原因 在整合spring跟struts2是使用Maven,用到struts2-spring-plugin.jar,但是maven不但但加载了这个jar文件还有spring-beans:3.0.5. ...