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 |

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Ubuntu Docker 安装和配置 GitLab CI 持续集成
相关文章: Ubuntu Docker 简单安装 GitLab 劈荆斩棘:Gitlab 部署 CI 持续集成 目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runner,搭建 GitLab CI 持续集成环境。 服务器版本 Ubuntu 16.04 LTS。 安装命令: $ docker run -d --name gitlab-runner --restart always \ -v /srv/gitlab-runner/config:/etc/gitlab-runner \ -v /var/run/docker.sock:/var/run/docker.sock \ gitlab/gitlab-runner:latest 参数说明: --d: 设置容器后台运行 --name:容器名称 --restart always:每次启动容器就重启 gitlab-runner --v: 共享目录挂载(如果是 Mac OSX 系统,需要把/srv改为/Users/Shared) 安装好之后,可以使用docker ps查看容器是否在运行,接着我们进入容器: $ d...
- 下一篇
Docker之dockerfile
一、什么是dockerfile Docker通过对于在dockerfile中的一系列指令的顺序解析实现自动的Image的构建; 通过使用build命令,根据dockerfile的描述来构建镜像; build的两种方法: 通过源代码路径的方式; 通过标准输入流的方式; 通过源代码路径: Dockerfile需要放置在项目的根目录位置; 在构建的时候,Docker client会把整个Context打包发送到docker Server端,然后由Server端负责build镜像,在构建成功后,会删除Context目录; docker build -t {镜像名字}{项目的路径,可以是相对路径} 通过标准输入流: 通过标准输入流的方式获取dockerfile的内容; client不会打包上传context目录,因此对于一些ADD、COPY等涉及HOST本地文件复制的操作不能够支持; docker build -t {镜像名字} -< Dockerfile路径 build cache: Dockerfile中的每一个指令执行完毕后,都会提交为一个Image,这样保证了指令间不会有影响; ...
相关文章
文章评论
共有0条评论来说两句吧...