committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 368 additions and 105 deletions
Split View
Diff Options
-
2docs/vsphere-csi.md
-
4inventory/sample/group_vars/all/vsphere.yml
-
4roles/kubernetes-apps/csi_driver/vsphere/defaults/main.yml
-
7roles/kubernetes-apps/csi_driver/vsphere/tasks/main.yml
-
188roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-deployment.yml.j2
-
38roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-controller-rbac.yml.j2
-
230roles/kubernetes-apps/csi_driver/vsphere/templates/vsphere-csi-node.yml.j2
@ -0,0 +1,188 @@ |
|||
kind: Deployment |
|||
apiVersion: apps/v1 |
|||
metadata: |
|||
name: vsphere-csi-controller |
|||
namespace: kube-system |
|||
spec: |
|||
replicas: {{ vsphere_csi_controller_replicas }} |
|||
selector: |
|||
matchLabels: |
|||
app: vsphere-csi-controller |
|||
template: |
|||
metadata: |
|||
labels: |
|||
app: vsphere-csi-controller |
|||
role: vsphere-csi |
|||
spec: |
|||
serviceAccountName: vsphere-csi-controller |
|||
nodeSelector: |
|||
{% if kube_version is version('v1.20.0', '<') %} |
|||
node-role.kubernetes.io/master: "" |
|||
{% else %} |
|||
node-role.kubernetes.io/control-plane: "" |
|||
{% endif %} |
|||
tolerations: |
|||
- operator: "Exists" |
|||
key: node-role.kubernetes.io/master |
|||
effect: NoSchedule |
|||
- operator: "Exists" |
|||
key: node-role.kubernetes.io/control-plane |
|||
effect: NoSchedule |
|||
dnsPolicy: "Default" |
|||
containers: |
|||
- name: csi-attacher |
|||
image: {{ quay_image_repo }}/k8scsi/csi-attacher:{{ vsphere_csi_attacher_image_tag }} |
|||
args: |
|||
- "--v=4" |
|||
- "--timeout=300s" |
|||
- "--csi-address=$(ADDRESS)" |
|||
- "--leader-election" |
|||
env: |
|||
- name: ADDRESS |
|||
value: /csi/csi.sock |
|||
volumeMounts: |
|||
- mountPath: /csi |
|||
name: socket-dir |
|||
{% if external_vsphere_version >= "7.0" %} |
|||
- name: csi-resizer |
|||
image: {{ gcr_image_repo }}/k8scsi/csi-resizer:{{ vsphere_csi_resizer_tag }} |
|||
args: |
|||
- "--v=4" |
|||
- "--timeout=300s" |
|||
- "--csi-address=$(ADDRESS)" |
|||
- "--leader-election" |
|||
env: |
|||
- name: ADDRESS |
|||
value: /csi/csi.sock |
|||
volumeMounts: |
|||
- mountPath: /csi |
|||
name: socket-dir |
|||
{% endif %} |
|||
- name: vsphere-csi-controller |
|||
image: {{ gcr_image_repo }}/cloud-provider-vsphere/csi/release/driver:{{ vsphere_csi_controller }} |
|||
{% if external_vsphere_version >= "7.0u1" %} |
|||
args: |
|||
- "--fss-name=internal-feature-states.csi.vsphere.vmware.com" |
|||
- "--fss-namespace=$(CSI_NAMESPACE)" |
|||
{% endif %} |
|||
imagePullPolicy: {{ k8s_image_pull_policy }} |
|||
env: |
|||
- name: CSI_ENDPOINT |
|||
value: unix://{{ csi_endpoint }}/csi.sock |
|||
- name: X_CSI_MODE |
|||
value: "controller" |
|||
- name: VSPHERE_CSI_CONFIG |
|||
value: "/etc/cloud/csi-vsphere.conf" |
|||
- name: LOGGER_LEVEL |
|||
value: "PRODUCTION" # Options: DEVELOPMENT, PRODUCTION |
|||
{% if external_vsphere_version >= "7.0u1" %} |
|||
- name: INCLUSTER_CLIENT_QPS |
|||
value: "100" |
|||
- name: INCLUSTER_CLIENT_BURST |
|||
value: "100" |
|||
- name: CSI_NAMESPACE |
|||
valueFrom: |
|||
fieldRef: |
|||
fieldPath: metadata.namespace |
|||
{% endif %} |
|||
- name: X_CSI_SERIAL_VOL_ACCESS_TIMEOUT |
|||
value: 3m |
|||
volumeMounts: |
|||
- mountPath: /etc/cloud |
|||
name: vsphere-config-volume |
|||
readOnly: true |
|||
- mountPath: {{ csi_endpoint }} |
|||
name: socket-dir |
|||
ports: |
|||
- name: healthz |
|||
containerPort: 9808 |
|||
protocol: TCP |
|||
livenessProbe: |
|||
httpGet: |
|||
path: /healthz |
|||
port: healthz |
|||
initialDelaySeconds: 10 |
|||
timeoutSeconds: 3 |
|||
periodSeconds: 5 |
|||
failureThreshold: 3 |
|||
- name: liveness-probe |
|||
image: {{ quay_image_repo }}/k8scsi/livenessprobe:{{ vsphere_csi_liveness_probe_image_tag }} |
|||
args: |
|||
- "--v=4" |
|||
- "--csi-address=$(ADDRESS)" |
|||
env: |
|||
- name: ADDRESS |
|||
value: {{ csi_endpoint }}/csi.sock |
|||
volumeMounts: |
|||
- name: socket-dir |
|||
mountPath: {{ csi_endpoint }} |
|||
- name: vsphere-syncer |
|||
image: {{ gcr_image_repo }}/cloud-provider-vsphere/csi/release/syncer:{{ vsphere_syncer_image_tag }} |
|||
args: |
|||
- "--leader-election" |
|||
{% if external_vsphere_version >= "7.0u1" %} |
|||
- "--fss-name=internal-feature-states.csi.vsphere.vmware.com" |
|||
- "--fss-namespace=$(CSI_NAMESPACE)" |
|||
{% endif %} |
|||
imagePullPolicy: {{ k8s_image_pull_policy }} |
|||
env: |
|||
- name: FULL_SYNC_INTERVAL_MINUTES |
|||
value: "30" |
|||
- name: VSPHERE_CSI_CONFIG |
|||
value: "/etc/cloud/csi-vsphere.conf" |
|||
- name: LOGGER_LEVEL |
|||
value: "PRODUCTION" # Options: DEVELOPMENT, PRODUCTION |
|||
{% if external_vsphere_version >= "7.0u1" %} |
|||
- name: INCLUSTER_CLIENT_QPS |
|||
value: "100" |
|||
- name: INCLUSTER_CLIENT_BURST |
|||
value: "100" |
|||
- name: CSI_NAMESPACE |
|||
valueFrom: |
|||
fieldRef: |
|||
fieldPath: metadata.namespace |
|||
{% endif %} |
|||
volumeMounts: |
|||
- mountPath: /etc/cloud |
|||
name: vsphere-config-volume |
|||
readOnly: true |
|||
- name: csi-provisioner |
|||
image: {{ quay_image_repo }}/k8scsi/csi-provisioner:{{ vsphere_csi_provisioner_image_tag }} |
|||
args: |
|||
- "--v=4" |
|||
- "--timeout=300s" |
|||
- "--csi-address=$(ADDRESS)" |
|||
- "--leader-election" |
|||
- "--default-fstype=ext4" |
|||
# needed only for topology aware setup |
|||
#- "--feature-gates=Topology=true" |
|||
#- "--strict-topology" |
|||
env: |
|||
- name: ADDRESS |
|||
value: /csi/csi.sock |
|||
volumeMounts: |
|||
- mountPath: /csi |
|||
name: socket-dir |
|||
volumes: |
|||
- name: vsphere-config-volume |
|||
secret: |
|||
secretName: vsphere-config-secret |
|||
- name: socket-dir |
|||
emptyDir: {} |
|||
--- |
|||
apiVersion: v1 |
|||
data: |
|||
"csi-migration": "false" # csi-migration feature is only available for vSphere 7.0U1 |
|||
kind: ConfigMap |
|||
metadata: |
|||
name: internal-feature-states.csi.vsphere.vmware.com |
|||
namespace: kube-system |
|||
--- |
|||
apiVersion: storage.k8s.io/v1 # For k8s 1.17 or lower use storage.k8s.io/v1beta1 |
|||
kind: CSIDriver |
|||
metadata: |
|||
name: csi.vsphere.vmware.com |
|||
spec: |
|||
attachRequired: true |
|||
podInfoOnMount: false |
|||
|
Write
Preview
Loading…
Cancel
Save