mirror of https://github.com/kubernetes/kops.git
				
				
				
			
		
			
				
	
	
		
			460 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			460 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
---
 | 
						|
# Source: aws-ebs-csi-driver/templates/serviceaccount-csi-controller.yaml
 | 
						|
apiVersion: v1
 | 
						|
kind: ServiceAccount
 | 
						|
metadata:
 | 
						|
  name: ebs-csi-controller-sa
 | 
						|
  namespace: kube-system
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/version: "0.8.0"
 | 
						|
---
 | 
						|
# Source: aws-ebs-csi-driver/templates/clusterrole-attacher.yaml
 | 
						|
kind: ClusterRole
 | 
						|
apiVersion: rbac.authorization.k8s.io/v1
 | 
						|
metadata:
 | 
						|
  name: ebs-external-attacher-role
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/version: "0.8.0"
 | 
						|
rules:
 | 
						|
  - apiGroups: [""]
 | 
						|
    resources: ["persistentvolumes"]
 | 
						|
    verbs: ["get", "list", "watch", "update", "patch"]
 | 
						|
  - apiGroups: [""]
 | 
						|
    resources: ["nodes"]
 | 
						|
    verbs: ["get", "list", "watch"]
 | 
						|
  - apiGroups: ["csi.storage.k8s.io"]
 | 
						|
    resources: ["csinodeinfos"]
 | 
						|
    verbs: ["get", "list", "watch"]
 | 
						|
  - apiGroups: ["storage.k8s.io"]
 | 
						|
    resources: ["volumeattachments"]
 | 
						|
    verbs: ["get", "list", "watch", "update", "patch"]
 | 
						|
---
 | 
						|
# Source: aws-ebs-csi-driver/templates/clusterrole-provisioner.yaml
 | 
						|
kind: ClusterRole
 | 
						|
apiVersion: rbac.authorization.k8s.io/v1
 | 
						|
metadata:
 | 
						|
  name: ebs-external-provisioner-role
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/version: "0.8.0"
 | 
						|
rules:
 | 
						|
  - apiGroups: [""]
 | 
						|
    resources: ["persistentvolumes"]
 | 
						|
    verbs: ["get", "list", "watch", "create", "delete"]
 | 
						|
  - apiGroups: [""]
 | 
						|
    resources: ["persistentvolumeclaims"]
 | 
						|
    verbs: ["get", "list", "watch", "update"]
 | 
						|
  - apiGroups: ["storage.k8s.io"]
 | 
						|
    resources: ["storageclasses"]
 | 
						|
    verbs: ["get", "list", "watch"]
 | 
						|
  - apiGroups: [""]
 | 
						|
    resources: ["events"]
 | 
						|
    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: ["storage.k8s.io"]
 | 
						|
    resources: ["csinodes"]
 | 
						|
    verbs: ["get", "list", "watch"]
 | 
						|
  - apiGroups: [""]
 | 
						|
    resources: ["nodes"]
 | 
						|
    verbs: ["get", "list", "watch"]
 | 
						|
  - apiGroups: ["coordination.k8s.io"]
 | 
						|
    resources: ["leases"]
 | 
						|
    verbs: ["get", "watch", "list", "delete", "update", "create"]
 | 
						|
---
 | 
						|
# Source: aws-ebs-csi-driver/templates/clusterrole-resizer.yaml
 | 
						|
kind: ClusterRole
 | 
						|
apiVersion: rbac.authorization.k8s.io/v1
 | 
						|
metadata:
 | 
						|
  name: ebs-external-resizer-role
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/version: "0.8.0"
 | 
						|
