Skip to content

Commit

Permalink
update to v3.0.0-beta1
Browse files Browse the repository at this point in the history
  • Loading branch information
tuxtof committed Dec 6, 2023
1 parent 4ce7355 commit feb1995
Show file tree
Hide file tree
Showing 12 changed files with 273 additions and 97 deletions.
7 changes: 3 additions & 4 deletions charts/nutanix-csi-storage/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
apiVersion: v1
name: nutanix-csi-storage
version: 2.6.6
version: 3.0.0-beta1
kubeVersion: ">= 1.20.0-0"
description: Nutanix Container Storage Interface (CSI) Driver
home: https://github.com/nutanix/helm
maintainers:
- name: nutanix-cloud-native-bot
email: [email protected]
icon: https://avatars2.githubusercontent.com/u/6165865?s=200&v=4
appVersion: "2.6.6"
appVersion: "3.0.0-beta1"
keywords:
- Nutanix
- Storage
Expand All @@ -23,8 +23,7 @@ annotations:
artifacthub.io/displayName: "Nutanix CSI Storage"
artifacthub.io/containsSecurityUpdates: "true"
artifacthub.io/changes: |
- Update Nutanix CSI driver to v2.6.6
- Update CSI Sidecar version
- Update Nutanix CSI Driver to 3.0.0
artifacthub.io/links: |
- name: Nutanix CSI Driver documentation
url: https://portal.nutanix.com/page/documents/details?targetId=CSI-Volume-Driver-v2_6:CSI-Volume-Driver-v2_6
Expand Down
2 changes: 1 addition & 1 deletion charts/nutanix-csi-storage/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ https://portal.nutanix.com/page/documents/details?targetId=CSI-Volume-Driver-v2_

## Features list

- Nutanix CSI Driver v2.6.6
- Nutanix CSI Driver v3.0.0
- Nutanix Volumes support
- Nutanix Files support
- Volume clone
Expand Down
3 changes: 2 additions & 1 deletion charts/nutanix-csi-storage/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
Driver name: {{ include "nutanix-csi-storage.drivername" . }}

Nutanix CSI provider was deployed in namespace {{ .Release.Namespace }}
Nutanix CSI provider was deployed in namespace {{ .Release.Namespace }}. Check it's status by running:
kubectl -n {{ .Release.Namespace }} get pods | grep 'nutanix-csi'
4 changes: 2 additions & 2 deletions charts/nutanix-csi-storage/templates/csi-driver.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ kind: CSIDriver
metadata:
name: {{ include "nutanix-csi-storage.drivername" . }}
spec:
attachRequired: false
podInfoOnMount: true
attachRequired: true
podInfoOnMount: true
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
#
# example usage: kubectl create -f <this_file>

{{- if ne .Release.Namespace "ntnx-system" }}
{{- fail (printf "Invalid namespace. Expected: %s, Actual: %s" "ntnx-system" .Release.Namespace) }}
{{- end }}

