物理ceph集群+K8s
前提条件
在Ceph为k8s创建一个pool
ceph osd pool create k8s 128
创建admin用户
ceph auth get-or-create client.admin mon 'allow r' osd 'allow rwx pool=k8s'
将admin用户的key进行base64编码
[root@node21 my-cluster]# ceph auth get-key client.admin | base64
QVFCbCtHTmQwdEN4TmhBQUdXcElhTkI1QXg0M2dDOWlNemM1dlE9PQ==
使用ceph的filesystem
在k8s集群中,创建secret
apiVersion: v1
kind: Secret
metadata:
name: ceph-secret
data:
key: QVFCbCtHTmQwdEN4TmhBQUdXcElhTkI1QXg0M2dDOWlNemM1dlE9PQ==
注:secret是namespace资源,需要在使用的namespace下创建
创建对应的资源
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: demoapp-redis
namespace: isphere-dev
spec:
replicas: 1
serviceName: demoapp-redis
selector:
matchLabels:
app: demoapp-redis
template:
metadata:
labels:
app: demoapp-redis
spec:
containers:
- name: demoapp-redis
image: hub.geovis.io/dockerhub/redis
imagePullPolicy: Always
ports:
- name: demoapp-redis
containerPort: 6379
volumeMounts:
- name: demoapp-redis-path
mountPath: /var/lib/redis
volumes:
- name: demoapp-redis-path
cephfs:
monitors:
- 192.168.4.21:6789
- 192.168.4.22:6789
- 192.168.4.29:6789
user: admin
secretRef:
name: ceph-secret
path: /k8svolume/isphere-dev/demoapp-redis
readOnly: false
k8s下使用ceph的动态扩展,storageclass
创建sceret
[root@t31 ceph_sc]# vi ceph-secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: ceph-admin-secret
type: "kubernetes.io/rbd" #重点
data:
key: QVFCbCtHTmQwdEN4TmhBQUdXcElhTkI1QXg0M2dDOWlNemM1dlE9PQ==
创建storageclass
[root@t31 ceph_sc]# vim storage-class-ceph.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ceph-rbd
provisioner: kubernetes.io/rbd
parameters:
monitors: 192.168.4.21:6789,192.168.4.22:6789,192.168.4.29:6789
adminId: admin
adminSecretName: ceph-admin-secret
adminSecretNamespace: kube-system
pool: k8s
userId: admin
userSecretName: ceph-admin-secret
allowVolumeExpansion: true
reclaimPolicy: Delete
创建pvc
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nginx-test-vol1-claim
spec:
accessModes:
- ReadWriteOnce
storageClassName: ceph-rbd
resources:
requests:
storage: 10Gi
创建资源
apiVersion: v1
kind: Pod
metadata:
name: nginx-test
spec:
containers:
- name: nginx
image: nginx:latest
volumeMounts:
- name: nginx-test-vol1
mountPath: /data/
readOnly: false
volumes:
- name: nginx-test-vol1
persistentVolumeClaim:
claimName: nginx-test-vol1-claim
物理ceph集群+K8s的更多相关文章
- docker创建ceph集群
背景 Ceph官方现在提供两类镜像来创建集群,一种是常规的,每一种Ceph组件是单独的一个镜像,如ceph/daemon.ceph/radosgw.ceph/mon.ceph/osd等:另外一种是最新 ...
- Ceph集群搭建及Kubernetes上实现动态存储(StorageClass)
集群准备 ceph集群配置说明 节点名称 IP地址 配置 作用 ceph-moni-0 10.10.3.150 centos7.5 4C,16G,200Disk 管理节点,监视器 monitor ...
- Ceph 集群整体迁移方案(转)
场景介绍:在我们的IDC中,存在着运行了3-6年的Ceph集群的服务器,这些服务器性能和容量等都已经无法满足当前业务的需求,在购入一批高性能机器后,希望将旧机器上的集群整体迁移到新机器上,当然,是保证 ...
- ceph集群性能测试结果
对ceph存储集群(8台万兆服务器)从以下几个方面进行测试的结果 1.读写稳定性 无故障下的ceph集群性能完全满足业务对磁盘性能的需求. 测试数据结果如下表1-1,1-2 2.业务稳定性 ceph集 ...
- 使用Ceph集群作为Kubernetes的动态分配持久化存储(转)
使用Docker快速部署Ceph集群 , 然后使用这个Ceph集群作为Kubernetes的动态分配持久化存储. Kubernetes集群要使用Ceph集群需要在每个Kubernetes节点上安装ce ...
- 小型ceph集群的搭建
了解ceph DFS(distributed file system)分布式存储系统,指文件系统管理的物理存储资源,不一定直接连接在本地节点上,而是通过计算机网络与节点相连,众多类别中,ceph是当下 ...
- 二十八. Ceph概述 部署Ceph集群 Ceph块存储
client :192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13 1.实验环境 准备四台KVM虚 ...
- CentOS 7 搭建 Ceph 集群(nautilus 版本)
搭建 Ceph 分布式集群( nautilus 版本 ) 一.服务器环境说明 主机名 角色 IP地址 ceph-admin ceph-deploy 192.168.92.21 ceph-node1 m ...
- 手把手教你使用rpm部署ceph集群
环境准备 1.在运行 Ceph 守护进程的节点上创建一个普通用户,ceph-deploy 会在节点安装软件包,所以你创建的用户需要无密码 sudo 权限.如果使用root可以忽略. 为赋予用户所有权限 ...
随机推荐
- python特性(八):生成器对象的send方法
生成器对象是一个迭代器.但是它比迭代器对象多了一些方法,它们包括send方法,throw方法和close方法.这些方法,主要是用于外部与生成器对象的交互.本文先介绍send方法. send方法有一个参 ...
- 2018-11-19-Roslyn-NameSyntax-的-ToString-和-ToFullString-的区别
title author date CreateTime categories Roslyn NameSyntax 的 ToString 和 ToFullString 的区别 lindexi 2018 ...
- H3C 主机接收IP包
- WebStorm使用参考手册
WebStorm 是 JetBrains 推出的一款商业的 JavaScript 开发工具 任何一个编辑器都需要保存(ctrl + s),这是所有win平台上编辑类软件的特点,但是webstorm编辑 ...
- js 数组的拼接
数组的拼接 var a = [1,2,3,4,5,6]; var b=["foo","bar", "fun"]; 最终的结果是: [ 1,2 ...
- H3C PPP MP配置示例三
- while循环计算1-100和,1-100内偶数/奇数/被整除的数的和
文章地址 https://www.cnblogs.com/sandraryan/ <!DOCTYPE html> <html lang="en"> < ...
- Java实现Windows锁屏
public class LockWindows { public static void main(String [] args) throws Exception { Runtime.getRun ...
- Talk is cheap. Show me the code.
Talk is cheap. Show me the code. -- Linux创始人 Linus Torvalds 2000-08-25 Stay hungry Stay foolish -- 乔 ...
- 关于 vue 生命周期 钩子函数 事件
vue实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom.渲染->更新->渲染.卸载等一系列过程,我们称这是vue的生命周期. 通俗的将就是vue实例从创建到销毁 ...