以下为ceph集群操作内容


cephfs

将cephfs挂载到一台服务器 /mnt/cephf 。

创建目录 mkdir -p /mnt/cephf/k8s/staff-nginx/{conf,data}

以下为k8s节点操作内容


创建secret

[root@ceph1 wsjy-proxy]# ceph auth get-key client.admin|base64
QVFDM2k3MWNZeXIyTFJBQU1JcFp0eG5VdVlyYURNSUcyMVgyVnc11Q== [root@node1 work]# vim ceph-secret3.yaml
apiVersion: v1
kind: Secret
metadata:
name: ceph-secret
data:
key: QVFDM2k3MWNZeXIyTFJBQU1JcFp0eG5VdVlyYURNSUcyMVgyVnc11Q==
[root@node1 work]# kubectl create -f ceph-secret3.yaml
secret "ceph-secret" created
[root@node1 work]# kubectl get secret
NAME TYPE DATA AGE
ceph-secret Opaque 1 2s
default-token-7s88r kubernetes.io/service-account-token 3 12d

创建pv

[root@node1 staff-nginx]# cat staff-nginx-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: staff-nginx-pv
spec:
capacity:
storage: 2Gi
accessModes:
- ReadWriteMany
cephfs:
monitors:
- 10.101.71.150:6789,10.101.71.151:6789,10.101.71.152:6789
path: /k8s/staff-nginx
user: admin
readOnly: false
secretRef:
name: ceph-secret
persistentVolumeReclaimPolicy: Recycle [root@node1 staff-nginx]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
staff-nginx-pv 2Gi RWX Recycle Bound default/staff-nginx-pvc 172m

创建pvc

[root@node1 staff-nginx]# cat staff-nginx-pvc.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: staff-nginx-pvc
spec:
accessModes:
- ReadWriteMany
volumeName: staff-nginx-pv
resources:
requests:
storage: 2Gi
[root@node1 staff-nginx]# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
staff-nginx-pvc Bound staff-nginx-pv 2Gi RWX 173m

创建POD

[root@node1 staff-nginx]# cat staff-nginx.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: dep-staff-nginx
namespace: default
spec:
replicas: 2
template:
metadata:
labels:
name: staff-nginx
spec:
containers:
- name: staff-nginx
image: nginx:1.7.9
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: "500m"
memory: 512Mi
requests:
cpu: "250m"
memory: 256Mi
env:
- name: TZ
value: "Asia/Shanghai"
ports:
- name: tcp80
containerPort: 80
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: nginx-data
subPath: data
- mountPath: "/etc/nginx/conf.d"
name: staff-nginx-data
subPath: conf
# - mountPath: "/etc/nginx/nginx.conf"
# name: staff-nginx-data
# subPath: nginx.conf volumes:
- name: staff-nginx-data
persistentVolumeClaim:
claimName: staff-nginx-pvc nodeSelector:
node: "master" ---
kind: Service
apiVersion: v1
metadata:
name: staff-proxy-service
labels:
name: staff-proxy-service
spec:
type: NodePort
selector:
name: staff-nginx
ports:
- name: tcp80
port: 80
targetPort: 80
nodePort: 30080