kind: Deployment
apiVersion: apps/v1
metadata:
Expand All @@ -19,6 +23,8 @@ spec:
app: nutanix-csi-controller
template:
metadata:
annotations:
kubectl.kubernetes.io/default-container: nutanix-csi-plugin
labels:
app: nutanix-csi-controller
spec:
Expand All @@ -43,19 +49,46 @@ spec:
imagePullPolicy: {{ .Values.imagePullPolicy }}
args:
- --csi-address=$(ADDRESS)
- --timeout=60s
- --timeout=300s
- --worker-threads=16
# This adds PV/PVC metadata to create volume requests
- --extra-create-metadata=true
- --default-fstype=ext4
# This is used to collect CSI operation metrics
- --http-endpoint=:9809
- --feature-gates=Topology=true
- --leader-election=true
- --v=2
env:
- name: ADDRESS
value: /var/lib/csi/sockets/pluginproxy/csi.sock
resources:
limits:
cpu: 100m
memory: 200Mi
requests:
cpu: 100m
memory: 200Mi
volumeMounts:
- name: socket-dir
mountPath: /var/lib/csi/sockets/pluginproxy/
- name: csi-attacher
image: {{ .Values.sidecars.attacher.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
args:
- --csi-address=$(ADDRESS)
- --timeout=300s
- --worker-threads=16
- --http-endpoint=:9810
- --v=2
- --leader-election=true
env:
- name: ADDRESS
value: /var/lib/csi/sockets/pluginproxy/csi.sock
resources:
limits:
cpu: 100m
memory: 200Mi
requests:
cpu: 100m
memory: 200Mi
Expand All @@ -68,21 +101,19 @@ spec:
args:
- --v=2
- --csi-address=$(ADDRESS)
- --timeout=60s
- --timeout=300s
- --leader-election=true
# NTNX CSI dirver supports online volume expansion.
- --handle-volume-inuse-error=false
- --http-endpoint=:9810
- --http-endpoint=:9811
env:
- name: ADDRESS
value: /var/lib/csi/sockets/pluginproxy/csi.sock
resources:
requests:
cpu: 5m
memory: 30Mi
volumeMounts:
- name: socket-dir
mountPath: /var/lib/csi/sockets/pluginproxy/
# Checks whether to deploy snapshotter sidecar.
{{- if eq .Values.sidecars.snapshotter.deploy true }}
- name: csi-snapshotter
{{- if .Capabilities.APIVersions.Has "snapshot.storage.k8s.io/v1" }}
image: {{ .Values.sidecars.snapshotter.image }}
Expand All @@ -95,6 +126,7 @@ spec:
- --leader-election=true
- --logtostderr=true
- --timeout=300s
- --http-endpoint=:9812
env:
- name: ADDRESS
value: /csi/csi.sock
Expand All @@ -105,6 +137,7 @@ spec:
volumeMounts:
- name: socket-dir
mountPath: /csi
{{- end }}
- name: nutanix-csi-plugin
image: {{ .Values.controller.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
Expand All @@ -115,23 +148,36 @@ spec:
- --endpoint=$(CSI_ENDPOINT)
- --nodeid=$(NODE_ID)
- --drivername={{ include "nutanix-csi-storage.drivername" . }}
- --use-pc=true
env:
- name: CSI_ENDPOINT
value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
- name: NODE_ID
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: CSI_SECRET_DIR
value: {{ .Values.csiSecretDir }}
- name: CSI_CATEGORY_CONFIGMAP_NAME
value: {{ .Values.csiCategoryConfigmapName }}
- name: CSI_CATEGORY_CONFIGMAP_NAMESPACE
value: {{ .Values.csiCategoryConfigmapNamespace }}
resources:
limits:
cpu: {{ .Values.controller.cpu }}
memory: {{ .Values.controller.memory }}
requests:
cpu: 100m
memory: 200Mi
cpu: {{ .Values.controller.cpu }}
memory: {{ .Values.controller.memory }}
volumeMounts:
- mountPath: /var/lib/csi/sockets/pluginproxy/
name: socket-dir
# This is needed for static NFS volume feature.
- mountPath: /host
name: root-dir
- mountPath: {{ .Values.csiSecretDir }}
name: pc-secret
readOnly: true
ports:
- containerPort: 9807
name: http-endpoint
Expand All @@ -140,10 +186,10 @@ spec:
httpGet:
path: /healthz
port: http-endpoint
initialDelaySeconds: 10
timeoutSeconds: 3
periodSeconds: 2
failureThreshold: 3
initialDelaySeconds: {{ .Values.liveness.controller.initialDelaySeconds }}
timeoutSeconds: {{ .Values.liveness.controller.timeoutSeconds }}
periodSeconds: {{ .Values.liveness.controller.periodSeconds }}
failureThreshold: {{ .Values.liveness.controller.failureThreshold }}
- name: liveness-probe
resources:
requests:
Expand All @@ -157,6 +203,21 @@ spec:
args:
- --csi-address=/csi/csi.sock
- --http-endpoint=:9807
- args:
- "--v=5"
- "--csi-address=$(ADDRESS)"
- "--leader-election=false"
- "--http-endpoint=:9813"
- "--monitor-interval=1m0s"
env:
- name: ADDRESS
value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
image: {{ .Values.sidecars.healthmonitor.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
name: csi-external-health-monitor-controller
volumeMounts:
- mountPath: /var/lib/csi/sockets/pluginproxy/
name: socket-dir
priorityClassName: system-cluster-critical
{{- with (.Values.controller.nodeSelector | default .Values.nodeSelector) }}
nodeSelector:
Expand All @@ -173,3 +234,6 @@ spec:
path: /
type: Directory
name: root-dir
- name: pc-secret
secret:
secretName: {{ .Values.pcSecretName }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: ntnx-init-configmap
namespace: {{ .Release.Namespace }}
data:
supportedPCVersions: {{ .Values.supportedPCVersions }}
kubernetesClusterDeploymentType: {{ .Values.kubernetesClusterDeploymentType }}
33 changes: 26 additions & 7 deletions charts/nutanix-csi-storage/templates/ntnx-csi-node-ds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@ spec:
updateStrategy:
type: "RollingUpdate"
rollingUpdate:
maxUnavailable: 10%
maxUnavailable: "10%"
template:
metadata:
annotations:
kubectl.kubernetes.io/default-container: nutanix-csi-node
labels:
app: nutanix-csi-node
spec:
Expand Down Expand Up @@ -58,6 +60,8 @@ spec:
- "--endpoint=$(CSI_ENDPOINT)"
- "--nodeid=$(NODE_ID)"
- "--drivername={{ include "nutanix-csi-storage.drivername" . }}"
- "--use-pc=true"
# - --volume-capacity-threshold=50.0
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
Expand All @@ -69,11 +73,23 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
- name: CSI_SECRET_DIR
value: {{ .Values.csiSecretDir }}
- name: CSI_CATEGORY_CONFIGMAP_NAME
value: {{ .Values.csiCategoryConfigmapName }}
- name: CSI_CATEGORY_CONFIGMAP_NAMESPACE
value: {{ .Values.csiCategoryConfigmapNamespace }}
resources:
limits:
cpu: {{ .Values.node.cpu }}
memory: {{ .Values.node.memory }}
requests:
cpu: 100m
memory: 200Mi
cpu: {{ .Values.node.cpu }}
memory: {{ .Values.node.memory }}
volumeMounts:
- mountPath: {{ .Values.csiSecretDir }}
name: pc-secret
readOnly: true
- name: plugin-dir
mountPath: /csi
- name: pods-mount-dir
Expand All @@ -97,10 +113,10 @@ spec:
httpGet:
path: /healthz
port: http-endpoint
initialDelaySeconds: 10
timeoutSeconds: 3
periodSeconds: 2
failureThreshold: 3
initialDelaySeconds: {{ .Values.liveness.node.initialDelaySeconds }}
timeoutSeconds: {{ .Values.liveness.node.timeoutSeconds }}
periodSeconds: {{ .Values.liveness.node.periodSeconds }}
failureThreshold: {{ .Values.liveness.node.failureThreshold }}
- name: liveness-probe
resources:
requests:
Expand Down Expand Up @@ -151,3 +167,6 @@ spec:
hostPath:
path: /
type: Directory
- name: pc-secret
secret:
secretName: {{ .Values.pcSecretName }}
25 changes: 23 additions & 2 deletions charts/nutanix-csi-storage/templates/ntnx-csi-rbac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,19 @@ rules:
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["configmaps"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["configmaps"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete", "update", "patch"]
Expand All @@ -35,9 +47,15 @@ rules:
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get", "list", "watch"]
- apiGroups: ["storage.k8s.io"]
resources: ["volumeattachments"]
verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: ["storage.k8s.io"]
resources: ["volumeattachments/status"]
verbs: ["patch"]
- apiGroups: [""]
resources: ["events"]
verbs: ["list", "watch", "create", "update", "patch"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: ["snapshot.storage.k8s.io"]
resources: ["volumesnapshotclasses"]
verbs: ["get", "list", "watch"]
Expand Down Expand Up @@ -101,6 +119,9 @@ rules:
- apiGroups: ["storage.k8s.io"]
resources: ["volumeattachments"]
verbs: ["get", "list", "watch", "update"]
- apiGroups: [""]
resources: ["configmaps"]
verbs: ["get", "list", "watch"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
Expand Down
Loading

0 comments on commit feb1995

Please sign in to comment.