1. 问题

1.1 传统的应用部署方式

通过插件或脚本来安装应用。这样做的缺点:

  • 应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作
  • 各个组织机构在物理服务器上运行应用程序。无法为物理服务器中的应用程序定义资源边界,这会导致资源分配问题。

1.2 虚拟化部署时代

  • 虚拟机非常重,并不利于可移植性。

  • 虚拟化技术能够更好地利用物理服务器上的资源,并且因为可轻松地添加或更新应用程序 而可以实现更好的可伸缩性,降低硬件成本等等。每个 VM 是一台完整的计算机,在虚拟化硬件之上运行所有组件,包括其自己的操作系统。

1.3 容器部署时代:

容器类似于 VM,但是它们具有被放宽的隔离属性,可以在应用程序之间共享操作系统(OS)。 因此,容器被认为是轻量级的。

2. Kubernetes(k8s)

Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制

容器与 VM 类似,具有自己的文件系统、CPU、内存、进程空间等。 由于它们与基础架构分离,因此可以跨云和 OS 发行版本进行移植。

  • 开源
  • 通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。
  • 容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在build或release 的阶段,为应用创建容器镜像 。

3. 特点

  • 服务发现和负载均衡
    使用 DNS 名称或自己的 IP 地址公开容器,如果进入容器的流量很大,可以负载均衡并分配网络流量。

  • 存储编排
    允许用户自动挂载选择的存储系统,例如本地存储、公共云提供商等。

  • 自动部署和回滚
    可以使用 Kubernetes 描述已部署容器的所需状态,它可以以受控的速率将实际状态 更改为期望状态。eg.你可以自动化 Kubernetes 来为你的部署创建新容器, 删除现有容器并将它们的所有资源用于新容器。

  • 自动完成装箱计算
    允许指定每个容器所需 CPU 和内存(RAM)。 当容器指定了资源请求时,Kubernetes 可以做出更好的决策来管理容器的资源。

  • 自我修复
    Kubernetes 重新启动失败的容器、替换容器、杀死不响应用户定义的 运行状况检查的容器,并且在准备好服务之前不将其通告给客户端。

  • 密钥与配置管理
    允许存储和管理敏感信息,eg. 密码、OAuth 令牌和 ssh 密钥。 用户可以在不重建容器镜像的情况下部署和更新密钥和应用程序配置,也无需在堆栈配置中暴露密钥

kubernetes (1)基本概念相关推荐

  1. Kubernetes(K8s)基本概念:Volume(存储卷)、Persistent Volume

    Kubernetes(K8s)基本概念:Volume(存储卷) 一.Volume(存储卷) Volume是Pod中能够被多个容器访问的共享目录. K8s中的Volume定义在Pod上,然后被一个Pod ...

  2. 通过搭建MySQL掌握k8s(Kubernetes)重要概念(上):网络与持久卷

    上一篇"通过实例快速掌握k8s(Kubernetes)核心概念"讲解了k8s的核心概念,有了核心概念整个骨架就完整了,应付无状态程序已经够了,但还不够丰满.应用程序分成两种,无状态 ...

  3. 通过搭建MySQL掌握k8s(Kubernetes)重要概念(下):参数配置

    本文通过搭建MySQL环境来了解k8s的重要概念,包括持久卷,网络和参数配置.这是下篇,专门讲解参数配置.如果你有些地方不能完全看明白,请先看上篇"通过搭建MySQL掌握k8s(Kubern ...

  4. kubernetes入门(04)kubernetes的核心概念(1)

    一.ReplicationController/ReplicaSet 在Kubernetes集群中,ReplicationController能够确保在任意时刻,指定数量的Pod副本正在运行.如果Po ...

  5. mysql上k8s_通过搭建MySQL掌握k8s(Kubernetes)重要概念(上):网络与持久卷

    上一篇"通过实例快速掌握k8s(Kubernetes)核心概念"讲解了k8s的核心概念,有了核心概念整个骨架就完整了,应付无状态程序已经够了,但还不够丰满.应用程序分成两种,无状态 ...

  6. k8s service type_通过搭建MySQL掌握k8s(Kubernetes)重要概念(上):网络与持久卷...

    点击上方蓝色"Go语言中文网"关注我们,设个星标,每天学习 Go 语言 前一篇"通过实例快速掌握 k8s(Kubernetes)核心概念[1]"讲解了 k8s ...

  7. Kubernetes(K8s)基本概念:HPA(Pod横向自动扩容)、StatefulSet

    Kubernetes基本概念:HPA.StatefulSet 一.水平扩展:HPA 二.StatefulSet 1)有状态服务的理解 2)StatefulSet的特性 一.水平扩展:HPA HPA全程 ...

  8. kubernetes的基础概念和安装

    ansible一键部署kubernetes 1.kuberneres的基本概念 1.1kubernetes是什么: 表达管理需求:容器编排系统: ​ 1.容器的创建销毁.监控.运行.终止: ​ 2.为 ...

  9. kubernetes入门(06)kubernetes的核心概念(3)

    一.API 对象 API对象是K8s集群中的管理操作单元.K8s集群系统每支持一项新功能,引入一项新技术,一定会新引入对应的API对象,支持对该功能的管理操作.例如副本集Replica Set对应的A ...

  10. kubernetes入门(03)kubernetes的基本概念

    一.Pod 在Kubernetes集群中,Pod是创建.部署和调度的基本单位.一个Pod代表着集群中运行的一个进程,它内部封装了一个或多个应用的容器.在同一个Pod内部,多个容器共享存储.网络IP,以 ...

最新文章

  1. dede使用方法----如何自定义字段
  2. python语言怎么用-这些小游戏是怎么用Python语言制作出来的……
  3. PostgreSQL将表导出为CSV(服务器端、客户机端)完整版
  4. 【分治的典型应用:归并排序】
  5. LiveVideoStack公众号内容改版通知
  6. 一个微服务架构的消费端
  7. 项目管理中的沟通管理(转)
  8. 为什么前端工程师很少用Visual Studio?
  9. 【华为OJ】按单词将句子逆序
  10. jupternote不同类之间相互调用(调用ipynb文件)
  11. 一路波折----记我的win10环境下scala安装之路,解决命令窗口报错问题
  12. python通信工程定额_通信工程2008版定额和2017版定额简单对比
  13. 大数据抽样- 概率抽样,随机采样
  14. 纯js实现搜索框自动补全
  15. VUE实现页面局部刷新
  16. AAAI 2020 提前看 | 三篇论文解读问答系统最新研究进展
  17. protobuf 性能对比
  18. mysql 表结构的复制
  19. 符号拓展指令CBW、CWD、CDQ、CWDE、CDQE
  20. C++智能指针详解(auto_ptr、unique_ptr、shared_ptr)

热门文章

  1. 简单了解一下函数模板
  2. Android --- ListView之高度由 item 的个数决定,wrap_content有效
  3. 如何防范计算机安全隐患,浏览器常见安全问题解析及如何加强防范与应对 -电脑资料...
  4. 绿色计算在数据中心的应用及节能效果浅析
  5. python 升级setuptools_linux 安装/升级 python3+setuptools+pip
  6. python输入两个变量的值、输出大的_Python 变量和输入输出 关卡二
  7. 无限乱斗机器人ap出装_LOL:无限火力仅剩4天,这5个英雄一定要尝试!
  8. Py之glob: glob库文件名模式匹配+返回所有匹配的文件路径列表库的简介、使用方法之详细攻略
  9. Dataset之AllstateClaimsSeverity:AllstateClaimsSeverity数据集(Kaggle2016竞赛)的简介、下载、案例应用之详细攻略
  10. Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能