searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Kubernetes(K8s)基础知识简介

2024-05-15 01:57:35
18
0

一、概述

Kubernetes(简称K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它提供了一个跨主机集群的分布式系统平台,使得开发者能够更轻松地部署、扩展和管理容器化应用程序。

凭借其强大的容器编排能力、横向扩容能力,已成为企业首选的容器管理平台。利用k8s提供的工具,不用修改代码,就能将一个k8s集群从只能包含几个Node的小集群平滑扩展到拥有个上百个Node的大集群,从而承受大量用户并发带来的压力,从而支撑企业业务的快速发展。
 
 
 二、核心组件
 
 Kubernetes集群由多个组件组成,集群由Master节点和Worker节点构成。Master节点负责整个集群的管理和控制,而Worker节点则负责运行容器化应用程序。其他的核心组件主要包括:API Server、Scheduler、Controller Manager、Kubelet、Kube-Proxy,简要介绍如下:
 
 1、API Server:API Server是Kubernetes集群的入口,它提供了RESTful API供外部客户端和内部组件进行通信。、


 2、Scheduler:Scheduler负责监听新创建的Pod,并根据预设的调度算法和策略选择一个合适的Worker节点来运行该Pod。


 3、Controller Manager:Controller Manager是Kubernetes集群中的控制器组件,负责维护集群的状态。它通过监听API Server中的资源对象状态变化,并根据预设的控制逻辑进行自动调整。


 4、Etcd:Etcd是一个高可用的键值存储系统,用于存储Kubernetes集群的元数据和配置信息。
 
 在Worker节点上,主要运行的是Kubelet和Kube-Proxy两个组件:
 
 1、Kubelet:Kubelet是Worker节点上的代理,它负责接收并执行来自Master节点的指令,管理该节点上的容器和Pod。


 2、Kube-Proxy:Kube-Proxy负责在Worker节点上实现网络代理和负载均衡功能,确保容器化应用程序之间的网络通信能够正常进行。
 
 三、基本术语
 
 1、Pod:Pod是Kubernetes中最小的可部署单元,它包含一个或多个容器以及这些容器共享的一些存储、网络和配置资源。


 2、Service:Service是Kubernetes中的服务抽象,它定义了一组Pod的访问策略。通过Service,客户端可以访问到集群中的一组Pod,而无需关心这些Pod的具体位置和数量。


 3、Deployment:Deployment是Kubernetes中的一种资源对象,用于定义和管理Pod的部署策略。通过Deployment,可以实现Pod的滚动更新、版本回滚和扩容缩容等功能。


 4、ReplicaSet:ReplicaSet是Kubernetes中的一种资源对象,用于确保集群中运行的Pod数量与预设的期望值一致。当Pod数量少于期望值时,ReplicaSet会自动创建新的Pod;当Pod数量多于期望值时,ReplicaSet会自动删除多余的Pod。
 
 四、工作原理
 
 Kubernetes的工作原理主要基于以下几个核心概念:
 
 1、声明式配置:Kubernetes采用声明式配置的方式,用户通过编写YAML或JSON文件来描述应用程序的期望状态(Desired State)。然后,Kubernetes会根据这些描述自动将应用程序部署到集群中,并持续监控应用程序的状态,确保其与期望状态保持一致。


 2、控制器模式:Kubernetes通过控制器模式来实现对集群的自动化管理。每个控制器都负责维护一种特定的资源对象(如Deployment、ReplicaSet等),并根据该资源对象的定义和集群的当前状态来自动执行相应的操作(如创建、删除或更新Pod等)。


 3、服务发现和负载均衡:Kubernetes通过Service和Kube-Proxy组件来实现服务发现和负载均衡功能。Service为Pod提供了一个稳定的访问入口地址,而Kube-Proxy则负责在Worker节点上实现网络代理和负载均衡功能,确保客户端能够访问到集群中的一组Pod。

0条评论
作者已关闭评论
杜****然
1文章数
0粉丝数
杜****然
1 文章 | 0 粉丝
杜****然
1文章数
0粉丝数
杜****然
1 文章 | 0 粉丝
原创

Kubernetes(K8s)基础知识简介

2024-05-15 01:57:35
18
0

一、概述

Kubernetes(简称K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它提供了一个跨主机集群的分布式系统平台,使得开发者能够更轻松地部署、扩展和管理容器化应用程序。

凭借其强大的容器编排能力、横向扩容能力,已成为企业首选的容器管理平台。利用k8s提供的工具,不用修改代码,就能将一个k8s集群从只能包含几个Node的小集群平滑扩展到拥有个上百个Node的大集群,从而承受大量用户并发带来的压力,从而支撑企业业务的快速发展。
 
 
 二、核心组件
 
 Kubernetes集群由多个组件组成,集群由Master节点和Worker节点构成。Master节点负责整个集群的管理和控制,而Worker节点则负责运行容器化应用程序。其他的核心组件主要包括:API Server、Scheduler、Controller Manager、Kubelet、Kube-Proxy,简要介绍如下:
 
 1、API Server:API Server是Kubernetes集群的入口,它提供了RESTful API供外部客户端和内部组件进行通信。、


 2、Scheduler:Scheduler负责监听新创建的Pod,并根据预设的调度算法和策略选择一个合适的Worker节点来运行该Pod。


 3、Controller Manager:Controller Manager是Kubernetes集群中的控制器组件,负责维护集群的状态。它通过监听API Server中的资源对象状态变化,并根据预设的控制逻辑进行自动调整。


 4、Etcd:Etcd是一个高可用的键值存储系统,用于存储Kubernetes集群的元数据和配置信息。
 
 在Worker节点上,主要运行的是Kubelet和Kube-Proxy两个组件:
 
 1、Kubelet:Kubelet是Worker节点上的代理,它负责接收并执行来自Master节点的指令,管理该节点上的容器和Pod。


 2、Kube-Proxy:Kube-Proxy负责在Worker节点上实现网络代理和负载均衡功能,确保容器化应用程序之间的网络通信能够正常进行。
 
 三、基本术语
 
 1、Pod:Pod是Kubernetes中最小的可部署单元,它包含一个或多个容器以及这些容器共享的一些存储、网络和配置资源。


 2、Service:Service是Kubernetes中的服务抽象,它定义了一组Pod的访问策略。通过Service,客户端可以访问到集群中的一组Pod,而无需关心这些Pod的具体位置和数量。


 3、Deployment:Deployment是Kubernetes中的一种资源对象,用于定义和管理Pod的部署策略。通过Deployment,可以实现Pod的滚动更新、版本回滚和扩容缩容等功能。


 4、ReplicaSet:ReplicaSet是Kubernetes中的一种资源对象,用于确保集群中运行的Pod数量与预设的期望值一致。当Pod数量少于期望值时,ReplicaSet会自动创建新的Pod;当Pod数量多于期望值时,ReplicaSet会自动删除多余的Pod。
 
 四、工作原理
 
 Kubernetes的工作原理主要基于以下几个核心概念:
 
 1、声明式配置:Kubernetes采用声明式配置的方式,用户通过编写YAML或JSON文件来描述应用程序的期望状态(Desired State)。然后,Kubernetes会根据这些描述自动将应用程序部署到集群中,并持续监控应用程序的状态,确保其与期望状态保持一致。


 2、控制器模式:Kubernetes通过控制器模式来实现对集群的自动化管理。每个控制器都负责维护一种特定的资源对象(如Deployment、ReplicaSet等),并根据该资源对象的定义和集群的当前状态来自动执行相应的操作(如创建、删除或更新Pod等)。


 3、服务发现和负载均衡:Kubernetes通过Service和Kube-Proxy组件来实现服务发现和负载均衡功能。Service为Pod提供了一个稳定的访问入口地址,而Kube-Proxy则负责在Worker节点上实现网络代理和负载均衡功能,确保客户端能够访问到集群中的一组Pod。

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0