Skip to content
Snippets Groups Projects
Verified Commit 6e94747a authored by David Hoese's avatar David Hoese
Browse files

Add administrative resources like StorageClasses and PersistentVolumes

parent 1be02ec3
No related branches found
No related tags found
No related merge requests found
......@@ -8,4 +8,17 @@ GitLab group are updated, deployment is executed and operational processing
is upgraded.
This repository also contains "helper" CI configs for sub-component
repositories to use for building and testing their pieces.
\ No newline at end of file
repositories to use for building and testing their pieces.
## Repository Structure
* admin: Kubernetes resources that should be manually installed to define
cluster resources available to the main geosphere application(s). These
are **not** run as part of continuous integration.
* cichart: Docker image configuration used by certain CI jobs to build or
download helm charts.
* production: Extra helm chart "values" YAML files to configure GeoSphere for
the production environment.
* sidecars: Docker image configurations for various "sidecar" containers that
don't fit in one subcomponent's project.
* .gitlab-ci.yml: Continuous Integration (CI) configuration
\ No newline at end of file
# Cluster Resource Administration
This directory includes Kubernetes resources that should be installed on
Kubernetes clusters that will have GeoSphere deployed on them. While there
may be local cluster builtin equivalents to the resources defined here, these
builtin names are not used in the current configuration in this deploy
repository. The builtin resources could be used instead of installing the
resources defined in this directory by updating the `values-X.yaml` files in
the various directories and in the `.gitlab-ci.yml` configuration file.
## Storage - Local Large Cache
This storage class and persistent volume can be used for cases where a
GeoSphere component needs relatively high performance and
large capacity storage. Both the StorageClass and the PersistentVolume
are defined in `local-large-cache.yaml`. This storage is primarily used
for GeoSphere's tile cache (used by MapCache). It defines large storage
that is physically located/connected to the node where the pod is being
run or at least performs like it is. The term "large" here refers to
multiple terabytes (3-10TB). While this isn't large in generic storage
terms, it is considered large for a "cache" which is not guaranteed to
persist.
To apply:
```bash
kubectl apply -f local-large-cache.yaml
```
## Storage - Local Medium Archive
Similar to Local Large Cache above, but larger available space. Note this
should only be used for testing as data will be deleted when the claim
is removed.
\ No newline at end of file
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-large-cache
spec:
capacity:
storage: 10Ti
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
storageClassName: local-large-cache
local:
path: /data
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- kubekorner.ssec.wisc.edu
- presto.ssec.wisc.edu
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local-large-cache
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
\ No newline at end of file
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-medium-archive
spec:
capacity:
storage: 15Ti
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
storageClassName: local-medium-archive
local:
path: /data
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- kubekorner.ssec.wisc.edu
- presto.ssec.wisc.edu
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local-medium-archive
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment