ngress 只需要一个nodePort或者一个LB,就可以实现暴露多个service
k
总结:本质还是Nginx反向代理,只不过反向代理这个配置工程,是由ingress 动态生成的
数据存储
volume 数据共享,生命周期与容器无关,与pod 有关吗,看类型
emptyDir
实验,一个容器向volume写入,一个容器从volume中读取,并输出
emptyDIr: 无需指定宿主机目录,会自动创建,临时存放空间,pod销毁,volume永久清除
存储卷 volume
hostPath
hostpath是node主机中一个实际的目录挂载到pod中,供容器使用,容器销毁,数据仍然存在
查看文件的时候,一定要去所在的node,找到node 再找路径,再找文件
NFS(net file system)
node节点挂了,无法访问到节点,更不能访问到hostpath,所以需要采用NFS CIFS
需要单独的网络存储系统(NFS)
安装nfs服务
目录 权限可以读,可以写
master 上安装nfs 服务,node上也要安装,但是不启动
yaml配置,给pod配置了nfs,把Nginx的日志目录,挂载映射配置到nfs
pod创建成功
目录映射成功
tail -f 实时检测
高级存储-pv
pv 是对 nfs cifs clustersFs 的一种抽象,屏蔽他们的细节
pvc 持久化卷申请 claim
PV
pv是跨name space 使用的,pv yaml 不要加ns 注解
nfs 存储类型/cifs/gfs
capacity 存储能力
访问模式 :访问权限 read-write ,被单个node 挂载,独占,
创建pv
accessMode 访问模式
reclaimPolicy 回收策略
创建pv 查看pv
available 表示可用的状态,还未被任何PVC绑定
bound 表示pv 已经被pvc 绑定
目前已经准备好了三个pv
高级存储pvc
pv 是属于集群的,跨namespace
pvc 是属于namespace的 ,selector 采用标签对pv选择
c-calim
需要申请pvc 5g,但是没有这么的空间的pv,处于pending状态
查看 pv 和 pvc的 绑定关系
创建pod 使用 pvc
mountpath 容器挂载路径
pod 中对/root 的修改,最终结果输出到master节点的nfs服务上
pv pvc 生命周期
configMap
describe cm //查看configMap
将configMap挂载到pod中
进入到容器, exec -it podName -n dev /bin/bash
查看文件的内容 more cat
key info 变成文件的名字
value ..., 变成文件的内容
edit 支持cm动态更新
secret
把secret挂载到pod中去