k8s基础以及kubeadm安装部署

本文介绍了Kubernetes(k8s)的核心概念,包括其弹性伸缩、自我修复、服务发现等特性,详细阐述了核心组件如apiserver、controller-manager等的工作流程,并指导了kubeadm部署过程,涉及网络配置和Dashboard的部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、什么是k8s?

二、k8s的特性

三、核心组件以及工作流程

核心组件: 

工作流程:

四、k8s网络

五、kubeadm部署


一、什么是k8s?

K8S 的全称为 Kubernetes,用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。

二、k8s的特性

1、弹性伸缩:使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性;业务低峰时回收资源,以最小成本运行服务。

2、自我修复:在节点故障时重新启动失败的容器,替换和重新部署,保证预期的副本数量;杀死健康检査失败的容器,并且在未准备好之前不会处理客户端请求,确保线上服务不中断。

3、服务发现和负载均衡:K8S为多个容器提供一个统一访问入口(内部IP地址和一个DNS名称),并且负载均衡关联的所有容器,使得用户无需考虑容器IP问题。

4、自动发布(默认滚动发布模式)和回滚:K8S采用滚动更新策略更新应用,一次更新一个或者部分Pod,而不是同时删除所有Pod,如果更新过程中出现问题,将回滚更改,确保升级不影响业务。

5、集中化配置管理和密钥管理:管理机密数据和应用程序配置,而不需要把敏感数据暴露在镜像里,提高敏感数据安全性。并可以将一些常用的配置存储在K8S中,方便应用程序使用。

6、存储编排,支持外挂存储并对外挂存储资源进行编排:挂载外部存储系统,无论是来自本地存储,公有云(如AWS),还是网络存储(如NFS、Glusterfs、Ceph)都作为集群资源的一部分使用,极大提高存储使用灵活性。

7、任务批处理运行:提供一次性任务,定时任务;满足批量数据处理和分析的场景。

三、核心组件以及工作流程

核心组件: 

Kube-apiserver:用于暴露 Kubernetes API,任何资源请求或调用操作都是通过 kube-apiserver 提供的接口进行。它具有调度所有组件的权限。

Kube-controller-manager:运行管理控制器,是 K8S 集群中处理常规任务的后台线程,是 K8S 集群里所有资源对象的自动化控制中心。

Kube-scheduler:是负责资源调度的进程,根据预选策略和优选策略为新创建的 Pod 选择一个合适的 Node 节点。

etcd:K8S 的存储服务。etcd 是分布式键值存储系统,存储了 K8S 的关键配置和用户配置,K8S 中仅 API Server 才具备读写权限,其他组件必须通过 API Server 的接口才能读写数据。

Kubelet:Node 节点的监视器,以及与 Master 节点的通讯器。Kubelet 是 Master 节点安插在 Node 节点上的“眼线”,它会定时向 API Server 汇报自己 Node 节点上运行的服务的状态,并接受来自 Master 节点的指示采取调整措施。

Kube-Proxy:在每个 Node 节点上实现 Pod 网络代理,是 Kubernetes Service 资源的载体,负责维护网络规则和四层负载均衡工作。 负责写入规则至iptables、ipvs实现服务映射访问的。

工作流程:

用户通过客户端发送创建Pod的请求到master节点上的apiserver,apiserver会先把请求信息写入到etcd中保存,再找controller-manager根据预设的资源配置模板创建Pod资源,然后controller-manager会通过apiserver去找scheduler为新创建的Pod选择最合适的node节,scheduler通过调度算法的预选策略和优选策略筛选出最合适的node节点进行调度,其中预选策略是淘汰不符合条件的,而优选策略是选出一个或者几个最优的,然后再通过apiserver找到对应的node节点上的kubelet去创建和管理Pod,kubelet会跟容器引擎交互来管理Pod/容器的生命周期,用户还可通过apiserver在kube-proxy上写入网络规则,创建service资源,实现对Pod的服务发现和负载均衡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值