更改默认StorageClass

琉璃3年前技术文章1639

为什么要更改默认StorageClass

根据安装方式的不同,你的Kubernetes集群可以使用标记为默认值的现有StorageClass进行部署。然后,这个默认的StorageClass用于动态地为不需要任何特定存储类的PersistentVolumeClaim提供存储。有关详细信息,请参阅PersistentVolumeClaim文档--1)。

预先安装的默认StorageClass可能不适合你的预期工作负载;例如,它可能提供过于昂贵的存储。如果是这种情况,你可以更改默认的StorageClass,或者完全禁用它,以避免动态提供存储。

简单地删除默认的StorageClass可能无法工作,因为它可能由集群中运行的插件管理器自动重新创建。有关插件管理器和如何禁用个别插件的详细信息,请参阅你的安装文档。

更改默认StorageClass

  1. 获取集群中的StorageClass列表:

  2. 将默认的StorageClass标记为非默认:默认的StorageClass 有一个注解storageclass.kubernetes.io/is-default-class ,其值设置为true。任何其他值或注解不存在都被解释为false要将StorageClass标记为非默认的,需要将其值更改为false

  3. 标记StorageClass为默认的:与前面的步骤类似,你需要添加/设置注解:storageclass.kubernetes.io/is-default-class=true

kubectl get storageclass

输出类似如下:

默认StorageClass 被标记为(default)

kubectl patch storageclass <your-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'

其中<your-class-name> 是你选择StorageClass名称。

kubectl patch storageclass <your-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

请注意,最多一个StorageClass可以标记为默认的。如果将其中两个或多个标记为默认的,则无法创建没有显式指定storageClassNamePersistentVolumeClaim

验证你选择的StorageClass是否为默认的:

输出类似如下:

  NAME             PROVISIONER               AGE
  standard         kubernetes.io/gce-pd      1d
  gold (default)   kubernetes.io/gce-pd      1d


相关文章

Kubernetes源码解读(三)-- Indexer和ThreadSafeStore源码分析

Kubernetes源码解读(三)-- Indexer和ThreadSafeStore源码分析

Indexer主要提供一个对象根据一定条件检索的能力,典型的实现是通过nameapce/name来构造key,通过ThreadSafeStore 来存储对象。换而言之,Indexer主要依赖于Thre...

压测实操--kafka-consumer压测方案

压测实操--kafka-consumer压测方案

环境信息:操作系统centos7.9,kafka版本为hdp集群中的2.0版本。Consumer相关参数使用Kafka自带的kafka-consumer-perf-test.sh脚本进行压测,该脚本参...

Centos系统支持TLS 1.3

Centos系统支持TLS 1.3

一、背景1、生产的 CentOS 7 服务器需要启用 TLS 1.32、Openssl介绍OpenSSL 是用于传输层安全性 (TLS) 和安全套接字层 (SSL) 协议的强大、商业级且功能齐全的工具...

MySQL运维实战(4.4) SQL_MODE之STRICT_TRANS_TABLES和STRICT_ALL_TABLES

如果设置STRICT模式,则如果数据写入时,如果数据不符合字段定义(字符串超出长度、数值类型数据超出范围、违反not null约束等),SQL会报错。如果不设置STRICT模式,会对异常数据进行截断处...

MySQL运维实战(2.4) SSL认证在MySQL中的应用

MySQL支持使用tls进行通信。tls主要有几个作用对客户端、服务端之间的通信数据进行加密。包括客户端发往服务端的SQL,服务端返回给客户端的数据。客户端可以验证服务端的身份。服务端也可以验证客户端...

oracle adg切换

1 主库转备库注意:原则上至多只能有一个主库,但是备库可以多个,所以需要先进行主库转备库操作。1.1 查看主库角色切换状态SYS@proe>select name,database_role,s...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。