在k8S中,如何对接外部ceph?

简介: 在k8S中,如何对接外部ceph?

在 Kubernetes (k8s) 中对接外部 Ceph 存储集群通常涉及以下几个关键步骤:

1. 准备Ceph配置和密钥文件
  • 将 Ceph 配置文件(ceph.conf)复制到所有 Kubernetes 节点的 /etc/ceph 目录下,以便集群中的节点可以访问到正确的配置信息。
  • 获取 Ceph 的客户端管理员密钥环 ceph.client.admin.keyring 并将其安全地分发到需要与 Ceph 进行交互的 Kubernetes 节点上。密钥环通常也需要放置在 /etc/ceph 目录中,并设置好适当的权限以确保安全性。
2. 创建 Kubernetes Secret
  • 将 Ceph 客户端密钥环转换为 Kubernetes Secret 对象,这样 Kubernetes 可以安全地管理并传递给运行在 Pod 中的应用程序。
kubectl create secret generic ceph-secret --from-file=ceph.client.admin.keyring=/etc/ceph/ceph.client.admin.keyring
3. 创建StorageClass
  • 创建一个 StorageClass 对象,它引用 Ceph 存储系统,并通过环境变量或 Secret 引用 Ceph 配置和密钥。这允许动态创建 PersistentVolumeClaim (PVC),当 PVC 被绑定时会自动创建相应的 PersistentVolume (PV)。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ceph-rbd-sc
provisioner: kubernetes.io/rbd
parameters:
monitors: <ceph-monitors-endpoints>
adminId: admin
adminSecretName: ceph-secret
adminSecretNamespace: default
pool: k8s-data # 替换为你的 Ceph RBD 池名称
fsType: xfs # 或其他文件系统类型
imageFormat: "2" # RBD 图像格式版本,默认为 v2
imageFeatures: "layering" # 如果支持快照,可包含 layering 功能
4. 使用 StorageClass
  • 开发者或者运维人员现在可以在部署应用时指定使用上述创建的 StorageClass,Kubernetes 会在应用需要持久化存储时,根据 StorageClass 自动从 Ceph 集群中分配存储资源。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: ceph-rbd-sc
resources:
requests:
storage: 5Gi # 请求5GB存储空间
注意事项:
  • 在实际操作过程中,请务必替换 <ceph-monitors-endpoints> 为您的 Ceph Monitor 服务的实际地址。
  • 根据 Ceph 集群的具体情况,可能还需要额外的参数进行配置,例如 rados 用户名、密钥名称等。
  • 确保 Kubernetes 节点有足够的权限来挂载和卸载 Ceph RBD 卷。

综上所述,如果使用的是 Rook Operator 来管理 Ceph,流程会有所不同,因为 Rook 会自动处理大部分这些集成工作,包括 StorageClass 的创建以及与 Ceph 集群的交互。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
存储 Kubernetes 测试技术
k8s使用pvc,pv,sc关联ceph集群
文章介绍了如何在Kubernetes中使用PersistentVolumeClaim (PVC)、PersistentVolume (PV) 和StorageClass (SC) 来关联Ceph集群,包括创建Ceph镜像、配置访问密钥、删除默认存储类、编写和应用资源清单、创建资源以及进行访问测试的步骤。同时,还提供了如何使用RBD动态存储类来关联Ceph集群的指南。
468 7
|
Kubernetes 容器
k8s基于secretRef认证对接rbd块设备
文章介绍了如何在Kubernetes集群中通过secretRef认证方式接入Ceph的RBD块设备,并提供了详细的步骤和配置文件示例。
177 7
|
存储 Kubernetes 数据安全/隐私保护
k8s对接ceph集群的分布式文件系统CephFS
文章介绍了如何在Kubernetes集群中使用CephFS作为持久化存储,包括通过secretFile和secretRef两种方式进行认证和配置。
596 5
|
Kubernetes 容器 Perl
k8s基于keyring文件认证对接rbd块设备
文章介绍了如何在Kubernetes集群中使用Ceph的keyring文件进行认证,并对接RBD块设备,包括使用admin用户和自定义用户两种方式的详细步骤和注意事项。
232 3
|
存储 Kubernetes 容灾
在k8S中,K8S持久化可以对接哪些储存,为什么要选择它?
在k8S中,K8S持久化可以对接哪些储存,为什么要选择它?
|
存储 Kubernetes 对象存储
Kubernetes存储:Ceph架构,部署和使用
Kubernetes存储:Ceph架构,部署和使用
|
存储 Kubernetes 对象存储
Kubernetes版本对接对象存储几种方案
Kubernetes版本对接对象存储几种方案
|
存储 Kubernetes Cloud Native
【云原生】k8s集群部署Rook+Ceph云原生存储
【云原生】k8s集群部署Rook+Ceph云原生存储
1004 0
|
Kubernetes 容器
kubernetes挂载ceph rbd和cephfs
kubernetes挂载ceph rbd和cephfs
|
存储 Kubernetes 关系型数据库
K8s部署分布式存储Ceph系统搭建与实战
K8s部署分布式存储Ceph系统搭建与实战
1895 0

热门文章

最新文章

推荐镜像

更多