首页
文章
留言
首页
文章
留言
Kubernetes介绍
2017 年 06 月 08 日
运维
架构
Kubernetes
Kubernetes,简称 K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效。Kubernetes 提供了应用部署,规划,更新,维护的一种机制。 ![](/upload/article/7e6/5/7/1120459664.jpeg) #### 作用 - 跨多台主机进行容器编排。 - 更加充分地利用硬件,最大程度获取运行企业应用所需的资源。 - 有效管控应用部署和更新,并实现自动化操作。 - 挂载和增加存储,用于运行有状态的应用。 - 快速、按需扩展容器化应用及其资源。 - 对服务进行声明式管理,保证所部署的应用始终按照部署的方式运行。 - 利用自动布局、自动重启、自动复制以及自动扩展功能,对应用实施状况检查和自我修复。 #### 必要性 在当今微服务的世界里,我们真正的生产型应用会涉及多个应用,从而产生出多个容器。这些容器必须跨越多个服务器主机进行部署。那么在面临服务的编排、管理,涉及到扩容、伸缩、升级、回滚,整个操作流程都会变得比较复杂。也就是说容器可以让开发人员全心投入应用开发,让运维团队专注于基础架构维护——容器编排就是在整个企业内管理这些部署的方式,但随之而来的多应用多容器却也带来了一些麻烦。那么此时 Kubernetes 作为一个开源的容器编排平台,可以自动完成在部署、管理和扩展容器化应用过程中涉及的许多手动操作。 Kubernetes 提供所需的编排和管理功能,可以帮助您在不同环境中大规模交付和管理容器化应用、传统应用和云原生应用,以及重构成微服务的应用,并且基于k8s,我们还可以实现对容器的伸缩扩展、应用回滚和升级,甚至监控应用容器的资源、健康情况。 #### 集群管理 Kubernetes 环境自现代云原生应用出现以来就变得非常分散。它们可以部署到多个内部数据中心,也可以部署到公共云和边缘。 一些企业通过部署多个集群从而大规模使用 k8s 或在生产环境中使用 k8s。例如用于开发、测试和生产,这些集群分散在多个环境中,需要高效地进行管理。 Kubernetes 集群管理可以理解为 IT 团队如何管理一系列的 Kubernetes 集群。 #### 术语介绍 > 主机(Master):负责所有任务的分配,用于控制 Kubernetes 节点的计算机。 > 节点(Node):由 Kubernetes 主机控制,负责执行由控制平面分配的请求任务。 > 容器集(Pod):部署到单个节点上且包含一个或多个容器的容器组。容器集是最小、最简单的 Kubernetes 对象。 > 复制控制器(Replication controller):用于控制应在集群某处运行的完全相同的容器集副本数量。 > 服务(Service):一种将运行于一组容器集上的应用开放为网络服务的方法。它将工作定义与容器集分离。 > 控制平面(Control Plane):控制 Kubernetes 节点进程的集合。所有任务分配都来自于此。 > 卷(Volume):一个包含数据的目录,可供容器集内的容器访问。Kubernetes 卷与所在的容器集具有相同的生命周期。卷的生命周期要长于容器集内运行的所有容器的生命周期,并且在容器重新启动时会保留相应的数据。 > 命名空间(Namespace):一个虚拟集群。命名空间允许 Kubernetes 管理同一物理集群中的多个集群(针对多个团队或项目)。 > Kubelet:运行在节点上的服务,可读取容器清单(container manifest),确保指定的容器启动并运行。 > kubectl:Kubernetes 的命令行配置工具。
3
相关文章
Redis缓存击穿、穿透、雪崩
10种常见的软件架构模式
OpenResty+Lua+Kafka收集日志
Supervisor使用总结
Linux命令总结
全部分类
前端
后端
运维
架构
算法
数据库
移动应用
桌面应用
程序开发
热门标签
Qt
PHP
iOS
Nginx
Kubernetes
Objective-C
Elasticsearch
Composer
MongoDB
Sphinx
CentOS
Android
C++
爬虫
Docker
macOS
Redis
JavaScript
Supervisor
MySQL
Linux
CSS
Python
Git
NoSQL
HTML
OpenResty
GUI
Lua
Kafka
多线程
Shell
热门文章
Redis、MemCache、MongoDB比较
macOS常用命令
OpenResty+Lua+Kafka收集日志
Nginx常用配置说明
Elasticsearch详解
Supervisor使用总结
Docker使用总结
Git使用总结
CentOS常用命令总结
Qt实现TCP通讯