test proxmox csi
This commit is contained in:
parent
67fb6c3727
commit
c6c94b1901
6
proxmox-csi/config.yaml
Normal file
6
proxmox-csi/config.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
clusters:
|
||||
- url: https://pve1.proxmox.infra.k-space.ee:8006/api2/json
|
||||
insecure: false
|
||||
token_id: "ks-kubernetes-csi@pve!cs"
|
||||
token_secret: "<token goes here>"
|
||||
region: pve-cluster
|
552
proxmox-csi/proxmox-csi-plugin.yml
Normal file
552
proxmox-csi/proxmox-csi-plugin.yml
Normal file
@ -0,0 +1,552 @@
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/namespace.yaml
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: csi-proxmox
|
||||
labels:
|
||||
pod-security.kubernetes.io/enforce: privileged
|
||||
pod-security.kubernetes.io/audit: baseline
|
||||
pod-security.kubernetes.io/warn: baseline
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/serviceaccount.yaml
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: proxmox-csi-plugin-controller
|
||||
namespace: csi-proxmox
|
||||
labels:
|
||||
helm.sh/chart: proxmox-csi-plugin-0.2.8
|
||||
app.kubernetes.io/name: proxmox-csi-plugin
|
||||
app.kubernetes.io/instance: proxmox-csi-plugin
|
||||
app.kubernetes.io/version: "v0.7.0"
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/serviceaccount.yaml
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: proxmox-csi-plugin-node
|
||||
namespace: csi-proxmox
|
||||
labels:
|
||||
helm.sh/chart: proxmox-csi-plugin-0.2.8
|
||||
app.kubernetes.io/name: proxmox-csi-plugin
|
||||
app.kubernetes.io/instance: proxmox-csi-plugin
|
||||
app.kubernetes.io/version: "v0.7.0"
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/storageclass.yaml
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: proxmox-data-xfs
|
||||
provisioner: csi.proxmox.sinextra.dev
|
||||
allowVolumeExpansion: true
|
||||
volumeBindingMode: WaitForFirstConsumer
|
||||
reclaimPolicy: Delete
|
||||
parameters:
|
||||
csi.storage.k8s.io/fstype: xfs
|
||||
storage: data
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/storageclass.yaml
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: proxmox-data
|
||||
provisioner: csi.proxmox.sinextra.dev
|
||||
allowVolumeExpansion: true
|
||||
volumeBindingMode: WaitForFirstConsumer
|
||||
reclaimPolicy: Delete
|
||||
parameters:
|
||||
csi.storage.k8s.io/fstype: ext4
|
||||
ssd: "true"
|
||||
storage: data
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/controller-clusterrole.yaml
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: proxmox-csi-plugin-controller
|
||||
namespace: csi-proxmox
|
||||
labels:
|
||||
helm.sh/chart: proxmox-csi-plugin-0.2.8
|
||||
app.kubernetes.io/name: proxmox-csi-plugin
|
||||
app.kubernetes.io/instance: proxmox-csi-plugin
|
||||
app.kubernetes.io/version: "v0.7.0"
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["persistentvolumes"]
|
||||
verbs: ["get", "list", "watch", "create", "patch", "delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["persistentvolumeclaims"]
|
||||
verbs: ["get", "list", "watch", "update"]
|
||||
- apiGroups: [""]
|
||||
resources: ["persistentvolumeclaims/status"]
|
||||
verbs: ["patch"]
|
||||
- apiGroups: [""]
|
||||
resources: ["events"]
|
||||
verbs: ["get","list", "watch", "create", "update", "patch"]
|
||||
|
||||
- apiGroups: ["storage.k8s.io"]
|
||||
resources: ["storageclasses"]
|
||||
verbs: ["get", "list", "watch"]
|
||||
- apiGroups: ["storage.k8s.io"]
|
||||
resources: ["csinodes"]
|
||||
verbs: ["get", "list", "watch"]
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs: ["get", "list", "watch"]
|
||||
|
||||
- apiGroups: ["storage.k8s.io"]
|
||||
resources: ["volumeattachments"]
|
||||
verbs: ["get", "list", "watch", "patch"]
|
||||
- apiGroups: ["storage.k8s.io"]
|
||||
resources: ["volumeattachments/status"]
|
||||
verbs: ["patch"]
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/node-clusterrole.yaml
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: proxmox-csi-plugin-node
|
||||
namespace: csi-proxmox
|
||||
labels:
|
||||
helm.sh/chart: proxmox-csi-plugin-0.2.8
|
||||
app.kubernetes.io/name: proxmox-csi-plugin
|
||||
app.kubernetes.io/instance: proxmox-csi-plugin
|
||||
app.kubernetes.io/version: "v0.7.0"
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- nodes
|
||||
verbs:
|
||||
- get
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/controller-rolebinding.yaml
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: proxmox-csi-plugin-controller
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: proxmox-csi-plugin-controller
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: proxmox-csi-plugin-controller
|
||||
namespace: csi-proxmox
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/node-rolebinding.yaml
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: proxmox-csi-plugin-node
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: proxmox-csi-plugin-node
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: proxmox-csi-plugin-node
|
||||
namespace: csi-proxmox
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/controller-role.yaml
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: proxmox-csi-plugin-controller
|
||||
namespace: csi-proxmox
|
||||
labels:
|
||||
helm.sh/chart: proxmox-csi-plugin-0.2.8
|
||||
app.kubernetes.io/name: proxmox-csi-plugin
|
||||
app.kubernetes.io/instance: proxmox-csi-plugin
|
||||
app.kubernetes.io/version: "v0.7.0"
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
rules:
|
||||
- apiGroups: ["coordination.k8s.io"]
|
||||
resources: ["leases"]
|
||||
verbs: ["get", "watch", "list", "delete", "update", "create"]
|
||||
|
||||
- apiGroups: ["storage.k8s.io"]
|
||||
resources: ["csistoragecapacities"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["pods"]
|
||||
verbs: ["get"]
|
||||
- apiGroups: ["apps"]
|
||||
resources: ["replicasets"]
|
||||
verbs: ["get"]
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/controller-rolebinding.yaml
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: proxmox-csi-plugin-controller
|
||||
namespace: csi-proxmox
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: proxmox-csi-plugin-controller
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: proxmox-csi-plugin-controller
|
||||
namespace: csi-proxmox
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/node-deployment.yaml
|
||||
apiVersion: apps/v1
|
||||
kind: DaemonSet
|
||||
metadata:
|
||||
name: proxmox-csi-plugin-node
|
||||
namespace: csi-proxmox
|
||||
labels:
|
||||
helm.sh/chart: proxmox-csi-plugin-0.2.8
|
||||
app.kubernetes.io/name: proxmox-csi-plugin
|
||||
app.kubernetes.io/instance: proxmox-csi-plugin
|
||||
app.kubernetes.io/version: "v0.7.0"
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
spec:
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: proxmox-csi-plugin
|
||||
app.kubernetes.io/instance: proxmox-csi-plugin
|
||||
app.kubernetes.io/component: node
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: proxmox-csi-plugin
|
||||
app.kubernetes.io/instance: proxmox-csi-plugin
|
||||
app.kubernetes.io/component: node
|
||||
spec:
|
||||
priorityClassName: system-node-critical
|
||||
enableServiceLinks: false
|
||||
serviceAccountName: proxmox-csi-plugin-node
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
containers:
|
||||
- name: proxmox-csi-plugin-node
|
||||
securityContext:
|
||||
privileged: true
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
add:
|
||||
- SYS_ADMIN
|
||||
- CHOWN
|
||||
- DAC_OVERRIDE
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
image: "ghcr.io/sergelogvinov/proxmox-csi-node:edge"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- "-v=5"
|
||||
- "--csi-address=unix:///csi/csi.sock"
|
||||
- "--node-id=$(NODE_NAME)"
|
||||
env:
|
||||
- name: NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: spec.nodeName
|
||||
resources:
|
||||
{}
|
||||
volumeMounts:
|
||||
- name: socket
|
||||
mountPath: /csi
|
||||
- name: kubelet
|
||||
mountPath: /var/lib/kubelet
|
||||
mountPropagation: Bidirectional
|
||||
- name: dev
|
||||
mountPath: /dev
|
||||
- name: sys
|
||||
mountPath: /sys
|
||||
- name: csi-node-driver-registrar
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
readOnlyRootFilesystem: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
image: "registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.4"
|
||||
imagePullPolicy: IfNotPresent
|
||||
args:
|
||||
- "-v=5"
|
||||
- "--csi-address=unix:///csi/csi.sock"
|
||||
- "--kubelet-registration-path=/var/lib/kubelet/plugins/csi.proxmox.sinextra.dev/csi.sock"
|
||||
volumeMounts:
|
||||
- name: socket
|
||||
mountPath: /csi
|
||||
- name: registration
|
||||
mountPath: /registration
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 16Mi
|
||||
- name: liveness-probe
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
readOnlyRootFilesystem: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
image: "registry.k8s.io/sig-storage/livenessprobe:v2.11.0"
|
||||
imagePullPolicy: IfNotPresent
|
||||
args:
|
||||
- "-v=5"
|
||||
- "--csi-address=unix:///csi/csi.sock"
|
||||
volumeMounts:
|
||||
- name: socket
|
||||
mountPath: /csi
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 16Mi
|
||||
volumes:
|
||||
- name: socket
|
||||
hostPath:
|
||||
path: /var/lib/kubelet/plugins/csi.proxmox.sinextra.dev/
|
||||
type: DirectoryOrCreate
|
||||
- name: registration
|
||||
hostPath:
|
||||
path: /var/lib/kubelet/plugins_registry/
|
||||
type: Directory
|
||||
- name: kubelet
|
||||
hostPath:
|
||||
path: /var/lib/kubelet
|
||||
type: Directory
|
||||
- name: dev
|
||||
hostPath:
|
||||
path: /dev
|
||||
type: Directory
|
||||
- name: sys
|
||||
hostPath:
|
||||
path: /sys
|
||||
type: Directory
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: node.kubernetes.io/unschedulable
|
||||
operator: Exists
|
||||
- effect: NoSchedule
|
||||
key: node.kubernetes.io/disk-pressure
|
||||
operator: Exists
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/controller-deployment.yaml
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: proxmox-csi-plugin-controller
|
||||
namespace: csi-proxmox
|
||||
labels:
|
||||
helm.sh/chart: proxmox-csi-plugin-0.2.8
|
||||
app.kubernetes.io/name: proxmox-csi-plugin
|
||||
app.kubernetes.io/instance: proxmox-csi-plugin
|
||||
app.kubernetes.io/version: "v0.7.0"
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxUnavailable: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: proxmox-csi-plugin
|
||||
app.kubernetes.io/instance: proxmox-csi-plugin
|
||||
app.kubernetes.io/component: controller
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
checksum/config: c69436cb1e16c36ff708b1003d3ca4c6ee6484d2524e2ba7d9b68f473acaa1ca
|
||||
labels:
|
||||
app.kubernetes.io/name: proxmox-csi-plugin
|
||||
app.kubernetes.io/instance: proxmox-csi-plugin
|
||||
app.kubernetes.io/component: controller
|
||||
spec:
|
||||
priorityClassName: system-cluster-critical
|
||||
enableServiceLinks: false
|
||||
serviceAccountName: proxmox-csi-plugin-controller
|
||||
securityContext:
|
||||
fsGroup: 65532
|
||||
fsGroupChangePolicy: OnRootMismatch
|
||||
runAsGroup: 65532
|
||||
runAsNonRoot: true
|
||||
runAsUser: 65532
|
||||
hostAliases:
|
||||
[]
|
||||
initContainers:
|
||||
[]
|
||||
containers:
|
||||
- name: proxmox-csi-plugin-controller
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
readOnlyRootFilesystem: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
image: "ghcr.io/sergelogvinov/proxmox-csi-controller:edge"
|
||||
imagePullPolicy: Always
|
||||
args:
|
||||
- "-v=5"
|
||||
- "--csi-address=unix:///csi/csi.sock"
|
||||
- "--cloud-config=/etc/proxmox/config.yaml"
|
||||
# - "--metrics-address=:8080"
|
||||
# ports:
|
||||
# - name: metrics
|
||||
# containerPort: 8080
|
||||
# protocol: TCP
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 16Mi
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /csi
|
||||
- name: cloud-config
|
||||
mountPath: /etc/proxmox/
|
||||
- name: csi-attacher
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
readOnlyRootFilesystem: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
image: "registry.k8s.io/sig-storage/csi-attacher:v4.4.4"
|
||||
imagePullPolicy: IfNotPresent
|
||||
args:
|
||||
- "-v=5"
|
||||
- "--csi-address=unix:///csi/csi.sock"
|
||||
- "--timeout=3m"
|
||||
- "--leader-election"
|
||||
- "--default-fstype=ext4"
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /csi
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 16Mi
|
||||
- name: csi-provisioner
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
readOnlyRootFilesystem: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
image: "registry.k8s.io/sig-storage/csi-provisioner:v3.6.4"
|
||||
imagePullPolicy: IfNotPresent
|
||||
args:
|
||||
- "-v=5"
|
||||
- "--csi-address=unix:///csi/csi.sock"
|
||||
- "--timeout=3m"
|
||||
- "--leader-election"
|
||||
- "--default-fstype=ext4"
|
||||
- "--feature-gates=Topology=True"
|
||||
- "--enable-capacity"
|
||||
- "--capacity-ownerref-level=2"
|
||||
env:
|
||||
- name: NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /csi
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 16Mi
|
||||
- name: csi-resizer
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
readOnlyRootFilesystem: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
image: "registry.k8s.io/sig-storage/csi-resizer:v1.9.4"
|
||||
imagePullPolicy: IfNotPresent
|
||||
args:
|
||||
- "-v=5"
|
||||
- "--csi-address=unix:///csi/csi.sock"
|
||||
- "--timeout=3m"
|
||||
- "--handle-volume-inuse-error=false"
|
||||
- "--leader-election"
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /csi
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 16Mi
|
||||
- name: liveness-probe
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
readOnlyRootFilesystem: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
image: "registry.k8s.io/sig-storage/livenessprobe:v2.11.0"
|
||||
imagePullPolicy: IfNotPresent
|
||||
args:
|
||||
- "-v=5"
|
||||
- "--csi-address=unix:///csi/csi.sock"
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /csi
|
||||
resources:
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 16Mi
|
||||
volumes:
|
||||
- name: socket-dir
|
||||
emptyDir: {}
|
||||
- name: cloud-config
|
||||
secret:
|
||||
secretName: proxmox-csi-plugin
|
||||
nodeSelector:
|
||||
node-role.kubernetes.io/control-plane: ""
|
||||
tolerations:
|
||||
- effect: NoSchedule
|
||||
key: node-role.kubernetes.io/control-plane
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: kubernetes.io/hostname
|
||||
whenUnsatisfiable: DoNotSchedule
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: proxmox-csi-plugin
|
||||
app.kubernetes.io/instance: proxmox-csi-plugin
|
||||
app.kubernetes.io/component: controller
|
||||
---
|
||||
# Source: proxmox-csi-plugin/templates/csidriver.yaml
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: CSIDriver
|
||||
metadata:
|
||||
name: csi.proxmox.sinextra.dev
|
||||
spec:
|
||||
attachRequired: true
|
||||
podInfoOnMount: true
|
||||
storageCapacity: true
|
||||
volumeLifecycleModes:
|
||||
- Persistent
|
19
proxmox-csi/readme.md
Normal file
19
proxmox-csi/readme.md
Normal file
@ -0,0 +1,19 @@
|
||||
# proxmox-csi
|
||||
|
||||
1. create role in pve if it doesn't exist
|
||||
2. create user and assign permissions, preferrably at resource pool level
|
||||
```
|
||||
pveum user add ks-kubernetes-csi@pve
|
||||
pveum aclmod /pool/kspace_pool -user ks-kubernetes-csi@pve -role CSI
|
||||
pveum user token add ks-kubernetes-csi@pve cs -privsep 0
|
||||
```
|
||||
save the token!
|
||||
3. apply `proxmox-csi-plugin.yml` and `storage-class.yaml`, delete proxmox-csi default storage classes from kube.
|
||||
4. add the token from pve to `config.yaml` and create the secret: `kubectl -n csi-proxmox create secret generic proxmox-csi-plugin --from-file=config.yaml`
|
||||
5. label the nodes according to allocation:
|
||||
```
|
||||
kubectl --kubeconfig ~/.kube/k-space label nodes worker1.kube.k-space.ee topology.kubernetes.io/region=pve-cluster topology.kubernetes.io/zone=pve1 --overwrite
|
||||
kubectl --kubeconfig ~/.kube/k-space label nodes worker2.kube.k-space.ee topology.kubernetes.io/region=pve-cluster topology.kubernetes.io/zone=pve2 --overwrite
|
||||
kubectl --kubeconfig ~/.kube/k-space label nodes worker3.kube.k-space.ee topology.kubernetes.io/region=pve-cluster topology.kubernetes.io/zone=pve8 --overwrite
|
||||
kubectl --kubeconfig ~/.kube/k-space label nodes worker4.kube.k-space.ee topology.kubernetes.io/region=pve-cluster topology.kubernetes.io/zone=pve9 --overwrite
|
||||
```
|
14
proxmox-csi/storage-class.yaml
Normal file
14
proxmox-csi/storage-class.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: proxmox
|
||||
parameters:
|
||||
csi.storage.k8s.io/fstype: xfs
|
||||
storage: ks-pvs
|
||||
cache: none
|
||||
ssd: "false"
|
||||
shared: "true"
|
||||
provisioner: csi.proxmox.sinextra.dev
|
||||
allowVolumeExpansion: true
|
||||
reclaimPolicy: Delete
|
||||
volumeBindingMode: WaitForFirstConsumer
|
Loading…
Reference in New Issue
Block a user