首页 > 其他分享 >K8s控制器

K8s控制器

时间:2022-10-26 14:12:53浏览次数:54  
标签:控制器 副本 Replicaset rs Deployment pod K8s

一、Replicaset控制器概述  

     RS是kubernetes中的副本控制器,全称Replicaset,主要作用是控制由其管理的pod,使pod的副本数量始终维持在预设的个数。保证一定数量的pod能够在集群中正常运行,rs会持续监听pod的运行状态,在pod发生故障时会自动重启pod,pod不足时,运行新的副本

    kubernetes官方不推荐直接使用,而是用Deployment取而代之,他是比rs更为高级的控制器,它可以管理rs并提供有用的特性,最重要的deployment支持声明式更新,好处就是不会丢失历史变更。所以deployment不会直接管理pod对象,而是由deployment管理replicaset,再由replicaset负责管理pod对象

1.2、Replicaset工作原理

    Replicaset核心是代用户创建指定副本,并确保pod副本一直处于满足用户期望的数量,起到多退少补的作用,并且还具有自动扩缩容机制。

   Replicaset控制器主要由三部分组成:

1、用户期望的副本数:用来指定此控制器管控的pod副本数量

2、标签选择器:指定哪些pod是自身管理的,如果通过标签选择器选到的pod副本数量少于用户指定数量,就要用到下面组件:

3、pod资源模板:如果集群中现存的pod数量不够用户定义的期望数量,控制器会新建pod

1.3Deployment概述

  Deployment是kubernetes常用控制器,为Reployment和pod的创建提供声明式定义,在Deployment中描述资源对象的期望状态,Deployemt会按照一定速率把实际状态改为期望状态,定义一个Deployment控制器会创建一个Repliaset控制器,通过Replicaset在创建pod。

  使用Deployment而不是直接使用Reployment,是因为Deployment拥有好的特性,如滚动升级和回滚等。

   声明式定义可以直接修改资源清单yaml文件,通过kubecat apply -f name.yaml命令就可以更改资源状态。

    Deployment控制器是建立在rs之上的,可以管理多个rs,每次更新镜像版本,都会生产新的rs,把旧的rs替换,虽说rs同时存在,但只有一个运行。

标签:控制器,副本,Replicaset,rs,Deployment,pod,K8s
From: https://www.cnblogs.com/wxfboke/p/16828135.html

相关文章

  • 实验6:开源控制器实践——RYU
    一、实验目的1、能够独立部署RYU控制器;2、能够理解RYU控制器实现软件定义的集线器原理;3、能够理解RYU控制器实现软件定义的交换机原理。二、实验环境Ubuntu20.04Des......
  • 【Kubernetes】K8s笔记(十三):PersistentVolume 解决数据持久化问题
    目录0.ConfigMap和Secret中的Volume1.PersistentVolumePersistentVolumeClaim和StorageClass2.使用YAML描述PersistentVolume3.使用YAML描述PersistentVol......
  • k8s将节点容器运行时从Docker迁移到Containerd
    1.执行drain操作kubectldraink8s-node01--ignore-daemonsets#2.对应节点上关闭docker#注意,是要迁移的节点systemctlstopkubeletsystemctlstopdocker.soc......
  • K8s nodePort、port、targetPort、hostPort
    转载:https://blog.csdn.net/chainsmoker_/article/details/1244498901.nodePort外部流量访问k8s集群中service入口的一种方式(另一种方式是LoadBalancer),即nodeIP:nodeP......
  • k8s-标签(labels)
    官网https://kubernetes.io/zh-cn/docs/concepts/overview/working-with-objects/labels/标签(Labels)是附加到Kubernetes对象(比如Pod)上的键值对。标签旨在用于指定......
  • k8s的安装8
    k8s的安装8我们这次的k8s是yum装的,yum安装的k8s的版本是多少?rpm-qa|grepkubernetes查看版本,如下图所示因为红帽只做了1.5版本的k8s包,所以yum只能装1.5版,虽然这种yum......
  • k8s-pod控制器Deployment
    在kubernetes中,Pod是最小的控制单元,但是kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故......
  • k8s的历史7
    k8s的历史7到底什么是k8s,k8s有什么功能,我们都不清楚?k8s是一个docker集群的管理工具,k8s的核心功能自我修复:一旦这个容器死了,没关系,k8s会自动在其他的节点上给它跑起......
  • k8s之serviceAccount创建
    1、创建serviceAccountvim serviceAccount.yaml---apiVersion:v1kind:ServiceAccountmetadata:name:springcloud-kubernetesnamespace:dev---kind:Rol......
  • k8s安装nfs插件
    1、创建rbac权限vimrbac.yamlkind:ClusterRoleapiVersion:rbac.authorization.k8s.io/v1metadata:name:nfs-provisioner-runnerrules:-apiGroups:[""]......