一、kubernetes是什么?

Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡,

在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。

二、kubernetes的主要特性

1、自动化部署

应用部署到容器中,Kubernetes能够根据应用程序的计算资源需求和其它一些限制条件,自动地将运行应用程序的容器调度到集群中指定的Node上,在这个过程中并不会影响应用程序的可用性。

2、系统自愈

当Kubernetes集群中某些容器失败时,会重新启动他们。当某些Node挂掉后,Kubernetes会自动重新调度这些Node上的容器到其他可用的Node上。如果某些容器没有满足用户定义的健康检查条件,这些容器会被判定为无法正常工作的,集群会自动Kill掉这些容器,在这个过程中直到容器被重新启动或重新调度,直到可用以后才会对调用的客户端可见。

3、水平扩展

在Kubernetes中,通过一个命令就可以实现应用程序的水平扩展,实现这个功能的是HPA(Horizontal Pod Autoscaler)对象。HPA是通过Kubernetes API Resource和Controller的方式实现的,其中Resource决定了Controller的行为,而Controller周期性地调整Replication Controller或Deployment中的副本数,使得观察到的平均CPU使用情况与用户定义的能够匹配。

4、服务发现和负载均衡

Kubernetes内置实现了服务发现的功能,他会给每个容器指派一个IP地址,给一组容器指派一个DNS名称,通过这个就可以实现服务的负载均衡功能。

5、自动更新和回滚

当我们开发的应用程序发生变更,Kubernetes可以实现滚动更新,同时监控应用的状态,确保不会在同一时刻杀掉所有的实例,造成应用在一段时间范围内不可用。如果某些时候应用更新出错,Kubernetes能够自动地将应用恢复到原来正确的状态。

6、密钥和配置管理

Kubernetes提供了一种机制(ConfigMap),能够使我们的配置数据与应用对应的Docker镜像解耦合,如果配置需要变更,不需要重新构建Docker镜像,这为应用开发部署提供很大的灵活性。
同时,对于应用所依赖的一些敏感信息,如用户名和密码、令牌、秘钥等信息,Kubernetes也通过Secret对象实现了将这些敏感配置信息与应用的解耦合,这对应用的快速开发和交付提供了便利,在一定程上提供了也安全保障。

7、存储挂载

Kubernetes可以支持挂载不同类型存储系统,比如本地存储、公有云存储(如AWS、GCP)、网络存储系统(如NFS、iSCSI、Gluster、Ceph、Cinder、Flocker)等,我们可以进行灵活的选择。

8、批量作业执行

Kubernetes也支持批量作业的处理、监控、恢复。作业提交以后,直到作业运行完成即退出。如果运行失败,Kubernetes能够使失败的作业自动重新运行,直到作业运行成功为止。

kubernetes入门(01)kubernetes是什么?的更多相关文章

  1. Kubernetes入门(一)——Kubernetes v1.18.5 安装部署

    Kubernetes的安装有两种方式:一是使用各个厂商封装的Kubernetes发行版,优点是可以一键安装部署,操作简单,缺点也很明显,若安装过程中某一步骤出现问题,很难定位处理:二是使用官方提供的k ...

  2. kubernetes学习01—kubernetes介绍

    本文收录在容器技术学习系列文章总目录 一.简介 1.Kubernetes代码托管在GitHub上:https://github.com/kubernetes/kubernetes/. 2.Kubern ...

  3. Kubernetes 入门之Kubernetes 的基本概念和术语

    Kubernetes是什么?    他是一个全新的基于容器技术分布式架构领先方案:    他也是一个开放的开发平台:    他也是一个完备的分布式系统支撑平台:   Kubernetes的基本慨念和术 ...

  4. Kubernetes 实战 —— 01. Kubernetes 介绍

    简介 P2 Kubernetes 能自动调度.配置.监管和故障处理,使开发者可以自主部署应用,并且控制部署的频率,完全脱离运维团队的帮助. Kubernetes 同时能让运维团队监控整个系统,并且在硬 ...

  5. 微服务 + Docker + Kubernetes 入门实践 目录

    微服务 + Docker + Kubernetes 入门实践: 微服务概念 微服务的一些基本概念 环境准备 Ubuntu & Docker 本文主要讲解在 Ubuntu 上安装和配置 Dock ...

  6. 第一章 Kubernetes入门

    第一章 Kubernetes入门 kubernetes是基于容器技术的分布式架构领先方案,是一个完备的分布式系统支撑平台. kubernetes带来的好处:1)全面拥抱微服务:2)统可以随时随地整体“ ...

  7. Kubernetes入门(四)——如何在Kubernetes中部署一个可对外服务的Tensorflow机器学习模型

    机器学习模型常用Docker部署,而如何对Docker部署的模型进行管理呢?工业界的解决方案是使用Kubernetes来管理.编排容器.Kubernetes的理论知识不是本文讨论的重点,这里不再赘述, ...

  8. 浅入kubernetes(1):Kubernetes 入门基础

    目录 Kubernetes 入门基础 Introduction basic of kubernetes What Is Kubernetes? Components of Kubernetes Kub ...

  9. kubernetes入门之skydns

    部署kubernetes dns服务 kubernetes可以为pod提供dns内部域名解析服务.其主要作用是为pod提供可以直接通过service的名字解析为对应service的ip的功能. 部署k ...

  10. kubernetes入门(08)kubernetes单机版的安装和使用

    kubectl get - 类似于 docker ps ,查询资源列表 kubectl describe - 类似于 docker inspect ,获取资源的详细信息 kubectl logs - ...