k8s使用cephfs的更多相关文章

  1. kubernetes挂载ceph rbd和cephfs的方法

    目录 k8s挂载Ceph RBD PV & PVC方式 创建secret 创建PV 创建PVC 创建deployment挂载PVC StorageClass方式 创建secret 创建Stor ...

  2. 以Docker容器方式安装Ceph

    获取Ceph的Docker镜像 因为公司对于网络环境的限制,安装ceph时使用ceph-deploy反而很不方便,且ssh免密码方式也不适用,所以使用docker方式安装. Git地址 https:/ ...

  3. 7.4 k8s结合ceph rbd、cephfs实现数据的持久化和共享

    1.在ceph集群中创建rbd存储池.镜像及普通用户 1.1.存储池接镜像配置 创建存储池 root@u20-deploy:~# ceph osd pool create rbd-test-pool1 ...

  4. k8s volume

        只有nfs和rbd的,本人翻译确实很渣         在容器中磁盘文件寿命是短暂的,当在容器中运行一些重要程序时,这会产生一些问题. 首先,当一个容器崩溃后,kubelet将重新启动该容器, ...

  5. k8s pv

    这个文档描述当前在k8s中PersistentVolumes的使用. 我们建议和volume一起进行了解   Introduction     管理存储和管理计算是截然不同的问题. 持久存储子系统对用 ...

  6. Kubernetes使用cephfs作为后端存储

    这里使用了k8s自身的持久化卷存储机制:PV和PVC.各组件之间的关系参考下图: PV的Access Mode(访问模式) The access modes are: ReadWriteOnce – ...

  7. cephfs创建及挂载

    Ceph 文件系统( Ceph FS )是个 POSIX 兼容的文件系统,它使用 Ceph 存储集群来存储数据.Ceph 文件系统要求 Ceph 存储集群内至少有一个 Ceph 元数据服务器. 1.添 ...

  8. K8S学习笔记之Kubernetes数据持久化方案

    在开始介绍k8s持久化存储前,我们有必要了解一下k8s的emptydir和hostpath.configmap以及secret的机制和用途. 0x00 Emptydir EmptyDir是一个空目录, ...

  9. k8s学习笔记之八:存储卷

    第一章.前言 默认情况下容器的数据都是非持久化的, 在容器消亡以后数据也跟着丢失, 所以 Docker 提供了 Volume 机制以便将数据持久化存储. 类似的, Kubernetes 提供了更强大的 ...

随机推荐

  1. 转载:常用 Git 命令清单

    转载:常用 Git 命令清单 原文地址:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html  作者: 阮一峰 我每天使用 Git , ...

  2. Windows10 下安装 Mongodb

    一.先登录Mongodb官网https://www.mongodb.com/download-center#community 下载   安装包.32.64位的都行.

  3. 存储过程(带有逻辑的sql语句)

    -- 创建存储过程 DELIMITER $       -- 声明存储过程的结束符 CREATE PROCEDURE pro_test()           --存储过程名称(参数列表) BEGIN ...

  4. jq——css类

    1  addClass(classname) 添加类 <script type="text/javascript"> $("input").clic ...

  5. 使用json_decode无法解析json

    在接入合作方接口时,遇到一个json无法解析出来代码如下: <?php $res='{"resultcode":007,"resMsg":"!& ...

  6. 电子邮件的三个协议: SMTP、IMAP、POP3

    个人总结: 读完这篇文章需要10分钟 讲解了跟电子邮件有关的三个协议: SMTP(simple message transfer protocol 简单信息传输协议 IMAP (internet me ...

  7. Java线程:CountDownLatch 与Thread 的 join()

    需求: 主程序中需要等待所有子线程完成后 再继续任务 两种实现方式: 一种使用join() 方法:当在当前线程中调用某个线程 thread 的 join() 方法时,当前线程就会阻塞,直到thread ...

  8. Reentrant protected mode kernel using virtual 8086 mode interrupt service routines

    A method for allowing a protected mode kernel to service, in virtual 8086 mode, hardware interrupts ...

  9. Raspberry PI 系列 —— 裸机点亮LED灯

    Raspberry PI 系列 -- 裸机点亮LED灯 背景 近期刚买了Raspberry PI B+,配置执行了官方提供的Raspbian系统,折腾了一周Linux系统,感觉没啥意思,于是就试着想了 ...

  10. 多本Web前端深度修炼书籍(提供网盘下载链接)

    书籍介绍:这本书涵盖了html5新增标签和功能,而且提供了jquerymobile,Phonegap,Sencha Touch框架的介绍和应用,最后还带了一个移动web应用的样例,绝对是移动web开发 ...