Kubernetes 基础知识总结

本文内容

  1. 前提关联知识
  2. k8s 是什么
  3. 怎么使用 k8s 部署一个 hello world 的Docker

Kubernetes 相关知识

  1. 分布式系统基础
    • 因为 k8s 的各个部分从原生设计上就是分布式,杂合了很多分布式系统的知识
  2. linux 系统基础
    • K8s部署和操作都推荐 使用 linux操作
  3. Docker 基础 (重点)
    • K8s 本质上是一个Docker管家,为应对大量docker容器的管理而生
  4. 学习精神
    • 阅读英文文档,才能得到完整的、最新的文档
    • 因环境不同,部署常常造成许多问题,保持一个进取和冷静的心才能快速解决问题

K8s 是什么

  1. K8s 是 Kubernetes的缩写,因为 ubernete 是8个字母,因而被称为 K8s
  2. K8s 是 Google 公司的一个内部系统(Borg)开源而来,近来在各种管理 Docker 的软件中脱颖而出,占据多数份额
  3. K8s 类似于一个软件系统,它的目的是 灵活高效的管理 Docker容器,K8s 不仅可以管理Docker容器,还可以管理其他 虚拟化容器

直接使用Docker 部署服务带来的问题

  1. 随着部署在 Docker容器中的 服务越来越来多,手动启动或暂停多个Docker 容器的效率过于低下
  2. 如何监控所有Docker 容器的状态,或者当Docker 容器所需要的资源已经不需要满足时,动态灵活地扩充或缩减资源
  3. Docker 搭建集群后,如何对所有Docker容器 进行负载均衡

面对这些问题,K8s 如何解决

  1. K8s 首先面对的问题,就是对多个容器进行控制,Docker 服务除了使用命令行执行,也可以使用API 进行控制
  2. K8s 自带一个网页,也就是可以通过网页点击管理容器,K8s 接管所有Docker 服务,暴露出 命令和API
  3. 有了 K8s ,可以不直接操作 Docker 也能完成服务部署,这就是 k8s 的核心功能

K8s 管理硬件资源和状态监控

  1. K8s 引入插件 Prometheus 进行可视化监控,也可以使用 dashboard 进行查看状态
  2. K8s 引入一个 Pods 的概念,Pod 相当于一个独立的资源,以前docker 是一个独立的资源,现在 Pod 是 K8s 中的最小管理单元
    • Pod中通常只放一个容器,也可以放多个容器,此时这几个容器应该是关联性非常强的
    • Pod拥有独立的CPU、内存、网络、存储资源
    • 查看官网对Pod的介绍
    • K8s 通过对 pod 进行操作,就可以对Docker容器进行控制了
    • 在用户层面使用特定格式的 yaml 文件进行声明,K8s 会按照文件内容部署Pod
  3. 以前我们部署 Docker 在一台机器上,K8s 引入一个 nodes 的概念,这台部署Docker 服务的机器就是一个 node, K8s 会把pod 部署在 node上,如下图
    • 右下角中 nodes 就是一台台服务器,也就是说,K8s 的管理不仅是多个docker容器,还是多个服务器上的多个docker容器
      在这里插入图片描述
  4. 总结
concept 意思 关联 备注
pod K8s 管理的最小单元 容器部署在pod中 pod 可容纳一个或多个有紧密联系的容器
node K8s 中的部署服务器 pod部署在node中 node 可部署多个 pod

K8s 的大脑 K8s 控制层

K8s 抢救容器

K8s

猜你喜欢

转载自blog.csdn.net/weixin_42290927/article/details/107065870