国外高校实验室网站建设成果/沈阳seo博客

国外高校实验室网站建设成果,沈阳seo博客,wordpress站点网站地图,北京做网站推广目录 一、ReplicaSet 关键特性 示例 解释 支持的 Operator 二、Deployment 1. 声明式更新 示例 2. 滚动更新 示例 3. 回滚 示例 4. ReplicaSet 管理 示例 5. 自动恢复 示例 6. 扩展和缩容 示例 示例 一、ReplicaSet ReplicaSet 是 Kubernetes 中的一个核心控…

目录

一、ReplicaSet

关键特性

示例

解释

支持的 Operator

二、Deployment

1. 声明式更新

示例

2. 滚动更新

示例

3. 回滚

示例

4. ReplicaSet 管理

示例

5. 自动恢复

示例

6. 扩展和缩容

示例

示例


一、ReplicaSet

ReplicaSet 是 Kubernetes 中的一个核心控制器,用于确保指定数量的 Pod 副本始终处于运行状态。它的主要职责是维护一组稳定的 Pod 副本,确保在任何时候都有指定数量的 Pod 在运行。ReplicaSet 是 Kubernetes 中实现 Pod 水平扩展的基础组件之一。

关键特性
  1. 副本管理

    • ReplicaSet 的核心功能是确保指定数量的 Pod 副本始终在运行。你可以通过 replicas 字段指定期望的 Pod 副本数量。

    • 如果实际运行的 Pod 数量少于预期,ReplicaSet 会自动创建新的 Pod。

    • 如果实际运行的 Pod 数量多于预期,ReplicaSet 会自动删除多余的 Pod。

  2. 标签选择器(Label Selector)

    • ReplicaSet 使用标签选择器来识别它管理的 Pod。只有那些与选择器匹配的 Pod 才会被 ReplicaSet 管理。

    • 标签选择器可以是简单的等值匹配(matchLabels),也可以是更复杂的集合匹配(matchExpressions)。

  3. Pod 模板

    • ReplicaSet 使用 Pod 模板来创建新的 Pod。Pod 模板定义了 Pod 的规格,包括容器镜像、环境变量、卷等。

    • 当 ReplicaSet 需要创建新的 Pod 时,它会根据 Pod 模板生成新的 Pod 实例。

  4. 自动恢复

    • 如果某个 Pod 意外终止(例如,节点故障或手动删除),ReplicaSet 会自动创建一个新的 Pod 来替换它,以确保 Pod 副本数量始终符合预期。

  5. 手动管理

    • ReplicaSet 通常不直接由用户创建和管理,而是通过更高级的控制器(如 Deployment)来管理。用户通常只需要与 Deployment 交互,Deployment 会自动创建和管理 ReplicaSet。

示例

以下是一个简单的 ReplicaSet 定义示例:

apiVersion: apps/v1
kind: ReplicaSet
metadata:name: my-replicaset
spec:replicas: 3selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: my-containerimage: nginx

在这个示例中:

  • replicas: 3 表示期望有 3 个 Pod 副本在运行。

  • selector 指定了 ReplicaSet 管理的 Pod 的标签为 app: my-app

  • template 定义了 Pod 的规格,包括容器镜像 nginx

以下是一个使用几个匹配的ReplicaSet实例

apiVersion: apps/v1
kind: ReplicaSet
metadata:name: my-replicaset
spec:replicas: 3selector:matchExpressions:- key: appoperator: Invalues:- my-app- my-backup-app- key: environmentoperator: NotInvalues:- productiontemplate:metadata:labels:app: my-appenvironment: stagingspec:containers:- name: my-containerimage: nginx

解释

  1. selector.matchExpressions

  • 这是集合匹配的核心部分,允许你定义多个标签选择规则。
  • 每个规则由 keyoperatorvalues 组成。
  1. 规则 1:app 标签
  • key: app:表示选择标签键为 app 的 Pod。
  • operator: In:表示标签值必须在 values 列表中。
  • values: [my-app, my-backup-app]:表示选择标签值为 my-appmy-backup-app 的 Pod。
  1. 规则 2:environment 标签

  • key: environment:表示选择标签键为 environment 的 Pod。
  • operator: NotIn:表示标签值不能出现在 values 列表中。
  • values: [production]:表示排除标签值为 production 的 Pod。
  1. 综合效果

    • 这个 ReplicaSet 会选择满足以下条件的 Pod:

      • 标签 app 的值为 my-appmy-backup-app

      • 标签 environment 的值不为 production

  2. Pod 模板

    • template 部分,定义了新创建的 Pod 的标签为 app: my-appenvironment: staging

    • 这些标签满足 ReplicaSet 的选择条件,因此这些 Pod 会被 ReplicaSet 管理。

