赞
踩
今天继续给大家介绍Linux运维相关知识,本文主要内容是Kubernetes基本知识。
Kubernetes是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。
在之前我们介绍过Docker的相关知识,使用Docker可以很方便的发布一个服务或者说是一个应用,这极大的避免了因为开发环境和依赖的问题给软件开发、测试、运维造成的影响。
但是,Docker的使用还存在这一点不足,即当我们的应用需要部署到多个容器上时,操作就比较麻烦。我们需要一个管理平台,依托它对我们的各个容器提供管理,能够使得容器能够自动化的启动并协作配合实现我们的服务。基于这一目的,Kubernetes应运而生。
Kubernetes可以实现以下功能:
1、自动化容器的部署、复制。
2、根据需要扩展或者缩小容器的规模。
例如在一个服务中有10个Web服务器,这10个Web服务器负载均衡共同提供服务,我们可以根据需要将其扩展成20个或者缩减成5个。
3、将容器组织成组。
例如,将LAMP架构中的MySQL和Apache两台设备组成一个容器组。
4、节省资源,优化硬件资源的使用
基于Kubernetes,我们的容器部署更加灵活
5、提供容器弹性,如果容器失效立即替换
当运行Kubernetes容器的节点发生故障时,Kubernetes就会在其他的节点上再次创建该容器。
Kubernetes中文官网网址为:https://kubernetes.io/zh/,其页面如下所示:
Kubernetes特点如下:
1、便携性
支持公有云、私有云和混合云。
2、可扩展
Kubernetes是基于插件和模块的,因此可扩展性好。
3、自动化
Kubernetes可以实现容器的自动部署、复制等全声明周期管理,弹性缩、扩容等。
Kubernetes通常运行在一组主机上,这些主机会在Kubernetes的调度下协同工作,共同实现容器的应用服务和声明周期管理。
Kubernetes有以下几个重要特性:
1、自动装箱。
Kubernetes通常运行在一个主机群组上,并且会对这些主机进行管理,统一这些主机的资源,并根据主机负载情况将容器自动分配主机运行。
2、自动修复。
当运行Kubernetes的某一台主机宕机,那么Kubernetes会在其他的主机结点上创建该主机上的所有容器,保证业务不中断。
3、水平扩展。
支持通过简单命令进行扩展,基于CPU等资源的负载率进行水平扩展。
4、服务器发现。
Kubernetes通过KubeDNS(Kubernetes的附件之一)实现了服务发现功能。
5、负载均衡。
Kubernetes可以通过iptables和ipvs实现负载均衡。
6、自动发布和回滚。
Kubernetes支持“灰度”更新应用程序,即当更新系统中的应用时,只更新一部分,防止出现BUG而影响整个集群,如果更新后的系统正常运行,就完成系统的全部更新,如果更新后的系统运行出现故障,就立刻“回滚”到原理的系统。
7、密钥配置管理。
Kubernetes允许存储和管理敏感信息,例如Oauth令牌和ssh密钥。Kubernetes可以部署更新密码和应用程序配置,而无需重建容器,也不会在运行的内存中暴露这些敏感信息。
8、存储管理。
Kubernetes支持多种存储系统,包括结点本地存储,云服务商的云存储,以及NFS等的网络存储。
9、批量处理执行。
除了服务型应用,Kubernetes还支持批处理作业即持续集成(CI)。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。