![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kubernetes
文章平均质量分 76
我爱记笔记
这个作者很懒,什么都没留下…
展开
-
十三、K8S之亲和性
在K8S中,亲和性(Affinity)用来定义Pod与节点关系的概念,亲和性通过指定标签选择器和拓扑域约束来决定 Pod 应该调度到哪些节点上。与污点相反,它主要是尽量往某节点靠。亲和性是 Kubernetes 中非常有用的调度策略,作用是优化 Pod 的调度策略,以便将 Pod 调度到满足特定条件的节点上,从而实现更高效的资源利用、提高容错性和性能等方面的需求。原创 2024-01-04 22:50:49 · 966 阅读 · 0 评论 -
十二、K8S之污点和容忍
K8S的污点和容忍是其中一种高级调度功能,作用是让 Kubernetes 集群中的节点有选择地接受或拒绝来自不同类型 Pod 的调度请求,可以帮助运维人员更好地管理、调度和控制应用程序的部署。原创 2023-12-30 19:22:38 · 1250 阅读 · 1 评论 -
十一、K8S之持久化存储
持久化存储通常用于程序的状态数据、数据库文件、日志文件等需要在容器生命周期之外的数据,它可以通过各种存储解决方案实现,如主机路径、本地存储、网络存储(如NFS、ISCSI)、云存储等。PV是集群中的一块存储,它可以是物理存储设备、网络存储卷或云提供商的存储服务。PV独立于Pod的生命周期,可以被多个Pod共享PVC是Pod对持久化存储的请求。 它相当于是Pod对PV的申请单。Pod可以通过声明PVC来请求所需的存储资源,并指定访问模式、容量和存储类等要求。Kubernetes会根据PVC的要求去匹配可用原创 2023-11-06 22:44:43 · 427 阅读 · 0 评论 -
十、K8S之ConfigMap
ConfigMap是一种用于存储配置数据的API对象,一般用于存储Pod中应用所需的一些配置信息,或者环境变量。将配置于 Pod 分开,避免应为修改配置导致还需要重新构建 镜像与容器。`subPath` 的作用是允许在容器内部选择性的挂载Volume中的特定文件或者目录,而不是将整个Volume挂载到容器中。原创 2023-11-06 22:43:25 · 437 阅读 · 0 评论 -
九、K8S之Ingress
Ingress提供从集群外部到集群内服务的Http路由,流量路由由 Ingress 资源所定义的规则来控制。通过配置,Ingress可为Service提供外部可访问的URL,对其流量作负载均衡,代理转发。Ingress 的使用可以大大简化应用程序的网络配置和流量路由,并且提供了灵活的路由规则和流量控制功能。要使用Ingress,需要安装并且配置Ingress控制器。控制器通常是一个负载均衡器,它监听Ingress对象变化,并动态地更新流量路由规则。K8S支持多种Ingress控制器,例如:Nginx、原创 2023-10-15 22:41:05 · 256 阅读 · 0 评论 -
八、K8S之HPA自动扩缩容
HPA(Horizontal Pod Autoscaler,水平 Pod 自动伸缩)是 Kubernetes 中的一种特性,其作用是根据资源使用情况自动调整 Pod 的副本数,以实现应用程序的自动扩展和收缩。HPA 可以根据 CPU 使用率或其他自定义指标来自动扩展或收缩 Pod。每隔30s(可以通过–horizontal-pod-autoscaler-sync-period修改)查询metrics的资源使用情况,Pod 的 CPU 使用率超过了 HPA 的目标值,那么 HPA 将创建更多的 Pod原创 2023-10-15 22:39:51 · 308 阅读 · 0 评论 -
七、K8S之DaemonSet
**DaemonSet** 是一个针对节点的Pod控制器,确保全部或者某些节点上运行一个Pod副本。当有节点加入集群时,也会为他们新增一个Pod。节点从集群移除,Pod也会被回收,删除DaemonSet 将会删除它创建的所有Pod。原创 2023-10-15 22:38:42 · 193 阅读 · 0 评论 -
六、K8S之StatefulSet
和`Deployment`一样StatefulSet也是中一种可以帮助我们部署和扩展`Pod`的控制器,使用`Deployment`时多数时候不需要在意Pod的调度方式。如果需要关心`Pod`的部署顺序、对应持久化存储或者要求`Pod`拥有固定的网络标识时,就需要`StatefulSet`控制器来完成调度工作每个由`StatefulSet`创建出来的`Pod`都拥有一个序号(从0开始,启动完成才会进行下一个)和固定的网络标识。并且可以在yaml中定义添加**`VolumeClaimTemplate`**原创 2023-10-15 22:37:51 · 370 阅读 · 0 评论 -
五、K8S之Service
会在每个宿主节点的一个指定固定端口号上暴露Service,与此同时还会自动创建一个ClusterIP类型的Service,NodePort类型的Service会将集群外部的请求路由给NodePort类型的Service。对一些应用的某些部分,可能只需要集群内部网路访问,而有些部分(如前端)可能需要其公开外部IP地址,也就是可以从集群外部访问某个地址,所以在创建Service可以指定所需要的Service类型。这个CNAME记录是在Service的spec.externalName里指定的,原创 2023-10-15 22:36:54 · 245 阅读 · 0 评论 -
四、K8S之Deployment
在K8S中,Deployment是一种更高层级的控制器,用于管理应用程序的部署和更新。为 Pod和 ReplicaSet提供声明式的更新能力。比如:部署ReplicaSet(副本集)清理不再需要的旧版RS扩展/缩小RS里的Pod数量动态更新Pod(根据Pod模板定义的更新用新Pod替换旧Pod)回滚到以前的Deployment版本。原创 2023-10-15 22:36:01 · 728 阅读 · 0 评论 -
三、K8S之ReplicaSet
Kubernetes最核心的功能是编排,编排操作都是依靠控制器对象来完成,高级控制器控制着基础的控制器,基础控制器再去控制Pod,Pod里面再包容器。K8S项目里API对象层级大概就是这样。而ReplicaSet这个控制器是用来控制副本数量的,每个副本就是Pod。ReplicaSet它用来确保外面有指定数量的Pod副本正在运行。但是K8S建议使用**Deployment。原创 2023-10-15 22:34:53 · 348 阅读 · 0 评论 -
二、K8S之Pods
K8S作为一个容器编排管理工具,它可以自动化容器部署、容器扩展、容器负载均衡等任务,并提供容器的自愈能力等功能。在Kubernetes中,Pod是最基本的调度单元,它是一组共享存储和网络资源的容器集合,通常是部署在同一台物理机或虚拟机上的。原创 2023-10-15 22:33:58 · 554 阅读 · 0 评论 -
一、K8S第一步搭建
K8S集群搭建,三个的节点原创 2023-10-15 22:32:47 · 285 阅读 · 0 评论