OpenShift Container Platform 4.14 存储
5.3. 共享资源 CSI DRIVER OPERATOR 5.4. CSI 卷快照 5.5. CSI 卷克隆 5.6. 管理默认存储类 5.7. CSI 自动迁移 5.8. 在非正常节点关闭后分离 CSI 卷 5.9. ALICLOUD DISK CSI DRIVER OPERATOR 5.10. AWS ELASTIC BLOCK STORE CSI DRIVER OPERATOR 5 除了持久性存储外,Pod 和容器还需要临时或短暂的本地存储才能进行操作。此临时存储的生命周期不会 超过每个 pod 的生命周期,且此临时存储无法在 pod 间共享。 Pod 使用临时本地存储进行涂销空间、缓存和日志。与缺少本地存储相关的问题包括: Pod 无法检测到有多少可用的本地存储。 Pod 无法请求保证的本地存储。 本地存储是一个最佳资源。 pod 可能会因为其他 pod 填充本地存储而被 似,pod 会消耗节点资源, PVC 消耗 PV 资源。例如:pod 可以请求特定级别的资源,比如 CPU 和内 存,而 PVC 可以请求特定的存储容量和访问模式。例如:它们可以被加载为“只允许加载一次,可读写”, 或“可以加载多次,只读”。 3.2. 卷和声明的生命周期 PV 是集群中的资源。PVC 是对这些资源的请求,也是对该资源的声明检查。PV 和 PVC 之间的交互有以 下生命周期。 3.20 码力 | 215 页 | 2.56 MB | 1 年前3OpenShift Container Platform 4.10 可伸缩性和性能
KUBELET 参数 1.3. 修改不可用 WORKER 节点的数量 1.4. CONTROL PLANE 节点大小 1.5. 推荐的 ETCD 实践 1.6. 将 ETCD 移动到不同的磁盘 1.7. 分离 ETCD 数据 1.8. OPENSHIFT CONTAINER PLATFORM 基础架构组件 1.9. 移动监控解决方案 1.10. 移动默认 REGISTRY 1.11. 移动路由器 1 安装 TOPOLOGY AWARE LIFECYCLE MANAGER 16.5. 关于 CLUSTERGROUPUPGRADE CR 16.6. 更新受管集群上的策略 16.7. 使用容器镜像预缓存功能 16.8. 对 TOPOLOGY AWARE LIFECYCLE MANAGER 进行故障排除 第 第 17 章 章 创 创建性能配置集 建性能配置集 17.1. 关于性能配置集创建器 17 输入以下命令应用删除创建和同步设备的逻辑的修改版本: 上一步可防止节点重新引导。 其他 其他资 资源 源 Red Hat Enterprise Linux CoreOS (RHCOS) 1.7. 分离 ETCD 数据 对于大型、高密度的集群,如果键空间增长过大并超过空间配额,etcd 的性能将会受到影响。定期维护并 处理碎片化的 etcd,以释放数据存储中的空间。监控 Prometheus 以了解0 码力 | 315 页 | 3.19 MB | 1 年前3OpenShift Container Platform 4.9 构建应用程序
行的单独服务或应用程序。 在最简单的配置中,代理会原封不动转发请求。在比较复杂的设置中,可以复制传入的请求,同时将它们 发送到独立集群以及应用程序的本地实例,并且比较其结果。其他模式包括使 DR 安装的缓存保持活跃, 或抽样传入的流量来满足分析需要。 任何 TCP(或 UDP)代理都可以在所需的分片下运行。使用 oc scale 命令更改代理分片下服务请求的相 对数量。对于更复杂的流量管理,请考虑使用比例平衡功能自定义 同时运行新旧代码的应用程序必须要谨慎处理,以确保新代码写入的数据能被旧版代码读取和处理(或恰 当忽略)。这有时被称为架构演进,而且是一个复杂的问题。 这可采用多种形式:数据存储在磁盘、数据库或临时缓存中,或作为用户浏览器会话的一部分。虽然大多 数 Web 应用程序都支持滚动部署,但务必要测试并设计您的应用程序以便能处理它。 在一些应用程序中,同时运行新旧代码的时间是短暂的,因此程序错误或一些用户事务失败是可以接受 配置映射允许您将配置工件与镜像内容分离,从而使容器化应用程序可以移植。 以下部分定义配置映射以及如何创建和使用它们。 有关创建配置映射的详情,请参考创建和使用配置映射。 9.1. 了解配置映射 许多应用程序需要使用配置文件、命令行参数和环境变量的某些组合来进行配置。在 OpenShift Container Platform 中,这些配置工件与镜像内容分离,以便使容器化应用程序可以移植。0 码力 | 184 页 | 3.36 MB | 1 年前3OpenShift Container Platform 4.10 虚拟化
Platform 4.10 虚 虚拟 拟化 化 12 1 默认克隆方法设置为 copy(复制 复制)。 在某些情况下,多个虚拟机可以以读写模式挂载相同的 PVC,这可能会导致数据崩溃。 (BZ#1992753) 作为临时解决方案,请避免在使用多个虚拟机的读写模式中使用单个 PVC。 Pod Disruption Budget(PDB)可防止 pod 意外中断。如果 PDB 检测到 pod 中断,则 某些节点不会受到 OpenShift Virtualization 的影响。例如,您有与集群中运行的虚拟化不相关的 工作负载,希望这些工作负载与 OpenShift Virtualization 分离。 4.2.1.1. 如何将 如何将节点放置 点放置规则应用到虚 用到虚拟化 化组件 件 您可以通过直接编辑对应对象或使用 Web 控制台为组件指定节点放置规则。 对于 Operator Lifecycle 只有底层存储支持时才使用 Block。 访问模式 持久性卷访问模 式。 ReadWriteOnce (RWO) 卷可以被一个节点以读写模式挂 载。 第 第 8 章 章 虚 虚拟 拟机 机 51 ReadWriteMany (RWX) 卷可以被多个节点以读写模式挂 载。 注意 注意 对于一些功能 (如虚拟机在 节点间实时迁 移)需要这个 权限。 ReadOnlyMany (ROX)0 码力 | 307 页 | 3.45 MB | 1 年前3OpenShift Container Platform 4.10 构建应用程序
行的单独服务或应用程序。 在最简单的配置中,代理会原封不动转发请求。在比较复杂的设置中,可以复制传入的请求,同时将它们 发送到独立集群以及应用程序的本地实例,并且比较其结果。其他模式包括使 DR 安装的缓存保持活跃, 或抽样传入的流量来满足分析需要。 任何 TCP(或 UDP)代理都可以在所需的分片下运行。使用 oc scale 命令更改代理分片下服务请求的相 对数量。对于更复杂的流量管理,请考虑使用比例平衡功能自定义 同时运行新旧代码的应用程序必须要谨慎处理,以确保新代码写入的数据能被旧版代码读取和处理(或恰 当忽略)。这有时被称为架构演进,而且是一个复杂的问题。 这可采用多种形式:数据存储在磁盘、数据库或临时缓存中,或作为用户浏览器会话的一部分。虽然大多 数 Web 应用程序都支持滚动部署,但务必要测试并设计您的应用程序以便能处理它。 在一些应用程序中,同时运行新旧代码的时间是短暂的,因此程序错误或一些用户事务失败是可以接受 配置映射允许您将配置工件与镜像内容分离,从而使容器化应用程序可以移植。 以下部分定义配置映射以及如何创建和使用它们。 有关创建配置映射的详情,请参考创建和使用配置映射。 10.1. 了解配置映射 许多应用程序需要使用配置文件、命令行参数和环境变量的某些组合来进行配置。在 OpenShift Container Platform 中,这些配置工件与镜像内容分离,以便使容器化应用程序可以移植。0 码力 | 198 页 | 3.62 MB | 1 年前3OpenShift Container Platform 4.8 存储
除了持久性存储外,Pod 和容器还需要临时或短暂的本地存储才能进行操作。此临时存储的生命周期不会 超过每个 pod 的生命周期,且此临时存储无法在 pod 间共享。 Pod 使用临时本地存储进行涂销空间、缓存和日志。与缺少本地存储相关的问题包括: Pod 不知道有多少可用的本地存储。 Pod 无法请求保证的本地存储。 本地存储无法保证可以满足需求。 Pod 可能会因为其他 pod 已使用完本地存 似,pod 会消耗节点资源, PVC 消耗 PV 资源。例如:pod 可以请求特定级别的资源,比如 CPU 和内 存,而 PVC 可以请求特定的存储容量和访问模式。例如:它们可以被加载为“只允许加载一次,可读写”, 或“可以加载多次,只读”。 3.2. 卷和声明的生命周期 PV 是集群中的资源。PVC 是对这些资源的请求,也是对该资源的声明检查。PV 和 PVC 之间的交互有以 下生命周期。 3.2 spec 和 status,它们分别代表卷的规格和状态,例如: PersistentVolume 对 对象定 象定义 义示例 示例 持久性卷的名称。 卷可以使用的存储容量。 访问模式,用来指定读写权限及挂载权限。 重新声明策略,指定在资源被释放后如何处理它。 3.3.1. PV 类型 OpenShift Container Platform 支持以下持久性卷插件: AWS Elastic0 码力 | 118 页 | 1.60 MB | 1 年前3OpenShift Container Platform 4.13 虚拟化
作为临时解决方案,您可以使用连接到主机的二级网络接口,或切换到 OpenShift SDN 默认 CNI 供应商。 在某些情况下,多个虚拟机可以以读写模式挂载相同的 PVC,这可能会导致数据崩溃。 (BZ#1992753) 作为临时解决方案,请避免在使用多个虚拟机的读写模式中使用单个 PVC。 Pod Disruption Budget(PDB)可防止 pod 意外中断。如果 PDB 检测到 pod 中断,则 某些节点不会受到 OpenShift Virtualization 的影响。例如,您有与集群中运行的虚拟化不相关的 工作负载,希望这些工作负载与 OpenShift Virtualization 分离。 6.2.1.1. 如何将 如何将节点放置 点放置规则应用到虚 用到虚拟化 化组件 件 您可以通过直接编辑对应对象或使用 Web 控制台为组件指定节点放置规则。 对于 Operator Lifecycle 只有底层存储支持时才使用 Block。 访问模式 持久性卷访问模 式。 ReadWriteOnce (RWO) 卷可以被一个节点以读写模式挂 载。 第 第 10 章 章 虚 虚拟 拟机 机 87 ReadWriteMany (RWX) 卷可以被多个节点以读写模式挂 载。 注意 注意 对于一些功能 (如虚拟机在 节点间实时迁 移)需要这个 权限。 ReadOnlyMany (ROX)0 码力 | 393 页 | 4.53 MB | 1 年前3OpenShift Container Platform 4.14 镜像
删除构建过程中创建的所有临时文件。这也包括通过 ADD 命令添加的任何文件。例如,在执行 yum install 操作后运行 yum clean 命令。 您可按照如下所示创建 RUN 语句来防止 yum 缓存最终留在镜像层: 请注意,如果您改写为: 则首次 yum 调用会将额外文件留在该层,后续运行 yum clean 操作时无法删除这些文件。最终镜像中看 不到这些额外文件,但它们存在于底层中。 次构建相同镜像会非常迅速,因为缓存不会因为上层变化而失效。 例如:如果您正在使用 Dockerfile,它包含一个用于安装正在迭代的文件的 ADD 命令,以及一个用于 yum install 软件包的 RUN 命令,则最好将 ADD 命令放在最后: 这样,您每次编辑 myfile 和重新运行 podman build 或 docker build 时,系统都可重复利用 yum 命令 的缓存层,仅为 ADD ADD 操作生成新层。 如果您将 Dockerfile 改写为: 则您每次更改 myfile 和重新运行 podman build 或 docker build 时,ADD 操作都会导致 RUN 层缓存无 效,因此 yum 操作也必须要重新运行。 标记 标记重要端口 重要端口 EXPOSE 指令使主机系统和其它容器可使用容器中的端口。尽管可以指定应当通过 podman run 调用来 公开端口,但在0 码力 | 118 页 | 1.13 MB | 1 年前3OpenShift Container Platform 4.7 镜像
删除构建过程中创建的所有临时文件。这也包括通过 ADD 命令添加的任何文件。例如,在执行 yum install 操作后运行 yum clean 命令。 您可按照如下所示创建 RUN 语句来防止 yum 缓存最终留在镜像层: 请注意,如果您改写为: 则首次 yum 调用会将额外文件留在该层,后续运行 yum clean 操作时无法删除这些文件。最终镜像中看 不到这些额外文件,但它们存在于底层中。 次构建相同镜像会非常迅速,因为缓存不会因为上层变化而失效。 例如:如果您正在使用 Dockerfile,它包含一个用于安装正在迭代的文件的 ADD 命令,以及一个用于 yum install 软件包的 RUN 命令,则最好将 ADD 命令放在最后: 这样,您每次编辑 myfile 和重新运行 podman build 或 docker build 时,系统都可重复利用 yum 命令 的缓存层,仅为 ADD ADD 操作生成新层。 如果您将 Dockerfile 改写为: 则您每次更改 myfile 和重新运行 podman build 或 docker build 时,ADD 操作都会导致 RUN 层缓存无 效,因此 yum 操作也必须要重新运行。 标记重要端口 EXPOSE 指令使主机系统和其它容器可使用容器中的端口。尽管可以指定应当通过 podman run 调用来 公开端口,但在 Dockerfile0 码力 | 123 页 | 1.20 MB | 1 年前3OpenShift Container Platform 3.11 扩展和性能指南
master 会积极缓存资源的反序列化版本,以简化 CPU 负载。但是,如果 较小的 pod 集群小于 1000 个 pod,这个缓存可能会浪费大量内存用于微小的 CPU 负载。默认缓存大小 为 50,000 个条目,它根据资源的大小,可以将 cupy 1 增加到 2 GB 内存。使用 /etc/origin/master/master-config.yaml 中的以下设置可以减少这个缓存大小: 发送到 集群中,过时的数据不是问题。在高可用的 etcd 部署中,通常在生产集群中找到,仲裁读取确保有 效的查询结果。在数据库术语中,仲裁读是 线性的 - 每个客户端都会看到集群的最新更新状态,所有客户 端会看到相同的读写序列。有关性能改进的更多信息,请参阅 etcd 3.1 公告。 请注意,OpenShift Container Platform 使用 etcd 来存储 Kubernetes 本身所需的其他信息。例 进程的内存使用率也会减少: 重要 重要 在 OpenShift Container Platform 下分析 etcd 后,etcd 通常会执行少量存储输入和输 出。强烈建议您使用带有可快速处理较小读写操作的存储的 etcd。 查看 etcd 3.1 的 3 节点集群(使用存储 v3 模式和仲裁读取强制)执行的大小 I/O 操作,如下所示: OpenShift Container Platform0 码力 | 58 页 | 732.06 KB | 1 年前3
共 45 条
- 1
- 2
- 3
- 4
- 5