【云原生 • Kubernetes】认识 k8s、k8s 架构、焦点概念点介绍 ...

张春  金牌会员 | 2024-6-28 08:51:24 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 692|帖子 692|积分 2076


目次
一、Kubernetes 简介
二、Kubernetes 架构
三、Kunbernetes 有哪些焦点概念?
1. 集群 Cluster
2. 容器 Container
3. POD
4. 副本集 ReplicaSet
5. 服务 service
6. 发布 Deployment
7. ConfigMap/Secret
8. DaemonSet
9. 焦点概念总结

一、Kubernetes 简介

Kubernetes 简称 k8s,是支持云原生摆设的一个平台,起源于谷歌。谷歌早在十几年之前就对其应用,通过容器方式进行摆设。
k8s 本质上就是用来简化微服务的开辟和摆设的,关注点包括自愈和自动伸缩、调度和发布、调用链监控、设置管理、Metrics 监控、日志监控、弹性和容错、API 管理、服务安全等,k8s 将这些微服务的公共关注点以组件情势封装打包到 k8s 这个大平台中,让开辟职员在开辟微服务时专注于业务逻辑的实现,而不需要去特别关系微服务底层的这些公共关注点,大大简化了微服务应用的开辟和摆设,提高了开辟效率。
二、Kubernetes 架构

k8s 总体架构采用了经典的 master slave 架构模式,分 master 节点和 worker 节点,节点可以是虚拟机也可以是物理机。

master 节点由以下组件组成;
   

  • etcd,一种的分布式存储机制,底层采用 Raft 协议,k8s 集群的状态数据包括设置、节点等都存储于 etcd 中,它生存了整个集群的状态。
  • API server,对外提供利用和获取 k8s 集群资源的的 API,是唯一利用 etcd 的组件,其他的组件包括管理员利用都是通过 API server 进行交互的,可以将它明白成 etcd 的 “代理人”。
  • Scheduler,在 k8s 集群中做调动决定,负责资源的调度,按照预定的调度计谋将 Pod 调度到相应的呆板上。
  • Controller Manager,相当于集群状态的和谐者,观察着集群的实际状态,与 etcd 中的预期状态进行对比,如果不一致则对资源进行和谐利用让实际状态和预期状态达到最终的一致,维护集群的状态,比仍旧障检测、自动扩展、滚动更新等。
  worker 节点由以下组件组成:
   

  • Controller Runtime,下载镜像和运行容器的组件,负责镜像管理以及 Pod 和容器的真正运行(CRI)。
  • Pod,k8s 中特有的一个概念,可以明白为对容器的包装,是 k8s 的基本调度单位,实际的容器时运行在 Pod 中的,一个节点可以启动一个或多个 Pod。
  • kubelet,负责管理 worker 节点上的组件,与 master 节点上的 API server 节点进行交互,继承指令执行利用。
  • kube-proxy,负责对 Pod 进行寻址和负载平衡
  用户利用 k8s 集群一般是通过 kubectl 命令行工具大概 dashboard;Pod 之间进行通讯是通过集群内部的覆盖网络 Overlay Network,外部流量想要进入集群访问 Pod 则是通过负载平衡 Load Balander 装备进行。
三、Kunbernetes 有哪些焦点概念?

1. 集群 Cluster

集群有多个节点组成且可以按需添加节点(物理机/虚拟机),每一个节点都包罗肯定数量的 CPU 和内存 RAM。

2. 容器 Container

k8s 本身是一个容器调度平台,从宿主机利用系统来看,容器就是一个一个的历程。从容器内部来看容器就是一个利用系统,它有着本身的网络、CPU、文件系统等资源。

3. POD

k8s 也不是直接调度容器的,而是将其封装成了一个个 POD,POD 才是 k8s 的基本调度单位。每个 POD 中可以运行一个或多个容器,共享 POD 的文件系统、IP 和网络等资源,每一个 POD 只有一个 IP。

4. 副本集 ReplicaSet

一个应用发布时会发布多个 POD 实例,副本集可对应一个应用的一组 POD,它可以通过模板来规范某个应用的容器镜像、端口,副本数量等。运行时副本集会监控和维护 POD 的数量,数量过多则会下线 POD,过少则启动 POD。

5. 服务 service

POD 在 k8s 中是不固定的,大概会挂起大概重启,且挂起重启都是不可预期的,那么这就会导致服务的 IP 也随着不绝的变革,给用户的寻址造成肯定的困难。而 service 就是用来办理这个问题的,它屏蔽了应用的 IP 寻址和负载平衡,消费方可直接通过服务名来访问目标服务,寻址和负载平衡均由 service 底层进行。
6. 发布 Deployment

副本集就是一种基本的发布机制,可以实现基本的大概高级的应用发布,但利用较为繁琐。未来简化这些利用,k8s 引入了 Deployment 来管理 ReplicaSet,实现一些高级发布机制。

7. ConfigMap/Secret

微服务在上线时需要设置一些可变设置,环境差别则设置值差别,有些设置如数据库的连接字符串在启动时就应该配好,有些设置则可以在运行中动态调解。为了实现针对差别环境机动实现动态设置,微服务就需要 ConfigMap 的支持。
k8s 平台内置支持微服务的设置(ConfigMap),开辟职员将设置填写在 ConfigMap 中,k8s 再 将 ConfigMap 中的设置以环境变量的情势注入 POD,如许 POD 中的应用就可以访问这些设置。
Secret 是一种特殊的 ConfigMap,提供更加安全的存储和访问设置机制。
8. DaemonSet

在微服务中,每个节点需要设置一个常驻守护历程。DaemonSet 可支持在每一个 worker 节点上面设置一个守护历程 POD 并且包管每一个节点上有且仅有一个 POD。
9. 焦点概念总结

概念作用cluster超大计算机抽象,由节点组成Container应用居住和运行在容器中PodKubernetes 基本调度单位Service应用Pods的访问点,屏蔽IP寻址和负载平衡 Deployment
管理ReplicaSet,支持滚动等高级发布机制ConfigMap/Secrets应用设置,secret敏感数据设置DaemonSet包管每个节点有且仅有一个Pod,常见于监控 以上概念点为 Kubernetes 最基本和最紧张的概念总结,把握后可适用于绝大部分云原生场景,另有部分概念本文未作介绍。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表