k8s使用cephfs
以下为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的更多相关文章
- kubernetes挂载ceph rbd和cephfs的方法
目录 k8s挂载Ceph RBD PV & PVC方式 创建secret 创建PV 创建PVC 创建deployment挂载PVC StorageClass方式 创建secret 创建Stor ...
- 以Docker容器方式安装Ceph
获取Ceph的Docker镜像 因为公司对于网络环境的限制,安装ceph时使用ceph-deploy反而很不方便,且ssh免密码方式也不适用,所以使用docker方式安装. Git地址 https:/ ...
- 7.4 k8s结合ceph rbd、cephfs实现数据的持久化和共享
1.在ceph集群中创建rbd存储池.镜像及普通用户 1.1.存储池接镜像配置 创建存储池 root@u20-deploy:~# ceph osd pool create rbd-test-pool1 ...
- k8s volume
只有nfs和rbd的,本人翻译确实很渣 在容器中磁盘文件寿命是短暂的,当在容器中运行一些重要程序时,这会产生一些问题. 首先,当一个容器崩溃后,kubelet将重新启动该容器, ...
- k8s pv
这个文档描述当前在k8s中PersistentVolumes的使用. 我们建议和volume一起进行了解 Introduction 管理存储和管理计算是截然不同的问题. 持久存储子系统对用 ...
- Kubernetes使用cephfs作为后端存储
这里使用了k8s自身的持久化卷存储机制:PV和PVC.各组件之间的关系参考下图: PV的Access Mode(访问模式) The access modes are: ReadWriteOnce – ...
- cephfs创建及挂载
Ceph 文件系统( Ceph FS )是个 POSIX 兼容的文件系统,它使用 Ceph 存储集群来存储数据.Ceph 文件系统要求 Ceph 存储集群内至少有一个 Ceph 元数据服务器. 1.添 ...
- K8S学习笔记之Kubernetes数据持久化方案
在开始介绍k8s持久化存储前,我们有必要了解一下k8s的emptydir和hostpath.configmap以及secret的机制和用途. 0x00 Emptydir EmptyDir是一个空目录, ...
- k8s学习笔记之八:存储卷
第一章.前言 默认情况下容器的数据都是非持久化的, 在容器消亡以后数据也跟着丢失, 所以 Docker 提供了 Volume 机制以便将数据持久化存储. 类似的, Kubernetes 提供了更强大的 ...
随机推荐
- 转载:常用 Git 命令清单
转载:常用 Git 命令清单 原文地址:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 作者: 阮一峰 我每天使用 Git , ...
- Windows10 下安装 Mongodb
一.先登录Mongodb官网https://www.mongodb.com/download-center#community 下载 安装包.32.64位的都行.
- 存储过程(带有逻辑的sql语句)
-- 创建存储过程 DELIMITER $ -- 声明存储过程的结束符 CREATE PROCEDURE pro_test() --存储过程名称(参数列表) BEGIN ...
- jq——css类
1 addClass(classname) 添加类 <script type="text/javascript"> $("input").clic ...
- 使用json_decode无法解析json
在接入合作方接口时,遇到一个json无法解析出来代码如下: <?php $res='{"resultcode":007,"resMsg":"!& ...
- 电子邮件的三个协议: SMTP、IMAP、POP3
个人总结: 读完这篇文章需要10分钟 讲解了跟电子邮件有关的三个协议: SMTP(simple message transfer protocol 简单信息传输协议 IMAP (internet me ...
- Java线程:CountDownLatch 与Thread 的 join()
需求: 主程序中需要等待所有子线程完成后 再继续任务 两种实现方式: 一种使用join() 方法:当在当前线程中调用某个线程 thread 的 join() 方法时,当前线程就会阻塞,直到thread ...
- 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 ...
- Raspberry PI 系列 —— 裸机点亮LED灯
Raspberry PI 系列 -- 裸机点亮LED灯 背景 近期刚买了Raspberry PI B+,配置执行了官方提供的Raspbian系统,折腾了一周Linux系统,感觉没啥意思,于是就试着想了 ...
- 多本Web前端深度修炼书籍(提供网盘下载链接)
书籍介绍:这本书涵盖了html5新增标签和功能,而且提供了jquerymobile,Phonegap,Sencha Touch框架的介绍和应用,最后还带了一个移动web应用的样例,绝对是移动web开发 ...