Conversation
cardoe
left a comment
There was a problem hiding this comment.
Add an entry into charts/argocd-understack/templates and it'll get deployed automatically put cdn in values.yaml under the site: block.
components/cdn/nginx-config.yaml
Outdated
|
|
||
| server { | ||
| listen 8080; | ||
| server_name cdn.dev.undercloud.rackspace.net; |
There was a problem hiding this comment.
Don't set the server name here
There was a problem hiding this comment.
Yup I spotted that, fixed.
components/cdn/ingress.yaml
Outdated
| # Assumes you're using ingress-nginx and cert-manager. | ||
| # Swap annotations if using Traefik or another ingress controller. | ||
| apiVersion: networking.k8s.io/v1 | ||
| kind: Ingress |
There was a problem hiding this comment.
Don't need an Ingress with HTTPRoute
There was a problem hiding this comment.
I removed the manifest from the repo.
components/cdn/httproute.yaml
Outdated
| namespace: cdn | ||
| spec: | ||
| hostnames: | ||
| - cdn.dev.undercloud.rackspace.net |
There was a problem hiding this comment.
Put this HTTPRoute in the deploy repo in the cdn directory under the cluster.
There was a problem hiding this comment.
It looks like these get created by envoy. I removed the manifest from the repo.
components/cdn/pvc.yaml
Outdated
| spec: | ||
| accessModes: | ||
| - ReadWriteOnce | ||
| storageClassName: openebs-hostpath |
There was a problem hiding this comment.
Probably not where we'd want this since that would mean we have to ping the nginx to a specific node?
There was a problem hiding this comment.
It's for the cache. The intention was to get fast, cheap, simple storage. If the pod moves to another node then it would re-populate the cache over there. If we run multiple pods, I don't know how that would interact with ceph-backed distributed storage.
There was a problem hiding this comment.
Storage on openebs-hostpath is quite limited - imho it normally should not be used for applications. The openebs-lvm would be better choice if you want to keep it local. If ceph, then ceph-block-ecoded if you want block or ceph-fs-ec if you want ReadWriteMany
There was a problem hiding this comment.
I moved it to openebs-lvm, multiple writers on ceph seems too advanced.
641b729 to
66e204a
Compare
skrobul
left a comment
There was a problem hiding this comment.
Consider packaging those manifests into a helm chart so that the values can be adjusted on per-environment basis easily.
If you don't want to use the helm's default template, we have https://github.com/rxt-pvc/backbone-sno-helm-scaffold/ that is slightly smaller but will need adjustments for HTTPRoutes
components/understack-cdn/README.md
Outdated
|
|
||
| Images are stored in Object Store | ||
|
|
||
| Cacheing reverse-proxies at each fabric will fetch the images from Object Store |
There was a problem hiding this comment.
| Cacheing reverse-proxies at each fabric will fetch the images from Object Store | |
| Caching reverse-proxies at each fabric will fetch the images from Object Store |
| maxObjects: "1000" | ||
| maxSize: "5G" |
There was a problem hiding this comment.
that seems quite small, imho should be configurable
|
Before merging, can we change the namespace to something like "understack-cdn" to avoid possible future overlaps? |
I changed the namespace name. I will remember this every time I have to type that name :) |
This provides a HTTPS endpoint that will serve up files from our back-end object storage.
These manifests will create a global storage bucket to hold the content.
A site-local nginx proxy caches the files locally (should work for deployments in countries far away or on slow links).
Requires https://github.com/RSS-Engineering/undercloud-deploy/pull/1332