美文网首页
k8s背景介绍

k8s背景介绍

作者: suveng | 来源:发表于2020-02-19 18:27 被阅读0次

    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 上的应用程序访问
    • 不限定日志、监控、报警的解决方案

    联系我: suveng@163.com qq: 1344115844

    相关文章

      网友评论

          本文标题:k8s背景介绍

          本文链接:https://www.haomeiwen.com/subject/nyxzfhtx.html