01-Kubernetes介绍,基础组件,原理,架构。
Posted hejianping
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01-Kubernetes介绍,基础组件,原理,架构。相关的知识,希望对你有一定的参考价值。
1. Kubernetes介绍:
Kubernetes主要用于自动化部署,扩展和管理容器应用,提供资源调度,部署管理,服务发现,扩容缩容,监控等一整套功能。
2. Kubernetes主要功能:
Kubernetes 是开源容器集群管理系统,是基于Docker构建的调度服务,提供资源调度,均衡容灾,服务注册,动态扩缩容等功能套件。
Kubernetes提供应用部署,维护,扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用。
其主要功能如下:
数据卷:Pod中容器之间共享数据,可以使用数据卷。
应用程序监控检查:容器内服务可能进程堵塞无法处理请求,可以设置监控检查策略保证应用健康性。
复制应用程序实例:控制维护着Pod副本数量,保证一个Pod或者一组同类的Pod数量始终可用。
弹性伸缩:根据设定的指标(CPU利用率)自动缩放Pod副本数。
服务发现:使用环境变量或者dns服务插件保证容器中程序发现pod入口访问地址。
负载均衡:一组pod副本分配一个私有的集群ip地址,负载均衡转发请求到后端容器。在集群内部其它pod可通过这个clusterip 访问应用。
滚动更新:更新服务不中断,一次更新一个pod,而不是同时删除整个服务。
服务编排:通过文件描述部署服务,使得应用程序部署变得高效。
资源监控:node节点组件集成cadisor资源收集工具,可通过Heapster汇总整个集群节点资源数据,然后存储到InfluxDB时序数据库,再由Grafana展示。
提供认证和授权:支持属性访问控制(ABAC),角色访问控制(RBAC)认证授权策略。
- 使用docker对应用程序包装(package),实例化(instantiate),运行(run)。
- 将多台Docker主机抽象为一个资源,以集群的方式运行,管理跨机器的容器,包括任务的调度,资源管理,弹性伸缩,滚动升级等功能。
- 使用编排系统(YAML File)快速构建容器集群,提供负载均衡器,解决容器直接关联以及通信问题。
- 解决docker跨机器之间的通讯问题。
- 自动管理和修复机器,简单说,比如创建一个集群,里面有10个容器,如果某个容器异常关闭,那么,会尝试重启或重新分配容器,始终保证会有10个容器再运行,反而杀死多余的,Kubernetes的自我修复机制使得容器集群总是运行在用户期望的状态,当前Kubunetes支持GCE,vShpere,CoreOS,OpenShift.
3.Kubernetes架构和组件
Kubernetes架设图
以上是关于01-Kubernetes介绍,基础组件,原理,架构。的主要内容,如果未能解决你的问题,请参考以下文章
Kubernetes云原生实战01 Kubernetes高可用部署架构
Kubernetes云原生实战01 Kubernetes高可用部署架构