K8S 基础概念

2022-01-26  本文已影响0人  强出头

了解什么是容器编排?

容器编排就是有关管理容器生命周期的全部工作,特别是在大型动态环境中。 软件团队使用容器编排来控制和自动化许多任务:

Kubernetes

Kubernetes集群

•运行中的Kubernetes集群包含节点代理(kubelet)和集群控制平面(AKA主节点),集群状态由分布式存储系统(etcd)支持

image image

Kubernetes主要由以下几个核心组件组成:

除了核心组件,还有一些推荐的插件,其中有的已经成为CNCF中的托管项目:

Kubernetes Master

image
Kube-Master 的工作流程图
image
  1. Kubecfg 将特定的请求发送给 Kubernetes Client(比如:创建 Pod 的请求)。

  2. Kubernetes Client 将请求发送给 API Server。

  3. API Server 会根据请求的类型选择用何种 REST API 对请求作出处理(比如:创建 Pod 时 Storage 类型是 Pods 时,其对应的就是 REST Storage API)。

  4. REST Storage API 会对请求作相应的处理并将处理的结果存入高可用键值存储系统 Etcd 中。

  5. 在 API Server 响应 Kubecfg 的请求后,Scheduler 会根据 Kubernetes Client 获取的集群中运行 Pod 及 Minion / Node 信息将未分发的 Pod 分发到可用的 Minion / Node 节点上。

API Server 「资源操作入口」
Controller Manager 「内部管理控制中心」

Controller Manager 用于实现 Kubernetes 集群故障检测和恢复的自动化工作。Controller Manager 主要负责执行以下各种控制器:

image
Scheduler「集群分发调度器」

Kube-Node「服务节点」

image image

Kubelet 「节点上的 Pod 管家」

Proxy「负载均衡、路由转发」

Kubectl 「集群管理命令行工具集」

Kubernetes Network

image

客户端访问 ——> service1 ——> Pod1 ——> service2 ——>Pod2

所有的Pod之前的访问都是由其service来代理的,当Pod间知道相应的Pod的IP后,就会直接进行通信,可以理解为DNS的作用。

Kubernetes的关键概念

• Pod - 一组容器

• 标签 - 用于识别Pods的标签

• Kubelet - 容器代理

• kube-proxy - Pod的负载平衡器

• etcd - 元数据服务

• cAdvisor - 容器顾问提供者资源使用/性能统计

• Replication Controller - 管理Pod的复制

• Scheduler- 调度工作节点中的Pod

• API Server - Kubernetes API服务器

什么是Pod?

Pod用例

Replication Controller

Controller

管理Pod | 复制集

处理复制和推出 | 部署

提供自我修复功能 | 守护程序集

使用个Pod模板制作真实的Pods | 工作

Service

image
Labels & Selectors

Service

image

kube-proxy

Proxy-mode: userspace
image
Proxy-mode: iptables
image
Discovering services
DNS

Ingress

image

Overlay network concept

image image

kubernetes Object

Object 规格和状态

描述Kubernetes对象

上一篇下一篇

猜你喜欢

热点阅读