Comments (13)
@nnachefski you can create your own PVC in the openshift-image-registry namespace and use its name in spec.storage.pvc.claim
. Have you tried it?
from cluster-image-registry-operator.
@dmage I think there may be a larger issue here. If pvc.claim
is not set, does the registry operator assume the default storage class will provision RWX
storage? If so, is this assumption true on most providers?
from cluster-image-registry-operator.
@adambkaplan RWX
is not an assumption, it is a requirement. The operator doesn't assign any storage classes, there is another component that sets the storage class to our PVC. The storage class isn't the only option than customers may want to change in PVC, there are also storage requests, selectors. And the bootstrapped PVC is read-only and can't be changed, so there is no reason to add parts of PVC to our configuration resource.
from cluster-image-registry-operator.
I think @adambkaplan is referring to the case where the operator creates the PVC itself. When it does so, it sets RWX as required:
https://github.com/openshift/cluster-image-registry-operator/blob/master/pkg/storage/pvc/pvc.go#L132-L134
so i believe we are fine on that front.
from cluster-image-registry-operator.
Could something similar be done like with the Prometheus stack? It uses a config map to configure the cluster-monitoring operator.
Ex:
apiVersion: v1
kind: ConfigMap
metadata:
name: cluster-monitoring-config
namespace: openshift-monitoring
data:
config.yaml: |
prometheusK8s:
volumeClaimTemplate:
spec:
storageClassName: rook-ceph-block
resources:
requests:
storage: 40Gi
from cluster-image-registry-operator.
we generally have a preference for first class config apis (CRDs) over configmaps that are harder to validate, provide api documentation for, and enforce rbac rules around.
from cluster-image-registry-operator.
How is RWX a requirement when for years Docker said not to use NFS (commonly used RWX backend) at the risk of getting a corrupted registry? At least there should be a warning in the doc not to use NFS but CephFS or GlusterFS.
from cluster-image-registry-operator.
@tux-o-matic do you have a link where Docker says not to use NFS?
RWX is a requirement to avoid downtime during upgrades. In general, you should use an object storage (S3, GCS, etc.). PVC is an option when you don't have any object storage.
In 4.4 you can provide a RWO volume if you don't need a high available cluster.
from cluster-image-registry-operator.
@dmage One such warning in 3.1 doc
And another caution
from cluster-image-registry-operator.
@tux-o-matic NFSv3 might have such issue, but I believed NFSv4 already fixed those cache and other issue to make NFS more reliable when RWX mounted on many nodes.
from cluster-image-registry-operator.
@aizuddin85 , if that's the case then I think it should be mentioned in the documentation because I believe most people still stuck with NFS in their infrastructure are likely stuck with v3.x
from cluster-image-registry-operator.
@tux-o-matic In the documentation it mentioned both. I agree we probably can make it clearer, caveats between NFSv3 vs NFSv4.
from cluster-image-registry-operator.
The expected way to use a custom storage class is to provide your own PVC:
$ cat pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: cephfs-storage
namespace: openshift-image-registry
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
storageClassName: csi-cephfs
volumeMode: Filesystem
$ oc apply -f pvc.yaml
persistentvolumeclaim/cephfs-storage created
$ oc patch configs.imageregistry.operator.openshift.io/cluster --type merge --patch '{"spec":{"storage":{"pvc":{"claim":"cephfs-storage"}}}}'
config.imageregistry.operator.openshift.io/cluster patched
You can delete the default pvc/image-registry-storage after that if it has been created.
from cluster-image-registry-operator.
Related Issues (20)
- Swift test missing AssertNoErr, throws error if added HOT 4
- registry fail to start (4.2-2019-08-08-070705) HOT 1
- Setup golangci-lint
- Default to Removed for bare metal infrastructure platform HOT 2
- Disable docker redirect for S3 buckets HOT 4
- AdditionalTrustedBundle not being added to the operator pod HOT 7
- Is this the expected way to go to set up (vendor) swift storage for the registry? HOT 11
- Upgrade error: Unable to apply 4.2.16: the cluster operator image-registry has not yet successfully rolled out HOT 12
- Support for third party S3 implementations HOT 6
- Mounting additionalTrustBundle in the operator. HOT 13
- Pull from ImageStream in Dockerfile - Authentication Required HOT 7
- The s3 storage backend leaks a new https connection every 10 seconds HOT 8
- Question: Is it possible to have more than one instance of the operator deployed in a cluster? HOT 3
- Future Release Branches Frozen For Merging | branch:release-4.17 branch:release-4.18
- world-writable without sticky bit in `/etc/pki/ca-trust/extracted/edk2` etc HOT 5
- Third Party S3 configuration results in runtime panic HOT 9
- Empty IBMCOS storage config causes operator to crashloop HOT 3
- Route Through New Ingress Controller HOT 4
- Helm chart for cluster-image-registry-operator HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cluster-image-registry-operator.