rules:
 | 
						|
  # The following rule should be uncommented for plugins that require secrets
 | 
						|
  # for provisioning.
 | 
						|
  # - apiGroups: [""]
 | 
						|
  #   resources: ["secrets"]
 | 
						|
  #   verbs: ["get", "list", "watch"]
 | 
						|
  - apiGroups: [""]
 | 
						|
    resources: ["persistentvolumes"]
 | 
						|
    verbs: ["get", "list", "watch", "update", "patch"]
 | 
						|
  - apiGroups: [""]
 | 
						|
    resources: ["persistentvolumeclaims"]
 | 
						|
    verbs: ["get", "list", "watch"]
 | 
						|
  - apiGroups: [""]
 | 
						|
    resources: ["persistentvolumeclaims/status"]
 | 
						|
    verbs: ["update", "patch"]
 | 
						|
  - apiGroups: ["storage.k8s.io"]
 | 
						|
    resources: ["storageclasses"]
 | 
						|
    verbs: ["get", "list", "watch"]
 | 
						|
  - apiGroups: [""]
 | 
						|
    resources: ["events"]
 | 
						|
    verbs: ["list", "watch", "create", "update", "patch"]
 | 
						|
 | 
						|
---
 | 
						|
# Source: aws-ebs-csi-driver/templates/clusterrole-snapshotter.yaml
 | 
						|
kind: ClusterRole
 | 
						|
apiVersion: rbac.authorization.k8s.io/v1
 | 
						|
metadata:
 | 
						|
  name: ebs-external-snapshotter-role
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/version: "0.8.0"
 | 
						|
rules:
 | 
						|
  - 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: ["volumesnapshotcontents/status"]
 | 
						|
    verbs: ["update"]
 | 
						|
---
 | 
						|
# Source: aws-ebs-csi-driver/templates/clusterrolebinding-attacher.yaml
 | 
						|
kind: ClusterRoleBinding
 | 
						|
apiVersion: rbac.authorization.k8s.io/v1
 | 
						|
metadata:
 | 
						|
  name: ebs-csi-attacher-binding
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/version: "0.8.0"
 | 
						|
subjects:
 | 
						|
  - kind: ServiceAccount
 | 
						|
    name: ebs-csi-controller-sa
 | 
						|
    namespace: kube-system
 | 
						|
roleRef:
 | 
						|
  kind: ClusterRole
 | 
						|
  name: ebs-external-attacher-role
 | 
						|
  apiGroup: rbac.authorization.k8s.io
 | 
						|
---
 | 
						|
# Source: aws-ebs-csi-driver/templates/clusterrolebinding-provisioner.yaml
 | 
						|
kind: ClusterRoleBinding
 | 
						|
apiVersion: rbac.authorization.k8s.io/v1
 | 
						|
metadata:
 | 
						|
  name: ebs-csi-provisioner-binding
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/version: "0.8.0"
 | 
						|
subjects:
 | 
						|
  - kind: ServiceAccount
 | 
						|
    name: ebs-csi-controller-sa
 | 
						|
    namespace: kube-system
 | 
						|
roleRef:
 | 
						|
  kind: ClusterRole
 | 
						|
  name: ebs-external-provisioner-role
 | 
						|
  apiGroup: rbac.authorization.k8s.io
 | 
						|
---
 | 
						|
# Source: aws-ebs-csi-driver/templates/clusterrolebinding-resizer.yaml
 | 
						|
kind: ClusterRoleBinding
 | 
						|
apiVersion: rbac.authorization.k8s.io/v1
 | 
						|
metadata:
 | 
						|
  name: ebs-csi-resizer-binding
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/version: "0.8.0"
 | 
						|
subjects:
 | 
						|
  - kind: ServiceAccount
 | 
						|
    name: ebs-csi-controller-sa
 | 
						|
    namespace: kube-system
 | 
						|
roleRef:
 | 
						|
  kind: ClusterRole
 | 
						|
  name: ebs-external-resizer-role
 | 
						|
  apiGroup: rbac.authorization.k8s.io
 | 
						|
---
 | 
						|
# Source: aws-ebs-csi-driver/templates/clusterrolebinding-snapshotter.yaml
 | 
						|
kind: ClusterRoleBinding
 | 
						|
apiVersion: rbac.authorization.k8s.io/v1
 | 
						|
metadata:
 | 
						|
  name: ebs-csi-snapshotter-binding
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/version: "0.8.0"
 | 
						|