支持的 Operator

matchExpressions 中,operator 可以取以下值:

  • In:标签值必须在 values 列表中。

  • NotIn:标签值不能在 values 列表中。

  • Exists:标签键必须存在(不需要指定 values)。

  • DoesNotExist:标签键必须不存在(不需要指定 values)。

二、Deployment

Deployment 是 Kubernetes 中用于管理无状态应用的高级控制器。它基于 ReplicaSet 实现,提供了声明式更新、滚动更新和回滚等功能。Deployment 是 Kubernetes 中最常用的控制器之一,特别适用于需要频繁更新和扩展的应用场景。

1. 声明式更新

Deployment 允许你通过声明式的方式更新应用。你只需要修改 Deployment 的 YAML 文件(例如更新镜像版本),然后使用 kubectl apply 命令应用更改,Deployment 会自动处理更新过程。

示例

假设你有一个 Deployment,运行的是 nginx:1.18 镜像。现在你想将镜像更新为 nginx:1.19

Deployment 定义文件 (deployment.yaml)

apiVersion: apps/v1
kind: Deployment
metadata:name: my-deployment
spec:replicas: 3selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: nginximage: nginx:1.18

更新步骤

  1. 修改 deployment.yaml 文件,将 image: nginx:1.18 改为 image: nginx:1.19

  2. 使用 kubectl apply 应用更新:

    kubectl apply -f deployment.yaml
  3. Deployment 会自动触发更新流程,逐步替换旧的 Pod 为新的 Pod。


2. 滚动更新

Deployment 默认支持滚动更新策略,逐步替换旧的 Pod 副本为新的 Pod 副本,确保应用在更新过程中不会中断。

示例

以下是一个配置了滚动更新策略的 Deployment:

apiVersion: apps/v1
kind: Deployment
metadata:name: my-deployment
spec:replicas: 3selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: nginximage: nginx:1.19strategy:type: RollingUpdaterollingUpdate:maxUnavailable: 1  # 更新过程中最多允许 1 个 Pod 不可用maxSurge: 1        # 更新过程中最多允许超出预期副本数 1 个 Pod

更新过程

  • Deployment 会先启动一个新的 Pod,然后终止一个旧的 Pod,逐步替换所有 Pod。

  • 通过 maxUnavailablemaxSurge,你可以控制更新的速度和可用性。


3. 回滚

如果更新过程中出现问题,Deployment 允许你回滚到之前的版本。

示例

假设你更新了 Deployment,但新版本的应用有问题,需要回滚到上一个版本。

回滚步骤

  1. 查看 Deployment 的更新历史:

    kubectl rollout history deployment/my-deployment

    输出示例:

    REVISION  CHANGE-CAUSE
    1         <none>
    2         Update image to nginx:1.19

  2. 回滚到上一个版本:

    kubectl rollout undo deployment/my-deployment

  3. 回滚到指定版本(例如回滚到 Revision 1):

    kubectl rollout undo deployment/my-deployment --to-revision=1


4. ReplicaSet 管理

Deployment 通过创建和管理 ReplicaSet 来实现 Pod 的副本管理。每次更新 Pod 模板时,Deployment 都会创建一个新的 ReplicaSet,并逐步将旧的 ReplicaSet 缩容。

示例

假设你有一个 Deployment,初始版本使用 nginx:1.18 镜像。

初始 Deployment

apiVersion: apps/v1
kind: Deployment
metadata:name: my-deployment
spec:replicas: 3selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: nginximage: nginx:1.18

更新 Deployment
将镜像更新为 nginx:1.19 后,Deployment 会创建一个新的 ReplicaSet,并逐步将旧的 ReplicaSet 缩容。

查看 ReplicaSet

kubectl get replicaset

输出示例:

NAME                       DESIRED   CURRENT   READY   AGE
my-deployment-1234567890   3         3         3       5m   # 新的 ReplicaSet
my-deployment-9876543210   0         0         0       10m  # 旧的 ReplicaSet

5. 自动恢复

Deployment 会自动恢复意外终止的 Pod,以确保 Pod 副本数量始终符合预期。

示例

假设你有一个 Deployment,配置了 replicas: 3

手动删除一个 Pod

kubectl delete pod <pod-name>

Deployment 的行为

  • Deployment 会检测到 Pod 数量不足,并自动创建一个新的 Pod 来替换被删除的 Pod。


6. 扩展和缩容

Deployment 支持动态扩展和缩容。你可以通过修改 replicas 字段来调整 Pod 的副本数量。

示例

假设你有一个 Deployment,初始副本数为 3。

