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 提供了更强大的 ...
随机推荐
- 二、frps 完整配置文件
# [common] is integral section [common] # A literal address or host name for IPv6 must be enclosed # ...
- nginx1.15.8源码安装
useradd www -s /sbin/nologin -M yum -y install gcc pcre-devel openssl-devel cd /usr/local/src wget ...
- myeclipse 字体设置为UTF-8
将myeclipse设置成utf-8格式的方式如下: 1.windows->Preferences打开"首选项"对话框,如图: 2.点击左侧导航树,导航到general-&g ...
- 用 JavaScript 实现简单拼图游戏
本篇主要讲解,如何利用原生的 JavaScript 来实现一个简单的拼图小游戏. 线上体验地址:拼图 一.游戏的基础逻辑 想用一门语言来开发游戏,必须先了解如何使用这门语言来实现一些基础逻辑,比如图像 ...
- 如何成为资深的python专家
相信很多人有这种感受,python很简单,几天就学会了:做了一段时间就觉得python没什么好玩的,就这样. 一种语言有火这么久,必有它存在的道理. 第一.我们要相信她,她就像你的新女朋友一样,她会给 ...
- pytorch 5 classification 分类
import torch from torch.autograd import Variable import torch.nn.functional as F import matplotlib.p ...
- 通过CSS样式隐藏百度版权标志
在JSP中添加: //隐藏所有.anchorBL{ display:none; } //隐藏下方的保留百度地图图片 .BMap_cpyCtrl{ display:none; } 注:维护他人版权, ...
- WEB开发兼容性---浏览器渲染模式—— document.compatMode
document.compatMode主要是用来判断浏览器采用何种方式渲染,它有两种可能的返回值:BackCompat和CSS1Compat,官方对其解释如下: BackCompat:标准兼容模式关闭 ...
- 06001_NoSQL概述
1.什么是NoSQL? NoSQL(NoSQL=Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库. 2.关于关系型数据库和nosql数据库 (1)关系型 ...
- shell 脚本 helloworld
一.Hello World 脚本代码 #!/bin/sh echo "hello world" /bin/pwd 二.分析脚本 第 1 行:shell 脚本的固定写法 第 2 行: ...