Kubernetes简介

一、什么是Kubernetes?

      近几年随着容器技术兴起,越来越多的公司开始在新的项目中加入容器技术,比如docker、Kubernetes。本章会着重介绍Kubernetes集群中的各功能模块、安装部署及运维管理。
      Kubernetes首先是一个全新的基于容器技术的分布式架构领先方案,是谷歌严格保密十几年的--Borg的一个开源版本。Borg主要是用于谷歌内部使用的大规模集群管理系统,基于容器技术,实现资源管理的自动化及跨数据中心的最大化资源利用率。正是由于Kubernetes站在Borg的肩膀上,吸取了Borg十几年间的经验与教训,所以才能以如此迅雷之势快速称霸容器领域。
      其次,它是一个开放的平台,不基于任何语言。无论是Java、Python、PHP还是Go语言,都能毫无困难的将它映射为Kuberntes的Service。
      最后,它还是一个完备的分布式系统支撑平台,具有完备的集群管理能力。包括多层次的安全防护和准入机制、内建的只能负载均衡器、强大的故障查找和自我修复能力、滚动升级机制等等。
      如果我们遵循Kubernetes的设计思想去建设系统,可以剔除和业务没有多大关系的底层代码和功能模块,不但减少了开发成本,还降低了运维难度。

二、为什么要使用Kubernetes?

1、最重要的一点就是,任何行业都是由新技术驱动的;
2、其次Docker技术已经被很多公司所采用,从单机走向集群已经成为必然。而云计算的蓬勃发展正在加快这一进程;
3、缩减了人员,分工更为明确,还减少了工作量;
4、使用了微服务架构,将巨大的单体应用切分为很多小的互相连接的微服务。该架构使得每个服务都能由专门的开发团队进行开发,操作更为独立;
5、系统可以随时搬迁到公有云上;
6、具有超强的横向扩容能力。

三、Kubernetes集群的组成

      Kubernetes集群是由Master节点和Node节点组成。

       每个集群都至少有一台Master节点(高可用建议使用三台),负责管理和控制整个集群,kubernetes上的控制命令基本都会发送给它,由它负责具体的执行过程。Master上有几个比较重要的组件,分别是:
            1、api-server
            提供了请求调用接口,所有请求都需要使用它提供的接口
            2、schedule
            负责资源调度的进程
            3、controller-manager
            资源对象的自动化控制中心
            4、etcd
            Kubernetes中默认的存储器,存放所有资源对象的数据
      Node节点是除Master节点以外的其它节点,是集群的工作负载节点。由Master为每一台Node分配工作任务,某台Node宕机,Master会将该台Node上的工作任务转移到其它Node节点。每台Node节点上都运行着以下一组关键进程:
            1、kubelet
            负责维护容器的整个生命周期,包括启停创建等任务。同时与Master节点密切协作,实现集群管理的基本功能;
            2、proxy
            实现Kubernetes Service的通信以及负载均衡的重要组件;
            3、Docker Engine
            Docker引擎,负责本机的容器创建和管理工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值