1 Star 0 Fork 0

tking / micro-service

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Kubernetes学习笔记之基础概念整理.md 3.59 KB
一键复制 编辑 原始数据 按行查看 历史
tking 提交于 2022-01-16 10:10 . style

Kubernetes基础概念

什么是 kubernetes:

官方介绍

Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

使用 kubernetes 需要了解哪些

kubernetes组件

鸟瞰图 51120ad23b216a6946e3c4ebef2106bf.svg+xml 分别看看图里的每个概念

Control Plane Components 控制平面组件

控制平面的组件对集群做出全局决策(比如调度),以及检测和响应集群事件(例如,当不满足部署的 replicas 字段时,启动新的 pod)。

Node 组件

节点组件在每个节点上运行,维护运行的 Pod 并提供 Kubernetes 运行环境

kubelet

一个在集群中每个节点(node)上运行的代理。 它保证容器(containers)都 运行在 Pod 中。

kube-proxy

kube-proxy 是集群中每个节点上运行的网络代理, 实现 Kubernetes 服务(Service) 概念的一部分。

kubernetes API

Kubernetes 控制面 的核心是 API 服务器。 API 服务器负责提供 HTTP API,以供用户、集群中的不同部分和集群外部组件相互通信。

Kubernetes API 使你可以查询和操纵 Kubernetes API 中对象(例如:Pod、Namespace、ConfigMap 和 Event)的状态。

kubernetes 对象

在 Kubernetes 系统中,Kubernetes 对象 是持久化的实体。

Namespace 名字空间

Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。 这些虚拟集群被称为名字空间。 在一些文档里名字空间也称为命名空间。

Pod

Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元

Ingress

Ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP

Node

Node是Pod真正运行的主机,可以物理机,也可以是虚拟机。为了管理Pod,每个Node节点上至少要运行container runtime(比如docker或者rkt)、kubelet和kube-proxy服务。

Deployment

Deployment为Pod和ReplicaSet提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationController来方便的管理应用。

Service

Kubernete Service 是一个定义了一组Pod的策略的抽象,我们也有时候叫做宏观服务

StatefulSet

StatefulSet是为了解决有状态服务的问题(对应Deployments和ReplicaSets是为无状态服务而设计

分层

给每个协作组件分层理解

Ingress Gateway 层

可以将 Ingress 配置为服务提供外部可访问的 URL、负载均衡流量、终止 SSL/TLS,以及提供基于名称的虚拟主机等能力。 Ingress 控制器 通常负责通过负载均衡器来实现 Ingress,尽管它也可以配置边缘路由器或其他前端来帮助处理流量。

d32a4fd5a39254b36c79f9d6375da6a6.png

Internal Gateway 层

service 将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法。使用 Kubernetes,你无需修改应用程序即可使用不熟悉的服务发现机制。 Kubernetes 为 Pods 提供自己的 IP 地址,并为一组 Pod 提供相同的 DNS 名, 并且可以在它们之间进行负载均衡。

pod && service 之dns

参考

https://kubernetes.io/zh/

https://github.com/kubernetes/kubernetes

1
https://gitee.com/lucktk/study-nodes.git
git@gitee.com:lucktk/study-nodes.git
lucktk
study-nodes
micro-service
master

搜索帮助