Kubernetes之入门简介与宏观理解

Kubernetes官网

https://kubernetes.io/

1.Kubernetes 是一个开源系统,用于容器化应用的自动部署、扩缩和管理。 
  Kubernetes 将构成应用的容器按逻辑单位进行分组以便于管理和发现。

Kubernetes通俗理解

1.简单理解:我们可以认为Kubernetes是就是对集群节点上的容器的一个编排,部署等管理;
2.另外可以对集群节点上的服务进行监控监控|服务发现等操作
3.Kubernetes是对docker Container的一个编排和管理

Kubernetes与云原生

云原生官网

https://www.cncf.io/

1.CNCF(The Cloud Native Computing Foundation):云原生计算应用,支持·编排容器化微服务架构;
2.云:公有云,私有云,华为云,百度云,阿里云等等各种云,但是基于各种云的不同,需要统一个标准,
   所以慢慢有了有一个CNCF,CNCF的出现,使得项目不受各种云(公有云,私有云,混合云,阿里云等)的限制,可以进行无缝的迁移;
   这样你的项目,不管是在本地还是各种云上,部署和运行都不受限制;
3.Kubernetes是成为云原生时代解决上面问题的基础设施;

Docker Compose与 Kubernetes 以及Docker Swarm

1.Docker Compose是单机容器编排技术;
2.kubernetes和Docker Swarm都是多机容器编排技术;
3.目前Kubernetes是比较主流的多机容器编排技术;

Kubernetes架构组件设计

Pod

https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/

1.Kubernetes管理的最小单位为Pod(),一个Pod包含一个或多个Container;

在这里插入图片描述

ReplicaSet ---->Pod 的操作

https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/
在这里插入图片描述

1.我们可以通过ReplicaSet对Pod进行管理,比如复制Pod等等

在这里插入图片描述

Deployments —>ReplicaSet和Pod的管理

https://kubernetes.io/docs/concepts/workloads/controllers/deployment/

1.Deployments提供ReplicaSet和Pod的声明以及相关的管理操作;

在这里插入图片描述

Label

https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/

1.Labels are key/value pairs that are attached to objects, such as pods. 
  Labels是一些打在组件对象上的key/value的键值对,比如Pods;
2.Labels 标签可以打在Pod ReplicaSet Deployments等任意组件上;  
  针对共同的标签属性,我们可以用来进行标签管理;

Service

https://kubernetes.io/docs/concepts/services-networking/service/
相同label的我们称之为sevice

1.An abstract way to expose an application running on a set of Pods as a network service.
  Service是暴露具有相同label属性的正在运行的一系列Pod作为网络服务的一种抽象方式;

Selector

https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors/

1.service对上面label定义的标签的引用;
2.某个组件需要引用别的组件,就使用这种方式;

在这里插入图片描述

Nodes

https://kubernetes.io/docs/concepts/architecture/nodes/

1.A node is a worker machine in Kubernetes
  一个Node就是Kubernetes中的一个Worker节点,相当于就是一台机器;

在这里插入图片描述

Kuberctl -->Kubernetes操作的组件

在这里插入图片描述

Master Node[主节点]

1.Kuberctl:是对Kubernetes操作的客户端组件
2.对于Kuberctl的操作,主节点(Master Node)会有认证和授权,确认当前请求的客户端是否有操作的权限;
3.主节点(Master Node)上对于Kuberctl同样会有相关的API Server服务,来响应Kuberctl客户端的请求;
4.Schedule策略:比如我们通过Kuberctl请求Master主节点,要将那个Pod运行在那个Worker节点上等等,
  或者要在那个Workder上创建其他的什么组件等
5.Controller Manager:主要是比如上面的Schedule策略选定之后,如何请求管理
6.还有比如DNS组件等等
7.Dashbaord组件

Workder Node[Worder节点]

1.每个子节点上会有Kuber Proxy组件,用于处理主节点(Master Node)Controller Manager的请求;
2.Kubelet:可以用来创建Pod
3.鉴于Pod是包含Container的,因此,每个Worker节点,都需要Docker(Engine)的安装;
4.另外对于每台机器的请求数量的统计,我们可以使用etcd组件去统计

备注

1.组件很多,暂且不再过多叙述;

官网架构图

https://kubernetes.io/docs/concepts/architecture/cloud-controller/
在这里插入图片描述

1.里面东西,有些我们能理解,有些不能理解暂时先放一下;
发布了261 篇原创文章 · 获赞 37 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/u014636209/article/details/103648174