--- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: spot-interrupt-handler namespace: zip rules: - apiGroups: - "" resources: - "*" verbs: - "*" - apiGroups: - rbac.authorization.k8s.io resources: - "*" verbs: - "*" - apiGroups: - apiextensions.k8s.io resources: - customresourcedefinitions verbs: - get - list - watch - create - delete --- apiVersion: v1 kind: ServiceAccount metadata: name: spot-interrupt-handler --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: spot-interrupt-handler namespace: zip subjects: - kind: ServiceAccount name: spot-interrupt-handler namespace: zip roleRef: kind: ClusterRole name: spot-interrupt-handler apiGroup: rbac.authorization.k8s.io --- apiVersion: apps/v1beta2 kind: DaemonSet metadata: name: spot-interrupt-handler namespace: zip spec: selector: matchLabels: app: spot-interrupt-handler template: metadata: labels: app: spot-interrupt-handler spec: serviceAccountName: spot-interrupt-handler hostNetwork: true containers: - name: spot-interrupt-handler image: 356566070122.dkr.ecr.eu-west-1.amazonaws.com/spot-sig-handler:latest imagePullPolicy: Always command: ["/start.sh"] env: - name: DEPLOY_NAME value: "multiplayersample" - name: AWS_DEFAULT_REGION valueFrom: configMapKeyRef: name: region-config key: aws.zip.region - name: QUEUE_URL valueFrom: configMapKeyRef: name: region-config key: spot.int.queue.url - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace nodeSelector: lifecycle: Ec2Spot