subjects:
 | 
						|
  - kind: ServiceAccount
 | 
						|
    name: ebs-csi-controller-sa
 | 
						|
    namespace: kube-system
 | 
						|
roleRef:
 | 
						|
  kind: ClusterRole
 | 
						|
  name: ebs-external-snapshotter-role
 | 
						|
  apiGroup: rbac.authorization.k8s.io
 | 
						|
---
 | 
						|
# Source: aws-ebs-csi-driver/templates/node.yaml
 | 
						|
# Node Service
 | 
						|
kind: DaemonSet
 | 
						|
apiVersion: apps/v1
 | 
						|
metadata:
 | 
						|
  name: ebs-csi-node
 | 
						|
  namespace: kube-system
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/version: "0.8.0"
 | 
						|
spec:
 | 
						|
  selector:
 | 
						|
    matchLabels:
 | 
						|
      app: ebs-csi-node
 | 
						|
      app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
      app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
  template:
 | 
						|
    metadata:
 | 
						|
      labels:
 | 
						|
        app: ebs-csi-node
 | 
						|
        app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
        app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
        app.kubernetes.io/version: "0.8.0"
 | 
						|
    spec:
 | 
						|
      nodeSelector:
 | 
						|
        kubernetes.io/os: linux
 | 
						|
      hostNetwork: true
 | 
						|
      priorityClassName: system-node-critical
 | 
						|
      tolerations:
 | 
						|
        - operator: Exists
 | 
						|
      containers:
 | 
						|
        - name: ebs-plugin
 | 
						|
          securityContext:
 | 
						|
            privileged: true
 | 
						|
          image: k8s.gcr.io/provider-aws/aws-ebs-csi-driver:v0.8.0
 | 
						|
          args:
 | 
						|
            - node
 | 
						|
            - --endpoint=$(CSI_ENDPOINT)
 | 
						|
            - --logtostderr
 | 
						|
            - --v=5
 | 
						|
          env:
 | 
						|
            - name: CSI_ENDPOINT
 | 
						|
              value: unix:/csi/csi.sock
 | 
						|
          volumeMounts:
 | 
						|
            - name: kubelet-dir
 | 
						|
              mountPath: /var/lib/kubelet
 | 
						|
              mountPropagation: "Bidirectional"
 | 
						|
            - name: plugin-dir
 | 
						|
              mountPath: /csi
 | 
						|
            - name: device-dir
 | 
						|
              mountPath: /dev
 | 
						|
          ports:
 | 
						|
            - name: healthz
 | 
						|
              containerPort: 9808
 | 
						|
              protocol: TCP
 | 
						|
          livenessProbe:
 | 
						|
            httpGet:
 | 
						|
              path: /healthz
 | 
						|
              port: healthz
 | 
						|
            initialDelaySeconds: 10
 | 
						|
            timeoutSeconds: 3
 | 
						|
            periodSeconds: 10
 | 
						|
            failureThreshold: 5
 | 
						|
        - name: node-driver-registrar
 | 
						|
          image: quay.io/k8scsi/csi-node-driver-registrar:v1.3.0
 | 
						|
          args:
 | 
						|
            - --csi-address=$(ADDRESS)
 | 
						|
            - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
 | 
						|
            - --v=5
 | 
						|
          lifecycle:
 | 
						|
            preStop:
 | 
						|
              exec:
 | 
						|
                command: ["/bin/sh", "-c", "rm -rf /registration/ebs.csi.aws.com-reg.sock /csi/csi.sock"]
 | 
						|
          env:
 | 
						|
            - name: ADDRESS
 | 
						|
              value: /csi/csi.sock
 | 
						|
            - name: DRIVER_REG_SOCK_PATH
 | 
						|
              value: /var/lib/kubelet/plugins/ebs.csi.aws.com/csi.sock
 | 
						|
          volumeMounts:
 | 
						|
            - name: plugin-dir
 | 
						|
              mountPath: /csi
 | 
						|
            - name: registration-dir
 | 
						|
              mountPath: /registration
 | 
						|
        - name: liveness-probe
 | 
						|
          image: quay.io/k8scsi/livenessprobe:v2.1.0
 | 
						|
          args:
 | 
						|
            - --csi-address=/csi/csi.sock
 | 
						|
          volumeMounts:
 | 
						|
            - name: plugin-dir
 | 
						|
              mountPath: /csi
 | 
						|
      volumes:
 | 
						|
        - name: kubelet-dir
 | 
						|
          hostPath:
 | 
						|
            path: /var/lib/kubelet
 | 
						|
            type: Directory
 | 
						|
        - name: plugin-dir
 | 
						|
          hostPath:
 | 
						|
            path: /var/lib/kubelet/plugins/ebs.csi.aws.com/
 | 
						|
            type: DirectoryOrCreate
 | 
						|
        - name: registration-dir
 | 
						|
          hostPath:
 | 
						|
            path: /var/lib/kubelet/plugins_registry/
 | 
						|
            type: Directory
 | 
						|
        - name: device-dir
 | 
						|
          hostPath:
 | 
						|
            path: /dev
 | 
						|
            type: Directory
 | 
						|
