Openshift节点存储配置
问题描述:
我正在寻找一些关于什么要求是openshift存储节点的最佳实践的一些信息,这些节点将执行dockers,但我没有找到任何明确的解决方案。Openshift节点存储配置
我的问题是:
-is任何共享存储强制所有节点?
- 可以控制放置图像的目录吗?
- 必须是nfs将通过容器加入的目录已经安装在节点服务器中?
答
我一直在寻找这件事,这些信息是我的结论:
如果需要例如数据库,詹金斯船长或任何类型的存储持久性存储要保持每次再码头工人靴你必须将存储挂载到可运行docker的节点上,这需要持久存储。
山中的节点的部分包括: NFS,HostPath(单个节点测试仅当然已经被安装),GlusterFS,Ceph的,开栈煤渣,AWS弹性块存储(EBS),GCE永久磁碟,iSCSI的光纤通道
在Openshift
Openshift NFS例如,创建file.yaml文件
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv0003
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
nfs:
path: /tmp
server: 172.17.0.2
创建持久卷
从文件创建创建
oc create -f file.yaml
- 创建从数据存储中的权利要求,权利要求书将搜索可用与所需的容量持久卷。
- fo与存储卷,并用权利要求创建荚。
然后索赔将被豆荚使用。
例如,让我们声明1GB,稍后我们将关联索赔与吊舱。
创建NFS-claim.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-claim1
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
从文件创建创建
oc create -f nfs-claim.yaml
-
apiVersion: v1
kind: Pod
metadata:
name: nginx-nfs-pod
labels:
name: nginx-nfs-pod
spec:
containers:
- name: nginx-nfs-pod
image: fedora/nginx
ports:
- name: web
containerPort: 80
volumeMounts:
- name: nfsvol
mountPath: /usr/share/nginx/html
volumes:
- name: nfsvol
persistentVolumeClaim:
claimName: nfs-claim1
的SELinux设置一些额外的选项一定是必需的,但他们这么好这里解释(https://docs.openshift.org/latest/install_config/storage_examples/shared_storage.html)
答
- 是任何共享存储强制所有节点?
没有共享存储不强制性,但它是高度建议(因为大多数应用程序将需要一些“全状态”存储,只能真正有一个共享的存储供应商提供。
它不清楚你想问你的3个问题中的2个: “我可以控制图像放置的目录吗?” 什么图像?你建立的图像并推送到注册表?您要拉动运行的图像在平台上? “ ”必须是将被容器加入的nfs目录已经安装在节点服务器中?“ 您是否试图询问nfs(存储)是否需要安装在节点上,以便pod能够使用它。这里的答案是肯定的。为了让PVC声明一个PV,PV必须被创建(为了实现这一点,必须将其安装到节点上。 –