扩展副本数

  1. 修改 deployment.yaml 文件,将 replicas: 3 改为 replicas: 5

  2. 应用更新:

    kubectl apply -f deployment.yaml
  3. Deployment 会自动创建 2 个新的 Pod。

缩容副本数

  1. 修改 deployment.yaml 文件,将 replicas: 5 改为 replicas: 2

  2. 应用更新:

    kubectl apply -f deployment.yaml
  3. Deployment 会自动删除 3 个 Pod,只保留 2 个 Pod。

示例

以下是一个简单的 Deployment 定义示例:

apiVersion: apps/v1
kind: Deployment
metadata:name: my-deployment
spec:replicas: 3selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: my-containerimage: nginxstrategy:type: RollingUpdaterollingUpdate:maxUnavailable: 1maxSurge: 1

在这个示例中:

  • replicas: 3 表示期望有 3 个 Pod 副本在运行。

  • selector 指定了 Deployment 管理的 Pod 的标签为 app: my-app

  • template 定义了 Pod 的规格,包括容器镜像 nginx

  • strategy 配置了滚动更新策略,maxUnavailable: 1 表示在更新过程中最多允许 1 个 Pod 不可用,maxSurge: 1 表示在更新过程中最多允许超出预期副本数 1 个 Pod。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/73874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自然语言处理入门4——RNN

一般来说&#xff0c;提到自然语言处理&#xff0c;我们都会涉及到循环神经网络&#xff08;RNN&#xff09;&#xff0c;这是因为自然语言可以被看作是一个时间序列&#xff0c;这个时间序列中的元素是一个个的token。传统的前馈神经网络结构简单&#xff0c;但是不能很好的处…

数据结构之链表(双链表)

目录 一、双向带头循环链表 概念 二、哨兵位的头节点 优点&#xff1a; 头节点的初始化 三、带头双向链表的实现 1.双链表的销毁 2.双链表的打印 3.双链表的尾插和头插 尾插&#xff1a; 头插&#xff1a; 4.双链表的尾删和头删 尾删&#xff1a; 头删&#xff1a; …

ASP3605同步降压调节器——满足汽车电子严苛要求的电源芯片方案

ASP3605高效同步降压调节器&#xff0c;通过AEC-Q100 Grade1认证&#xff0c;输入电压4V至15V&#xff0c;输出电流5A&#xff0c;峰值效率94%。车规级型号ASP3605A3U支持-40C至125C工作温度&#xff0c;适用于ADAS、车载信息娱乐系统等场景。 面向汽车电子的核心功能设计 1. …

vue3+Ts+elementPlus二次封装Table分页表格,表格内展示图片、switch开关、支持

目录 一.项目文件结构 二.实现代码 1.子组件&#xff08;表格组件&#xff09; 2.父组件&#xff08;使用表格&#xff09; 一.项目文件结构 1.表格组件&#xff08;子组件&#xff09;位置 2.使用表格组件的页面文件&#xff08;父组件&#xff09;位置 3.演示图片位置 ele…

逆向中常见的加密算法识别

1、base64及换表 base64主要是将输入的每3字节&#xff08;共24bit&#xff09;按照每六比特分成一组&#xff0c;变成4个小于64的索引值&#xff0c;然后通过一个索引表得到4个可见的字符。 索引表为一个64字节的字符串&#xff0c;如果在代码中发现引用了这个索引表“ABCDEF…

【机器学习chp14 — 2】生成式模型—变分自编码器VAE(超详细分析,易于理解,推导严谨,一文就够了)

目录 二、变分自编码器 VAE 1、自编码器 AE &#xff08;1&#xff09;自编码器的基本结构与目标 1.1 编码器-解码器结构 1.2 目标函数&#xff1a;重构误差最小化 &#xff08;2&#xff09;自编码器与 PCA 的对比 2.1 PCA 与线性降维 2.2 非线性映射的优势 &#xf…

Linux 一步部署DHCP服务

#!/bin/bash #脚本作者和日期 #author: PEI #date: 20250319 #检查root权限 if [ "$USER" ! "root" ]; then echo "错误&#xff1a;非root用户&#xff0c;权限不足&#xff01;" exit 0 fi #防火墙与高级权限 systemctl stop firewa…

Vue3 核心特性解析:Suspense 与 Teleport 原理深度剖析

Vue3 核心特性解析&#xff1a;Suspense 与 Teleport 原理深度剖析 一、Teleport&#xff1a;突破组件层级的时空传送 1.1 实现原理图解 #mermaid-svg-75dTmiektg1XNS13 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-s…

Python功能完美的宝库——内置的强大“武器库”builtins

