k8s的储存方式简述
pod中的存储卷类型:
1.emptyDir:用于临时储存空间,无持久性储存功能,生命周期同pod容器,pod删除后,数据不再存在。
2.gitRepo:pod创建时,自动将云端仓库中的文件克隆到pod挂载的目录中,pod运行后,不会自主同步云端仓库的内容,有需要的话可以通过pod容器添加sidecar,来辅助完成此任务。
3.hostPath:在pods所在节点创建存储卷挂载到pod指定挂载目录中,但是如果节点宕机,数据也可能丢失。
4.nfs:在各个节点共享存储卷到指定pod挂载点
(1)在其中一个节点上下载nfs:yum -y install nfs-utils
(2)在这个节点上创建共享目录:mkdir /data/volumes
(3)编辑vi /etc/exports,把目录共享出去。编辑内容:共享的目录地址 共享给哪个主机或网段(rw,no_root_squash)(读写,压缩权限)
(4)启动服务 systemctl start nfs nfs监听2049端口
(5)在其他节点上挂载共享的目录:mount -t 文件类型(nfs) 共享目录url 挂载点目录 然后df -hT查看
(6)在编辑资源清单时在spec.template.spec.下添加volumes字段。
具体资源清单:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: myapp-nfs
namespace: default
spec:
selector:
matchLabels:
app: pod
san: tom
replicas:
template:
metadata:
name: pod-nfs
namespace: default
labels:
app: pod
san: tom
spec:
containers:
- name: myapp-nfs
image: ikubernetes/myapp:v1
volumeMounts:
- name: html
mountPath: /usr/share/nginx/html/
volumes:
- name: html
nfs:
path: /data/volumes
server: k8s-node2
(7)应用资源清单:kubectl apply -f 资源清单名
(8)在共享目录/data/volumes/下创建测试页面:echo "<h1>NFS smbands</h1>" >/data/volumes/index.html
(9)查看pod kubectl get pods -owide
(10)测试:curl podip
最新文章
- informix(懒得通用)
- JavaScript的setTimeout和setInterval的深入理解
- Topcoder SRM 619 DIv2 500 --又是耻辱的一题
- POJ1743 Musical Theme
- [BZOJ1477]青蛙的约会
- [译]servlet3.0与non-blocking服务端推送技术
- solrj6.2异常--Expected mime type application/octet-stream but got text/html.
- FLASK安装--兼收EZ_INSTALL及PIP
- WCF Rest:不使用UriTemplate使用post方式传参解决HTTP400问题以及参数映射问题
- Android NDK 编译FFmpeg(不需要复杂的环境变量设置)
- POJ 1753 位运算+枚举
- HDU 5692 (DFS序+线段树)
- 通过案例学习 Secret - 每天5分钟玩转 Docker 容器技术(110)
- 使用google wire解决依赖注入
- 手机上的m3u8视频(缓存)怎么转成MP4?
- Deep learning with Python 学习笔记(6)
- 2016-2017-2 20155309南皓芯java第五周学习总结
- OC ARC之循环引用问题(代码分析)
- runloop与线程的关系
- ASP.NET MVC 4 RC的JS/CSS打包压缩功能