upcloud csi driver: bump version to v0.3.3 (#9317)

pull/9327/head
Robin Wallace 2022-09-24 22:18:04 +02:00 committed by GitHub
parent f2e11f088b
commit c4de3df492
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 83 additions and 99 deletions

View File

@ -7,13 +7,18 @@
# upcloud_csi_provisioner_image_tag: "v3.1.0" # upcloud_csi_provisioner_image_tag: "v3.1.0"
# upcloud_csi_attacher_image_tag: "v3.4.0" # upcloud_csi_attacher_image_tag: "v3.4.0"
# upcloud_csi_resizer_image_tag: "v1.4.0" # upcloud_csi_resizer_image_tag: "v1.4.0"
# upcloud_csi_plugin_image_tag: "v0.2.1" # upcloud_csi_plugin_image_tag: "v0.3.3"
# upcloud_csi_node_image_tag: "v2.5.0" # upcloud_csi_node_image_tag: "v2.5.0"
# upcloud_tolerations: [] # upcloud_tolerations: []
## Storage class options ## Storage class options
# expand_persistent_volumes: true
# parameters:
# tier: maxiops # or hdd
# storage_classes: # storage_classes:
# - name: standard # - name: standard
# is_default: true # is_default: true
# expand_persistent_volumes: true
# parameters:
# tier: maxiops
# - name: hdd
# is_default: false
# expand_persistent_volumes: true
# parameters:
# tier: hdd

View File

@ -3,8 +3,14 @@ upcloud_csi_controller_replicas: 1
upcloud_csi_provisioner_image_tag: "v3.1.0" upcloud_csi_provisioner_image_tag: "v3.1.0"
upcloud_csi_attacher_image_tag: "v3.4.0" upcloud_csi_attacher_image_tag: "v3.4.0"
upcloud_csi_resizer_image_tag: "v1.4.0" upcloud_csi_resizer_image_tag: "v1.4.0"
upcloud_csi_plugin_image_tag: "v0.2.1" upcloud_csi_plugin_image_tag: "v0.3.3"
upcloud_csi_node_image_tag: "v2.5.0" upcloud_csi_node_image_tag: "v2.5.0"
upcloud_username: "{{ lookup('env','UPCLOUD_USERNAME') }}" upcloud_username: "{{ lookup('env','UPCLOUD_USERNAME') }}"
upcloud_password: "{{ lookup('env','UPCLOUD_PASSWORD') }}" upcloud_password: "{{ lookup('env','UPCLOUD_PASSWORD') }}"
upcloud_tolerations: [] upcloud_tolerations: []
upcloud_csi_enable_volume_snapshot: false
upcloud_csi_snapshot_controller_replicas: 2
upcloud_csi_snapshotter_image_tag: "v4.2.1"
upcloud_csi_snapshot_controller_image_tag: "v4.2.1"
upcloud_csi_snapshot_validation_webhook_image_tag: "v4.2.1"
upcloud_cacert: "{{ lookup('env','OS_CACERT') }}"

View File

@ -37,4 +37,4 @@
- inventory_hostname == groups['kube_control_plane'][0] - inventory_hostname == groups['kube_control_plane'][0]
- not item is skipped - not item is skipped
loop_control: loop_control:
label: "{{ item.item.file }}" label: "{{ item.item.file }}"

View File

@ -23,7 +23,7 @@ spec:
args: args:
- "--csi-address=$(ADDRESS)" - "--csi-address=$(ADDRESS)"
- "--v=5" - "--v=5"
- "--timeout=60s" - "--timeout=600s"
env: env:
- name: ADDRESS - name: ADDRESS
value: /var/lib/csi/sockets/pluginproxy/csi.sock value: /var/lib/csi/sockets/pluginproxy/csi.sock
@ -36,7 +36,7 @@ spec:
args: args:
- "--v=5" - "--v=5"
- "--csi-address=$(ADDRESS)" - "--csi-address=$(ADDRESS)"
- "--timeout=30s" - "--timeout=120s"
env: env:
- name: ADDRESS - name: ADDRESS
value: /var/lib/csi/sockets/pluginproxy/csi.sock value: /var/lib/csi/sockets/pluginproxy/csi.sock
@ -48,7 +48,7 @@ spec:
image: registry.k8s.io/sig-storage/csi-resizer:{{ upcloud_csi_resizer_image_tag }} image: registry.k8s.io/sig-storage/csi-resizer:{{ upcloud_csi_resizer_image_tag }}
args: args:
- "--v=5" - "--v=5"
- "--timeout=45s" - "--timeout=120s"
- "--csi-address=$(ADDRESS)" - "--csi-address=$(ADDRESS)"
- "--handle-volume-inuse-error=true" - "--handle-volume-inuse-error=true"
env: env:
@ -68,8 +68,6 @@ spec:
env: env:
- name: CSI_ENDPOINT - name: CSI_ENDPOINT
value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
- name: UPCLOUD_API_URL
value: https://api.upcloud.com/
- name: UPCLOUD_USERNAME - name: UPCLOUD_USERNAME
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
@ -92,4 +90,4 @@ spec:
- name: regcred - name: regcred
volumes: volumes:
- name: socket-dir - name: socket-dir
emptyDir: { } emptyDir: {}

View File

@ -23,15 +23,6 @@ spec:
- "--v=5" - "--v=5"
- "--csi-address=$(ADDRESS)" - "--csi-address=$(ADDRESS)"
- "--kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)" - "--kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)"
lifecycle:
preStop:
exec:
command:
[
"/bin/sh",
"-c",
"rm -rf /registration/storage.csi.upcloud.com /registration/storage.csi.upcloud.com-reg.sock",
]
env: env:
- name: ADDRESS - name: ADDRESS
value: /csi/csi.sock value: /csi/csi.sock
@ -56,8 +47,6 @@ spec:
env: env:
- name: CSI_ENDPOINT - name: CSI_ENDPOINT
value: unix:///csi/csi.sock value: unix:///csi/csi.sock
- name: UPCLOUD_API_URL
value: https://api.upcloud.com/
- name: UPCLOUD_USERNAME - name: UPCLOUD_USERNAME
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
@ -76,7 +65,7 @@ spec:
securityContext: securityContext:
privileged: true privileged: true
capabilities: capabilities:
add: [ "SYS_ADMIN" ] add: ["SYS_ADMIN"]
allowPrivilegeEscalation: true allowPrivilegeEscalation: true
volumeMounts: volumeMounts:
- name: plugin-dir - name: plugin-dir

View File

@ -5,6 +5,40 @@ metadata:
namespace: kube-system namespace: kube-system
--- ---
apiVersion: v1
kind: ServiceAccount
metadata:
name: csi-upcloud-node-sa
namespace: kube-system
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: csi-upcloud-node-driver-registrar-role
namespace: kube-system
rules:
- apiGroups: [ "" ]
resources: [ "events" ]
verbs: [ "get", "list", "watch", "create", "update", "patch" ]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: csi-upcloud-node-driver-registrar-binding
subjects:
- kind: ServiceAccount
name: csi-upcloud-node-sa
namespace: kube-system
roleRef:
kind: ClusterRole
name: csi-upcloud-node-driver-registrar-role
apiGroup: rbac.authorization.k8s.io
---
kind: ClusterRole kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
@ -28,12 +62,6 @@ rules:
- apiGroups: [ "" ] - apiGroups: [ "" ]
resources: [ "events" ] resources: [ "events" ]
verbs: [ "list", "watch", "create", "update", "patch" ] verbs: [ "list", "watch", "create", "update", "patch" ]
- apiGroups: [ "snapshot.storage.k8s.io" ]
resources: [ "volumesnapshots" ]
verbs: [ "get", "list" ]
- apiGroups: [ "snapshot.storage.k8s.io" ]
resources: [ "volumesnapshotcontents" ]
verbs: [ "get", "list" ]
- apiGroups: [ "" ] - apiGroups: [ "" ]
resources: [ "nodes" ] resources: [ "nodes" ]
verbs: [ "get", "list", "watch" ] verbs: [ "get", "list", "watch" ]
@ -90,87 +118,39 @@ roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
--- ---
kind: ClusterRole # Provisioner must be able to work with endpoints and leases in current namespace
# if (and only if) leadership election is enabled
kind: Role
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-upcloud-snapshotter-role namespace: kube-system
name: csi-upcloud-provisioner-cfg-role
rules: rules:
- apiGroups: [ "" ] - apiGroups: [""]
resources: [ "persistentvolumes" ] resources: ["endpoints"]
verbs: [ "get", "list", "watch" ] verbs: ["get", "watch", "list", "delete", "update", "create"]
- apiGroups: [ "" ] - apiGroups: ["coordination.k8s.io"]
resources: [ "persistentvolumeclaims" ] resources: ["leases"]
verbs: [ "get", "list", "watch" ] verbs: ["get", "watch", "list", "delete", "update", "create"]
- apiGroups: [ "storage.k8s.io" ]
resources: [ "storageclasses" ]
verbs: [ "get", "list", "watch" ]
- apiGroups: [ "" ]
resources: [ "events" ]
verbs: [ "list", "watch", "create", "update", "patch" ]
- apiGroups: [ "" ]
resources: [ "secrets" ]
verbs: [ "get", "list" ]
- apiGroups: [ "snapshot.storage.k8s.io" ]
resources: [ "volumesnapshotclasses" ]
verbs: [ "get", "list", "watch" ]
- apiGroups: [ "snapshot.storage.k8s.io" ]
resources: [ "volumesnapshotcontents" ]
verbs: [ "create", "get", "list", "watch", "update", "delete" ]
- apiGroups: [ "snapshot.storage.k8s.io" ]
resources: [ "volumesnapshots" ]
verbs: [ "get", "list", "watch", "update" ]
- apiGroups: [ "apiextensions.k8s.io" ]
resources: [ "customresourcedefinitions" ]
verbs: [ "create", "list", "watch", "delete" ]
--- ---
kind: ClusterRoleBinding kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-upcloud-snapshotter-binding name: csi-provisioner-role-cfg-binding
namespace: kube-system
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: csi-upcloud-controller-sa name: csi-upcloud-controller-sa
namespace: kube-system namespace: kube-system
roleRef: roleRef:
kind: ClusterRole kind: Role
name: csi-upcloud-snapshotter-role name: csi-upcloud-provisioner-cfg-role
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: csi-upcloud-node-sa
namespace: kube-system
--- ---
kind: ClusterRole kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: csi-upcloud-node-driver-registrar-role
namespace: kube-system
rules:
- apiGroups: [ "" ]
resources: [ "events" ]
verbs: [ "get", "list", "watch", "create", "update", "patch" ]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: csi-upcloud-node-driver-registrar-binding
subjects:
- kind: ServiceAccount
name: csi-upcloud-node-sa
namespace: kube-system
roleRef:
kind: ClusterRole
name: csi-upcloud-node-driver-registrar-role
apiGroup: rbac.authorization.k8s.io
---
# Resizer must be able to work with PVCs, PVs, SCs.
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-upcloud-resizer-role name: csi-upcloud-resizer-role
rules: rules:

View File

@ -1,7 +1,12 @@
--- ---
expand_persistent_volumes: true
parameters:
tier: maxiops
storage_classes: storage_classes:
- name: standard - name: standard
is_default: true is_default: true
expand_persistent_volumes: true
parameters:
tier: maxiops
- name: hdd
is_default: false
expand_persistent_volumes: true
parameters:
tier: hdd

View File

@ -7,9 +7,10 @@ metadata:
annotations: annotations:
storageclass.kubernetes.io/is-default-class: "{{ class.is_default | default(false) | ternary("true","false") }}" storageclass.kubernetes.io/is-default-class: "{{ class.is_default | default(false) | ternary("true","false") }}"
provisioner: storage.csi.upcloud.com provisioner: storage.csi.upcloud.com
reclaimPolicy: Retain
parameters: parameters:
{% for key, value in (class.parameters | default({})).items() %} {% for key, value in (class.parameters | default({})).items() %}
"{{ key }}": "{{ value }}" "{{ key }}": "{{ value }}"
{% endfor %} {% endfor %}
allowVolumeExpansion: {{ expand_persistent_volumes }} allowVolumeExpansion: {{ class.expand_persistent_volumes | default(true) | ternary("true","false") }}
{% endfor %} {% endfor %}