builtins模块包含了Python大量的内置对象&#xff08;函数、异常和类型等&#xff09;&#xff0c;她是Python的内置武器库&#xff0c;堪称功能完美的宝库。 笔记模板由python脚本于2025-03-19 08:16:27创建&#xff0c;本篇笔记适合喜欢探究python的coder翻阅。 【学习的细节…

PyTorch 深度学习实战(17):Asynchronous Advantage Actor-Critic (A3C) 算法与并行训练

在上一篇文章中&#xff0c;我们深入探讨了 Soft Actor-Critic (SAC) 算法及其在平衡探索与利用方面的优势。本文将介绍强化学习领域的重要里程碑——Asynchronous Advantage Actor-Critic (A3C) 算法&#xff0c;并展示如何利用 PyTorch 实现并行化训练来加速学习过程。 一、A…

【深度学习】多目标融合算法(五):定制门控网络CGC(Customized Gate Control)

目录 一、引言 二、CGC&#xff08;Customized Gate Control&#xff0c;定制门控网络&#xff09; 2.1 技术原理 2.2 技术优缺点 2.3 业务代码实践 2.3.1 业务场景与建模 2.3.2 模型代码实现 2.3.3 模型训练与推理测试 2.3.4 打印模型结构 三、总结 一、引言 上一…

在线pdf处理网站合集

1、PDF24 Tools&#xff1a;https://tools.pdf24.org/zh/ 2、PDF派&#xff1a;https://www.pdfpai.com/ 3、ALL TO ALL&#xff1a;https://www.alltoall.net/ 4、CleverPDF&#xff1a;https://www.cleverpdf.com/cn 5、Doc Small&#xff1a;https://docsmall.com/ 6、Aconv…

网络编程-实现客户端通信

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <sys/select.h>#define MAX_CLIENTS 2 // 最大客户端连接数 #define BUFFER_SI…

力扣100二刷——图论、回溯

第二次刷题不在idea写代码&#xff0c;而是直接在leetcode网站上写&#xff0c;“逼”自己掌握常用的函数。 标志掌握程度解释办法⭐Fully 完全掌握看到题目就有思路&#xff0c;编程也很流利⭐⭐Basically 基本掌握需要稍作思考&#xff0c;或者看到提示方法后能解答⭐⭐⭐Sl…

【大模型实战篇】多模态推理模型Skywork-R1V

1. 背景介绍 近期昆仑万维开源的Skywork R1V模型&#xff0c;是基于InternViT-6B-448px-V2_5以及deepseek-ai/DeepSeek-R1-Distill-Qwen-32B 通过强化学习得到。当然语言模型也可以切换成QwQ-32B。因此该模型最终的参数量大小为38B。 该模型具备多模态推理能力&#xf…

识别并脱敏上传到deepseek/chatgpt的文本文件中的护照信息

本文将介绍一种简单高效的方法解决用户在上传文件到DeepSeek、ChatGPT&#xff0c;文心一言&#xff0c;AI等大语言模型平台过程中的护照号识别和脱敏问题。 DeepSeek、ChatGPT&#xff0c;Qwen&#xff0c;Claude等AI平台工具快速的被接受和使用&#xff0c;用户每天上传的文…

数据驱动进化:AI Agent如何重构手机交互范式?

如果说AIGC拉开了内容生成的序幕&#xff0c;那么AI Agent则标志着AI从“工具”向“助手”的跨越式进化。它不再是简单的问答机器&#xff0c;而是一个能够感知环境、规划任务并自主执行的智能体&#xff0c;更像是虚拟世界中的“全能员工”。 正如行业所热议的&#xff1a;“大…

【AI News | 20250319】每日AI进展

AI Repos 1、XianyuAutoAgent 实现了 24 小时自动化值守的 AI 智能客服系统&#xff0c;支持多专家协同决策、智能议价和上下文感知对话&#xff0c;让我们店铺管理更轻松。主要功能&#xff1a; 智能对话引擎&#xff0c;支持上下文感知和专家路由阶梯降价策略&#xff0c;自…

C语言自定义类型【结构体】详解,【结构体内存怎么计算】 详解 【热门考点】:结构体内存对齐

引言 详细讲解什么是结构体&#xff0c;结构体的运用&#xff0c; 详细介绍了结构体在内存中占几个字节的计算。 【热门考点】&#xff1a;结构体内存对齐 介绍了&#xff1a;结构体传参 一、什么是结构体&#xff1f; 结构是⼀些值的集合&#xff0c;这些值称为成员变量。结构…

Apache DolphinScheduler:一个可视化大数据工作流调度平台

Apache DolphinScheduler&#xff08;海豚调度&#xff09;是一个分布式易扩展的可视化工作流任务调度开源系统&#xff0c;适用于企业级场景&#xff0c;提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据…