---
 | 
						|
# Source: aws-ebs-csi-driver/templates/controller.yaml
 | 
						|
# Controller Service
 | 
						|
kind: Deployment
 | 
						|
apiVersion: apps/v1
 | 
						|
metadata:
 | 
						|
  name: ebs-csi-controller
 | 
						|
  namespace: kube-system
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/version: "0.8.0"
 | 
						|
spec:
 | 
						|
  replicas: 2
 | 
						|
  selector:
 | 
						|
    matchLabels:
 | 
						|
      app: ebs-csi-controller
 | 
						|
      app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
      app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
  template:
 | 
						|
    metadata:
 | 
						|
      labels:
 | 
						|
        app: ebs-csi-controller
 | 
						|
        app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
        app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
        app.kubernetes.io/version: "0.8.0"
 | 
						|
    spec:
 | 
						|
      nodeSelector:
 | 
						|
        kubernetes.io/os: linux
 | 
						|
        node-role.kubernetes.io/master: ""
 | 
						|
      serviceAccountName: ebs-csi-controller-sa
 | 
						|
      priorityClassName: system-cluster-critical
 | 
						|
      tolerations:
 | 
						|
        - operator: Exists
 | 
						|
      containers:
 | 
						|
        - name: ebs-plugin
 | 
						|
          image: k8s.gcr.io/provider-aws/aws-ebs-csi-driver:v0.8.0
 | 
						|
          imagePullPolicy: IfNotPresent
 | 
						|
          args:
 | 
						|
            - controller
 | 
						|
            - --endpoint=$(CSI_ENDPOINT)
 | 
						|
            - --logtostderr
 | 
						|
            - --k8s-tag-cluster-id={{ ClusterName }}
 | 
						|
            - --extra-tags=KubernetesCluster={{ ClusterName }}
 | 
						|
            - --v=5
 | 
						|
          env:
 | 
						|
            - name: CSI_ENDPOINT
 | 
						|
              value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
 | 
						|
            - name: AWS_ACCESS_KEY_ID
 | 
						|
              valueFrom:
 | 
						|
                secretKeyRef:
 | 
						|
                  name: aws-secret
 | 
						|
                  key: key_id
 | 
						|
                  optional: true
 | 
						|
            - name: AWS_SECRET_ACCESS_KEY
 | 
						|
              valueFrom:
 | 
						|
                secretKeyRef:
 | 
						|
                  name: aws-secret
 | 
						|
                  key: access_key
 | 
						|
                  optional: true
 | 
						|
          volumeMounts:
 | 
						|
            - name: socket-dir
 | 
						|
              mountPath: /var/lib/csi/sockets/pluginproxy/
 | 
						|
          ports:
 | 
						|
            - name: healthz
 | 
						|
              containerPort: 9808
 | 
						|
              protocol: TCP
 | 
						|
          livenessProbe:
 | 
						|
            httpGet:
 | 
						|
              path: /healthz
 | 
						|
              port: healthz
 | 
						|
            initialDelaySeconds: 10
 | 
						|
            timeoutSeconds: 3
 | 
						|
            periodSeconds: 10
 | 
						|
            failureThreshold: 5
 | 
						|
        - name: csi-provisioner
 | 
						|
          image: quay.io/k8scsi/csi-provisioner:v1.6.0
 | 
						|
          args:
 | 
						|
            - --csi-address=$(ADDRESS)
 | 
						|
            - --v=5
 | 
						|
            - --feature-gates=Topology=true
 | 
						|
            - --enable-leader-election
 | 
						|
            - --leader-election-type=leases
 | 
						|
            - --extra-create-metadata=true
 | 
						|
          env:
 | 
						|
            - name: ADDRESS
 | 
						|
              value: /var/lib/csi/sockets/pluginproxy/csi.sock
 | 
						|
          volumeMounts:
 | 
						|
            - name: socket-dir
 | 
						|
              mountPath: /var/lib/csi/sockets/pluginproxy/
 | 
						|
        - name: csi-attacher
 | 
						|
          image: quay.io/k8scsi/csi-attacher:v2.2.0
 | 
						|
          args:
 | 
						|
            - --csi-address=$(ADDRESS)
 | 
						|
            - --v=5
 | 
						|
            - --leader-election=true
 | 
						|
          env:
 | 
						|
            - name: ADDRESS
 | 
						|
              value: /var/lib/csi/sockets/pluginproxy/csi.sock
 | 
						|
          volumeMounts:
 | 
						|
            - name: socket-dir
 | 
						|
              mountPath: /var/lib/csi/sockets/pluginproxy/
 | 
						|
        - name: csi-snapshotter
 | 
						|
          image: quay.io/k8scsi/csi-snapshotter:v2.1.1
 | 
						|
          args:
 | 
						|
            - --csi-address=$(ADDRESS)
 | 
						|
            - --leader-election=true
 | 
						|
          env:
 | 
						|
            - name: ADDRESS
 | 
						|
              value: /var/lib/csi/sockets/pluginproxy/csi.sock
 | 
						|
          volumeMounts:
 | 
						|
            - name: socket-dir
 | 
						|
              mountPath: /var/lib/csi/sockets/pluginproxy/
 | 
						|
        - name: csi-resizer
 | 
						|
          image: quay.io/k8scsi/csi-resizer:v0.5.0
 | 
						|
          imagePullPolicy: Always
 | 
						|
          args:
 | 
						|
            - --csi-address=$(ADDRESS)
 | 
						|
            - --v=5
 | 
						|
          env:
 | 
						|
            - name: ADDRESS
 | 
						|
              value: /var/lib/csi/sockets/pluginproxy/csi.sock
 | 
						|
          volumeMounts:
 | 
						|
            - name: socket-dir
 | 
						|
              mountPath: /var/lib/csi/sockets/pluginproxy/
 | 
						|
        - name: liveness-probe
 | 
						|
          image: quay.io/k8scsi/livenessprobe:v2.1.0
 | 
						|
          args:
 | 
						|
            - --csi-address=/csi/csi.sock
 | 
						|
          volumeMounts:
 | 
						|
            - name: socket-dir
 | 
						|
              mountPath: /csi
 | 
						|
      volumes:
 | 
						|
        - name: socket-dir
 | 
						|
          emptyDir: {}
 | 
						|
---
 | 
						|
# Source: aws-ebs-csi-driver/templates/csidriver.yaml
 | 
						|
apiVersion: storage.k8s.io/v1beta1
 | 
						|
kind: CSIDriver
 | 
						|
metadata:
 | 
						|
  name: ebs.csi.aws.com
 | 
						|
  labels:
 | 
						|
    app.kubernetes.io/name: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/instance: aws-ebs-csi-driver
 | 
						|
    app.kubernetes.io/version: "0.8.0"
 | 
						|
spec:
 | 
						|
  attachRequired: true
 | 
						|
  podInfoOnMount: false
 |