游客发表
Kubernetes是工程Google 2014年创建管理的,是师培署Google 10多年大规模容器管理技术Borg的开源版本。它是群部容器集群管理系统,是工程一个开源的平台,可以实现容器集群的师培署自动化部署、自动扩缩容、群部维护等功能。工程
通过Kubernetes你可以:
快速部署应用 快速扩展应用 无缝对接新的师培署应用功能 节省资源,优化硬件资源的群部使用Kubernetes 特点:
可移植: 支持公有云,私有云,工程混合云,师培署多重云(multi-cloud) 可扩展: 模块化,群部 插件化, 可挂载, 可组合 自动化: 自动部署,自动重启,工程自动复制,师培署自动伸缩/扩展
k8s有什么功能
| 自动化上线和回滚
Kubernetes会分步骤地将针对应用或其配置的群部更改上线,同时监视应用程序运行状况确保你不会同时终止所有实例 如果出现问题,Kubernetes 会为你回滚所作更改。你应该充分利用不断成长的部署方案生态系统| 服务发现与负载均衡
无需修改你的应用程序即可使用陌生的服务发现机制 Kubernetes为容器提供了自己的IP地址和一个DNS名称,并且可以在它们之间实现负载均衡| 存储编排
自动挂载所选存储系统,免费信息发布网包括本地存储、诸如GCP或AWS之类公有云提供商所提供的存储 或者诸如NFS、iSCSI、Gluster、Ceph、Cinder 或 Flocker这类网络存储系统| Secret和配置管理
部署和更新Secrets和应用程序的配置而不必重新构建容器镜像,且不必将软件堆栈配置中的秘密信息暴露出来| 自动装箱
根据资源需求和其他约束自动放置容器,同时避免影响可用性 将关键性工作负载和尽力而为性质的服务工作负载进行混合放置,以提高资源利用率并节省更多资源| 批量执行
除了服务之外,Kubernetes 还可以管理你的批处理和 CI 工作负载,在期望时替换掉失效的容器| IPv4/IPv6 双协议栈
为Pod和Service分配IPv4和IPv6地址| 水平扩缩
使用一个简单的命令、一个UI或基于CPU使用情况自动对应用程序进行扩缩| 自我修复
重新启动失败的容器,在节点死亡时替换并重新调度容器,杀死不响应用户定义的健康检查的容器 并且在它们准备好服务之前不会将它们公布给客户端| 为扩展性设计
无需更改上游源码即可扩展你的 Kubernetes 集群kubernetes 集群架构图

kubernetes 组件
| Control Plane组成部分
Scheduler:
kube-scheduler根据调度算法为新创建的Pod选择一个Node节点,可以任意部署,可以部署在同一个节点上,也可以部署在不同的节点上Controller Manager:
Kube-controller-manager,处理集群中常规后台任务,一个资源对应一个控制器,而ControllerManager就是服务器租用负责管理这些控制器的Cloud Controller Manager:
用在云平台上的Kube-controller-manager组件 如果我们直接在物理机上部署的话,可以不使用该组件API Server:
kube-apiserver,集群的统一入口,各组件协调者,以RESTFUL API提供接口服务 所有对象资源的增删改查和监听操作都交给APIServer处理后再提交给etcd存储Etcd:
分布式键值存储系统,用于保存集群状态元数据信息,比如Pod,Service等对象信息 这个数据库是可以单独拿出来部署,只需要API server可以连接到该分布式数据库集群即可| Node组成部分
kubelet:
可以理解为Master在工作节点上的Agent,管理本机运行容器的生命周期 比如创建容器,Pod挂载数据卷,下载secret,获取容器的节点状态等工作 kubelet将每一个Pod转换成一组容器kube-proxy:
在工作节点上实现Pod网络代理,维护网络规则和四层负载均衡工作 换句话说,就是用于负责Pod网络路由,用于对外提供访问的实现 可以找到你关心的项目所在的pod节点POD:
用户划分容器的最小单位,一个POD可以存在多个容器docker/rocket(rkt,已停止支持):
容器引擎,用于运行容器| 附加组件(Add-ons)
除了上面提到的b2b信息网核心组件,还有一些推荐的附加组件(Add-ons)
kube-dns: 负责为整个集群提供DNS服务 Ingress Controller: 为服务提供外网入口 Heapster: 提供资源监控 Dashboard: 提供GUI Federation: 提供跨可用区的集群 Fluentd-elasticsearch: 提供集群日志采集、存储与查询由于内容篇幅过长,分两篇文章进行发布,其余内容见链接:kubernetes集群部署(二)!Linux运维培训班
为了让学员学以致用,老男孩教育不断更新Linux培训教学大纲,与一众讲师精心打造Linux云计算SRE课程体系。老男孩教育Linux云计算SRE运维课程,从零基础开始授课,适合零基础且对Linux感兴趣的学员学习。课程的主要目的就是培养出专业的Linux系统工程师,名师授课全程面授教学,边讲边练帮助学员高效掌握Linux技术。
随机阅读
热门排行
友情链接