随机推荐

  1. Unity 读取资源(图片)

    方法一: 采用Resource.Load方法读取,读取在Unity中Assets下Resources目录下的资源名(不采用后缀). //图片放在Asset/Resources/ Texture2D t ...

  2. ELK重难点总结和整体优化配置

    本文收录在Linux运维企业架构实战系列 做了几周的测试,踩了无数的坑,总结一下,全是干货,给大家分享~ 一.elk 实用知识点总结 1.编码转换问题(主要就是中文乱码) (1)input 中的cod ...

  3. 处理win7任务栏通知区域图标异常问题

    故障现象:安装的某软件比如QQ,应用程序运行图标始终没有在win7任务栏通知区域显示出来,经观查发现win7任务栏通知区域有几个已删除应用的图标出现,应该是有故障了. 故障现象一:已经卸载的程序,还在 ...

  4. 聊聊Docker

    为什么是Docker 进入21世纪,继互联网之后,云计算开始大放异彩.云计算是互联网发展后期的必然方向,反过来,云计算也进一步推动了互联网的发展.云计算模式最关键的突破就是资源使用方式的改变. 云计算 ...

  5. NEO从入门到开窗(2) - 智能合约的面相

    一.啰嗦两句 昨天讲了智能合约的一生,那丫长啥样啊?今儿我就跟各位唠叨唠叨. 二.一个简单的智能合约 下面这段就是NEO实例源码里的一个,干撒用的?聪明的你一眼儿就看出来了吧,就是一个所谓域名合约的增 ...

  6. 关于 Touchjs 手势识别事件库 this 关键字与选择器不对称情况

    Touchjs 版本 v0.2.14 废话不多,直接看代码,一个拖动实例 <div id="touch-drag"></div> <script ty ...

  7. 如何写对kubernetes的模板文件

    kubernetes的模板配置文件随着版本更迭也会有相应的调整,正确配置模板关键字的方式是参考版本发布的doc,如下图 在docs\api-reference下面有不同功能的API目录,如下图 各个A ...

  8. Problems at works

    1.ssh无法连接服务器:因部署ftp服务,误将/var目录的所有者和所属组改成了ftp,以致于SSH无法二次连接: 2.集群服务器的hadoop的datanode节点死亡,在对应节点拉起即可.若无法 ...

  9. 归并排序及优化(Java实现)

    普通归并排序 public class MergeSort { /** * @param arr 待排序的数组 * @param left 本次归并的左边界 * @param mid 本次归并的中间位 ...

  10. python函数名称空间

    一.命名空间概念 命名空间(name space),若变量x=1,1存放在内存中,命名空间是存放名字x.x与1绑定关系的地方.命名空间分三种: locals:函数内的名称空间,包括局部变量和形参 gl ...