Kubernetes 基础概念

本贴最后更新于 1742 天前,其中的信息可能已经时移世易

本文主要参考了以下几篇文章,将一些基础的概念整理了一下

# Kubernetes 架构
# Kubernetes 指南
# 不完美的 K8S 与阿里的解决之道

之前我们快速部署了 Kubernetes,对于 Kubernetes 架构没有涉及,这里对基础架构整理一下:

  1. 架构是个啥样子
  2. 一般都有点啥、有啥用
  3. 组件间大概的流程

1. 架构是个啥样子:

Kubernetes 大概的架构如下图了,Master+Slave(两个 Node):

components.png

2. 一般都有点啥、有啥用:

  • etcd 保存了整个集群的状态;
  • kube-apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制;
  • kube-controller-manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
  • kube-scheduler 负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上;
  • kubelet 负责维持容器的生命周期,同时也负责 Volume(CVI)和网络(CNI)的管理;
  • Container runtime 负责镜像管理以及 Pod 和容器的真正运行(CRI),默认的容器运行时为 Docker;
  • kube-proxy 负责为 Service 提供 cluster 内部的服务发现和负载均衡;
  • kube-dns 负责为整个集群提供 DNS 服务

3. 组件间大概的流程

比如创建一个 Pod 的流程为:

  1. 用户通过 REST API 创建一个 Pod
  2. apiserver 将其写入 etcd
  3. scheduluer 检测到未绑定 Node 的 Pod,开始调度并更新 Pod 的 Node 绑定
  4. kubelet 检测到有新的 Pod 调度过来,通过 container runtime 运行该 Pod
  5. kubelet 通过 container runtime 取到 Pod 状态,并更新到 apiserver 中

workflow.png

点到为止,不过度深入,想再了解可以看下开头提到的三篇文章

看到文章的最好进博客看文章哦,体验应该是最好的

  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    108 引用 • 54 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...