k8s控制pod权重,k8s权限控制
原标题:k8s控制pod权重,k8s权限控制
导读:
springboot如何给对应的pod进行chaosblade故障注入1、Spring Boot应用给对应Pod做ChaosBlade故障注入的核心步骤是先...
SpringBoot如何给对应的Pod进行chaosblade故障注入
1、Spring Boot应用给对应pod做ChaosBlade故障注入的核心步骤是先在POD内部署ChaosBlade工具,再通过指定应用特征或Pod标签定位目标,最后执行注入命令。
2、然而,在业务落地时,ChaosBlade 存在一些问题,如故障注入过程可视化不足、无法同时对多个集群或主机进行故障注入、难以获取整体演练的统计信息等。因此,在 ChaosBlade 之上还需要平台层,对混沌工程执行工具进行管理与演练编排。
如何指定pod的运行节点?
1、Node Selector通过Pod定义中的nodeSelector属性直接指定目标节点。它使用键值对进行匹配,仅需一对匹配即可将Pod调度到目标节点。使用场景:适用于需要将Pod部署到具有特定属性或标签的节点上的场景。
2、使用固定节点 在 Jenkins Dashboard 中管理节点:进入 Jenkins 的 Dashboard。点击“管理 Jenkins”。选择“管理节点和云”。点击“新建节点”,按照提示输入节点信息,如节点名称、类型等。配置节点标签,以便在 Pipeline 中通过标签指定该节点。
3、定位Pod运行节点:对于Kubernetes中的Pod,首先需要定位Pod运行在哪个节点上。找到业务容器或Pause容器的PID:在目标节点上,使用Docker ps找到Pod中的业务容器或Pause容器,并通过docker inspect获取其PID。进入Pod网络namespace:使用nsenter命令并指定Pause容器的PID和n选项,进入Pod的网络nameSpace进行调试。
4、节点级Pod管理:DaemonSet确保在每个节点上仅运行一个特定的Pod实例。自动部署与回收:当新节点加入集群时,DaemonSet会自动在新节点上创建Pod;当节点被删除时,其上的Pod也会被相应回收。
5、DaemonSet的运行机制是管理kubernetes集群中运行的Daemon Pod。其主要功能是在每个节点上仅运行一个特定的Pod实例。当节点加入集群时,该Pod会自动在新节点上创建。相反,当节点被删除时,其上的Pod也相应地被回收。DaemonSet的副本数依赖于工作节点数,无需显式指定。
6、NodePort:NodePort是KuberNETes Service的一种类型,它允许Service在集群中每个节点的特定端口上监听流量。这种配置使得外部流量可以通过访问任意节点的NodePort来访问Service背后的Pod。与HostPort不同,NodePort会影响集群中的所有节点,而不仅仅是运行Pod的宿主机。
k8s污点容忍度横向主节点
污点是K8s高级调度的特性,用于限制哪些Pod可以被调度到某一个节点。在普通节点横向时我们可以使用污点容忍度创建恶意pod来对主节点进行横向控制。kube-scheduler 是 Kubernetes 集群的默认调度器,并且是集群控制面(master)的一部分。

K8S灵活配置:利用K8S的resources特性,如污点(taints)和容忍度(tolerations),实现服务的灵活配置。同时,建议购买高配置机器以降低资源碎片。集群硬件监控与调度:实现对整个集群硬件的监控,充分利用ECS的复杂时间规则调度特性,应对高峰流量。
容错能力 高可用:K8s高可用集群通常配置有多个主节点(Master节点),并具备在主节点故障时进行自动故障转移的能力。这种设置确保了即使一个或多个主节点出现问题,其他主节点也能接管管理任务,从而保持集群的正常运行。非高可用:非高可用K8s集群可能只有一个主节点,缺乏相应的故障恢复和容错机制。
原因:调度器可能由于某些原因无法找到合适的节点来部署Pod。解决方法:检查Pod的yaml配置文件中的亲和性/反亲和性规则以及污点/容忍度设置,确保它们与集群中的节点相匹配。镜像拉取问题:原因:如果Pod的镜像无法从指定的镜像仓库中拉取,Pod将无法启动,并处于Pending状态。



