k8s背景介绍

8. k8s背景介绍

B站视屏地址: k8s从0到1入门_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

介绍

Kubernetes是一个可以移植、可扩展的开源平台,使用 声明式的配置 并依据配置信息自动地执行容器化应用程序的管理。在所有的容器编排工具中(类似的还有 docker swarm / mesos等),Kubernetes的生态系统更大、增长更快,有更多的支持、服务和工具可供用户选择。

什么是容器化?

虚拟化技术定义: 通过虚拟化技术将一台计算机虚拟为多台逻辑计算机

在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

分类

  • 硬件级虚拟化(虚拟机)
    • 定义: 运行在硬件之上的虚拟化技术
    • 目的: 模拟一个完整的操作系统
    • 常见管理软件: virtualbox,VMware
  • 操作系统级虚拟化(容器化)
    • 定义: 运行在操作系统之上的虚拟化技术
    • 目的: 模拟运行在操作系统之上的多个不同的进程,并将其封装在一个密闭的容器中
    • 常见管理软件: docker,rktlet,containerd,cri-o

为什么使用容器?

  • 传统的应用部署方式定义:通过插件或者脚本来安装应用
    • 缺点
      • 不利于应用的升级和更新/回滚操作
      • 可以使用虚拟机, 但是虚拟机太重或者说是麻烦,移植性差
  • 容器的优势
    • 快速创建/部署应用
    • 持续开发/集成和部署
    • 开发和运行隔离
    • 开发/测试/生产 环境的一致性
    • 跨平台:操作系统的平台无关性
    • 资源隔离
    • 资源利用

常见的容器技术

  • docker
  • rktlet
  • cri-o
  • containerd

使用容器产生的问题?(为什么会诞生k8s?)

google 发行的k8s

前提: 当大规模使用容器技术时, 产生的问题

实践产生的问题

  • 跨主机的容器之间的通信问题-flannel网络插件
  • 服务发现问题
  • 容器监控问题-etcd组件
  • 容器镜像版本和更新问题-安全性,容器化的流程

这就是容器编排带来的问题

容器编排工具 k8s

容器编排工具 解决容器编排带来的问题

常见的容器编排工具:

  • k8s
  • docker swarm
  • mesos

k8s的作用:

  • 快速部署应用
  • 快速水平扩容
  • 不停机滚动更新
  • 节省硬件资源
  • 自动扩缩容
  • 应用健康监测
  • 服务发现与负载均衡
  • 秘钥管理
  • 存储挂载

关于理解k8s的注意点:

  • 不限制应用程序的类型
    可以部署任何语言的应用服务,比如Java,node,php,go
  • 不部署源码、不编译或构建应用程序 maven,Jenkins
    • 运行的是容器
    • 容器已经经过编译打包构建等流程
  • 不提供应用程序级别的服务,包括:中间件(例如,消息总线)、数据处理框架(例如,Spark)、数据库(例如,mysql)、缓存(例如,Redis),或者分布式存储(例如,Ceph)。此类组件可以在 Kubernetes 上运行,或者可以被运行在 Kubernetes 上的应用程序访问
  • 不限定日志、监控、报警的解决方案

联系我: [email protected] qq: 1344115844

你可能感兴趣的:(k8s背景介绍)