-
Notifications
You must be signed in to change notification settings - Fork 212
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
update images, add Kubernetes 1.20, prepare for v1.5.0 release #238
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
The deployment for Kubernetes 1.18 uses CSIDriver v1 and | ||
thus is incompatible with Kubernetes < 1.18. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
The deployment for Kubernetes 1.20 uses the CSI snapshotter sidecar | ||
4.x and thus is incompatible with Kubernetes clusters where older | ||
snapshotter CRDs are installed. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../util/deploy-hostpath.sh |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
kind: StatefulSet | ||
apiVersion: apps/v1 | ||
metadata: | ||
name: csi-hostpath-attacher | ||
spec: | ||
serviceName: "csi-hostpath-attacher" | ||
replicas: 1 | ||
selector: | ||
matchLabels: | ||
app: csi-hostpath-attacher | ||
template: | ||
metadata: | ||
labels: | ||
app: csi-hostpath-attacher | ||
spec: | ||
affinity: | ||
podAffinity: | ||
requiredDuringSchedulingIgnoredDuringExecution: | ||
- labelSelector: | ||
matchExpressions: | ||
- key: app | ||
operator: In | ||
values: | ||
- csi-hostpathplugin | ||
topologyKey: kubernetes.io/hostname | ||
serviceAccountName: csi-attacher | ||
containers: | ||
- name: csi-attacher | ||
image: k8s.gcr.io/sig-storage/csi-attacher:v3.1.0 | ||
args: | ||
- --v=5 | ||
- --csi-address=/csi/csi.sock | ||
securityContext: | ||
# This is necessary only for systems with SELinux, where | ||
# non-privileged sidecar containers cannot access unix domain socket | ||
# created by privileged CSI driver container. | ||
privileged: true | ||
volumeMounts: | ||
- mountPath: /csi | ||
name: socket-dir | ||
|
||
volumes: | ||
- hostPath: | ||
path: /var/lib/kubelet/plugins/csi-hostpath | ||
type: DirectoryOrCreate | ||
name: socket-dir |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
apiVersion: storage.k8s.io/v1 | ||
kind: CSIDriver | ||
metadata: | ||
name: hostpath.csi.k8s.io | ||
spec: | ||
# Supports persistent and ephemeral inline volumes. | ||
volumeLifecycleModes: | ||
- Persistent | ||
- Ephemeral | ||
# To determine at runtime which mode a volume uses, pod info and its | ||
# "csi.storage.k8s.io/ephemeral" entry are needed. | ||
podInfoOnMount: true |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,170 @@ | ||
# Service defined here, plus serviceName below in StatefulSet, | ||
# are needed only because of condition explained in | ||
# https://github.com/kubernetes/kubernetes/issues/69608 | ||
|
||
kind: Service | ||
apiVersion: v1 | ||
metadata: | ||
name: csi-hostpathplugin | ||
labels: | ||
app: csi-hostpathplugin | ||
spec: | ||
selector: | ||
app: csi-hostpathplugin | ||
ports: | ||
- name: dummy | ||
port: 12345 | ||
--- | ||
kind: StatefulSet | ||
apiVersion: apps/v1 | ||
metadata: | ||
name: csi-hostpathplugin | ||
spec: | ||
serviceName: "csi-hostpathplugin" | ||
# One replica only: | ||
# Host path driver only works when everything runs | ||
# on a single node. We achieve that by starting it once and then | ||
# co-locate all other pods via inter-pod affinity | ||
replicas: 1 | ||
selector: | ||
matchLabels: | ||
app: csi-hostpathplugin | ||
template: | ||
metadata: | ||
labels: | ||
app: csi-hostpathplugin | ||
spec: | ||
serviceAccount: csi-external-health-monitor-controller | ||
containers: | ||
- name: csi-external-health-monitor-agent | ||
image: k8s.gcr.io/sig-storage/csi-external-health-monitor-agent:v0.2.0 | ||
args: | ||
- "--v=5" | ||
- "--csi-address=$(ADDRESS)" | ||
env: | ||
- name: NODE_NAME | ||
valueFrom: | ||
fieldRef: | ||
fieldPath: spec.nodeName | ||
- name: ADDRESS | ||
value: /csi/csi.sock | ||
imagePullPolicy: "IfNotPresent" | ||
volumeMounts: | ||
- name: socket-dir | ||
mountPath: /csi | ||
- name: csi-external-health-monitor-controller | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Putting the controller here seems inconsistent with how we currently have other controller sidecars in separate manifests. I guess we didn't really conclude how we want to go in #192 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That came from #210. I just copied it. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. FWIW, I agree that it seems inconsistent. I don't know whether it had to be done this way. |
||
image: k8s.gcr.io/sig-storage/csi-external-health-monitor-controller:v0.2.0 | ||
args: | ||
- "--v=5" | ||
- "--csi-address=$(ADDRESS)" | ||
- "--leader-election" | ||
env: | ||
- name: ADDRESS | ||
value: /csi/csi.sock | ||
imagePullPolicy: "IfNotPresent" | ||
volumeMounts: | ||
- name: socket-dir | ||
mountPath: /csi | ||
- name: node-driver-registrar | ||
image: k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.0.1 | ||
args: | ||
- --v=5 | ||
- --csi-address=/csi/csi.sock | ||
- --kubelet-registration-path=/var/lib/kubelet/plugins/csi-hostpath/csi.sock | ||
securityContext: | ||
# This is necessary only for systems with SELinux, where | ||
# non-privileged sidecar containers cannot access unix domain socket | ||
# created by privileged CSI driver container. | ||
privileged: true | ||
env: | ||
- name: KUBE_NODE_NAME | ||
valueFrom: | ||
fieldRef: | ||
apiVersion: v1 | ||
fieldPath: spec.nodeName | ||
volumeMounts: | ||
- mountPath: /csi | ||
name: socket-dir | ||
- mountPath: /registration | ||
name: registration-dir | ||
- mountPath: /csi-data-dir | ||
name: csi-data-dir | ||
|
||
- name: hostpath | ||
image: k8s.gcr.io/sig-storage/hostpathplugin:v1.5.0 | ||
args: | ||
- "--drivername=hostpath.csi.k8s.io" | ||
- "--v=5" | ||
- "--endpoint=$(CSI_ENDPOINT)" | ||
- "--nodeid=$(KUBE_NODE_NAME)" | ||
env: | ||
- name: CSI_ENDPOINT | ||
value: unix:///csi/csi.sock | ||
- name: KUBE_NODE_NAME | ||
valueFrom: | ||
fieldRef: | ||
apiVersion: v1 | ||
fieldPath: spec.nodeName | ||
securityContext: | ||
privileged: true | ||
ports: | ||
- containerPort: 9898 | ||
name: healthz | ||
protocol: TCP | ||
livenessProbe: | ||
failureThreshold: 5 | ||
httpGet: | ||
path: /healthz | ||
port: healthz | ||
initialDelaySeconds: 10 | ||
timeoutSeconds: 3 | ||
periodSeconds: 2 | ||
volumeMounts: | ||
- mountPath: /csi | ||
name: socket-dir | ||
- mountPath: /var/lib/kubelet/pods | ||
mountPropagation: Bidirectional | ||
name: mountpoint-dir | ||
- mountPath: /var/lib/kubelet/plugins | ||
mountPropagation: Bidirectional | ||
name: plugins-dir | ||
- mountPath: /csi-data-dir | ||
name: csi-data-dir | ||
- mountPath: /dev | ||
name: dev-dir | ||
- name: liveness-probe | ||
volumeMounts: | ||
- mountPath: /csi | ||
name: socket-dir | ||
image: k8s.gcr.io/sig-storage/livenessprobe:v2.2.0 | ||
args: | ||
- --csi-address=/csi/csi.sock | ||
- --health-port=9898 | ||
|
||
volumes: | ||
- hostPath: | ||
path: /var/lib/kubelet/plugins/csi-hostpath | ||
type: DirectoryOrCreate | ||
name: socket-dir | ||
- hostPath: | ||
path: /var/lib/kubelet/pods | ||
type: DirectoryOrCreate | ||
name: mountpoint-dir | ||
- hostPath: | ||
path: /var/lib/kubelet/plugins_registry | ||
type: Directory | ||
name: registration-dir | ||
- hostPath: | ||
path: /var/lib/kubelet/plugins | ||
type: Directory | ||
name: plugins-dir | ||
- hostPath: | ||
# 'path' is where PV data is persisted on host. | ||
# using /tmp is also possible while the PVs will not available after plugin container recreation or host reboot | ||
path: /var/lib/csi-hostpath-data/ | ||
type: DirectoryOrCreate | ||
name: csi-data-dir | ||
- hostPath: | ||
path: /dev | ||
type: Directory | ||
name: dev-dir |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
kind: StatefulSet | ||
apiVersion: apps/v1 | ||
metadata: | ||
name: csi-hostpath-provisioner | ||
spec: | ||
serviceName: "csi-hostpath-provisioner" | ||
replicas: 1 | ||
selector: | ||
matchLabels: | ||
app: csi-hostpath-provisioner | ||
template: | ||
metadata: | ||
labels: | ||
app: csi-hostpath-provisioner | ||
spec: | ||
affinity: | ||
podAffinity: | ||
requiredDuringSchedulingIgnoredDuringExecution: | ||
- labelSelector: | ||
matchExpressions: | ||
- key: app | ||
operator: In | ||
values: | ||
- csi-hostpathplugin | ||
topologyKey: kubernetes.io/hostname | ||
serviceAccountName: csi-provisioner | ||
containers: | ||
- name: csi-provisioner | ||
image: k8s.gcr.io/sig-storage/csi-provisioner:v2.1.0 | ||
args: | ||
- -v=5 | ||
- --csi-address=/csi/csi.sock | ||
- --feature-gates=Topology=true | ||
securityContext: | ||
# This is necessary only for systems with SELinux, where | ||
# non-privileged sidecar containers cannot access unix domain socket | ||
# created by privileged CSI driver container. | ||
privileged: true | ||
volumeMounts: | ||
- mountPath: /csi | ||
name: socket-dir | ||
volumes: | ||
- hostPath: | ||
path: /var/lib/kubelet/plugins/csi-hostpath | ||
type: DirectoryOrCreate | ||
name: socket-dir |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
kind: StatefulSet | ||
apiVersion: apps/v1 | ||
metadata: | ||
name: csi-hostpath-resizer | ||
spec: | ||
serviceName: "csi-hostpath-resizer" | ||
replicas: 1 | ||
selector: | ||
matchLabels: | ||
app: csi-hostpath-resizer | ||
template: | ||
metadata: | ||
labels: | ||
app: csi-hostpath-resizer | ||
spec: | ||
affinity: | ||
podAffinity: | ||
requiredDuringSchedulingIgnoredDuringExecution: | ||
- labelSelector: | ||
matchExpressions: | ||
- key: app | ||
operator: In | ||
values: | ||
- csi-hostpathplugin | ||
topologyKey: kubernetes.io/hostname | ||
serviceAccountName: csi-resizer | ||
containers: | ||
- name: csi-resizer | ||
image: k8s.gcr.io/sig-storage/csi-resizer:v1.1.0 | ||
args: | ||
- -v=5 | ||
- -csi-address=/csi/csi.sock | ||
securityContext: | ||
# This is necessary only for systems with SELinux, where | ||
# non-privileged sidecar containers cannot access unix domain socket | ||
# created by privileged CSI driver container. | ||
privileged: true | ||
volumeMounts: | ||
- mountPath: /csi | ||
name: socket-dir | ||
volumes: | ||
- hostPath: | ||
path: /var/lib/kubelet/plugins/csi-hostpath | ||
type: DirectoryOrCreate | ||
name: socket-dir |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
did we miss removing these as part of #196?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably.