Gitea + CI: git.carr.pub, NFS storage class, 3 runners
This commit is contained in:
114
manifests/monitoring/nfs-provisioner.yaml
Normal file
114
manifests/monitoring/nfs-provisioner.yaml
Normal file
@@ -0,0 +1,114 @@
|
||||
# NFS dynamic provisioning from the Synology (192.168.1.157).
|
||||
# Base dir /volume1/plancknetboot/k8s-volumes; each PVC gets a subdir.
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: nfs-provisioner
|
||||
namespace: monitoring
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: nfs-provisioner
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: [persistentvolumes]
|
||||
verbs: [get, list, watch, create, delete]
|
||||
- apiGroups: [""]
|
||||
resources: [persistentvolumeclaims]
|
||||
verbs: [get, list, watch, update]
|
||||
- apiGroups: ["storage.k8s.io"]
|
||||
resources: [storageclasses, volumeattributesclasses]
|
||||
verbs: [get, list, watch]
|
||||
- apiGroups: [""]
|
||||
resources: [events]
|
||||
verbs: [create, update, patch]
|
||||
- apiGroups: ["storage.k8s.io"]
|
||||
resources: [csidrivers]
|
||||
verbs: [get, list]
|
||||
- apiGroups: [""]
|
||||
resources: [nodes]
|
||||
verbs: [get, list, watch]
|
||||
- apiGroups: ["storage.k8s.io"]
|
||||
resources: [volumeattachments]
|
||||
verbs: [get, list, watch, delete]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: nfs-provisioner
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: nfs-provisioner
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: nfs-provisioner
|
||||
namespace: monitoring
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: nfs-provisioner
|
||||
namespace: monitoring
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: [endpoints]
|
||||
verbs: [get, list, watch, create, update, patch]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: nfs-provisioner
|
||||
namespace: monitoring
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: nfs-provisioner
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: nfs-provisioner
|
||||
namespace: monitoring
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: nfs-provisioner
|
||||
namespace: monitoring
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels: {app: nfs-provisioner}
|
||||
template:
|
||||
metadata:
|
||||
labels: {app: nfs-provisioner}
|
||||
spec:
|
||||
serviceAccountName: nfs-provisioner
|
||||
containers:
|
||||
- name: nfs-provisioner
|
||||
image: registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
|
||||
volumeMounts:
|
||||
- {name: nfs, mountPath: /persistentvolumes}
|
||||
env:
|
||||
- {name: PROVISIONER_NAME, value: nfs-synology}
|
||||
- {name: NFS_SERVER, value: "192.168.1.157"}
|
||||
- {name: NFS_PATH, value: /volume1/plancknetboot/k8s-volumes}
|
||||
- {name: ENABLE_LEADER_ELECTION, value: "false"}
|
||||
resources:
|
||||
requests: {cpu: 20m, memory: 32Mi}
|
||||
limits: {memory: 128Mi}
|
||||
volumes:
|
||||
- name: nfs
|
||||
nfs:
|
||||
server: "192.168.1.157"
|
||||
path: /volume1/plancknetboot/k8s-volumes
|
||||
---
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: nfs-synology
|
||||
provisioner: nfs-synology
|
||||
reclaimPolicy: Delete
|
||||
volumeBindingMode: Immediate
|
||||
parameters:
|
||||
archiveOnDelete: "true"
|
||||
Reference in New Issue
Block a user