# Copyright (c) 2017 OpenStack Foundation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. kind: DaemonSet apiVersion: extensions/v1beta1 metadata: name: cinder-flexvolume namespace: kube-system labels: component: cinder-flexvolume k8s-app: cinder-flexvolume name: cinder-flexvolume spec: selector: matchLabels: component: cinder-flexvolume k8s-app: cinder-flexvolume name: cinder-flexvolume template: metadata: labels: component: cinder-flexvolume k8s-app: cinder-flexvolume name: cinder-flexvolume annotations: runtime.frakti.alpha.kubernetes.io/OSContainer: "true" scheduler.alpha.kubernetes.io/critical-pod: '' scheduler.alpha.kubernetes.io/tolerations: | [{"key": "dedicated", "value": "master", "effect": "NoSchedule" }, {"key":"CriticalAddonsOnly", "operator":"Exists"}] spec: hostNetwork: true securityContext: {} containers: - name: cinder-flexvolume resources: {} image: stackube/flex-volume:v0.2 command: ["/bin/bash", "install.sh"] env: # The endpoint of openstack authentication. - name: AUTH_URL valueFrom: configMapKeyRef: name: stackube-config key: auth-url # The username for openstack authentication. - name: USERNAME valueFrom: configMapKeyRef: name: stackube-config key: username # The password for openstack authentication. - name: PASSWORD valueFrom: configMapKeyRef: name: stackube-config key: password # The tenant name for openstack authentication. - name: TENANT_NAME valueFrom: configMapKeyRef: name: stackube-config key: tenant-name # The region for openstack authentication. - name: REGION valueFrom: configMapKeyRef: name: stackube-config key: region # The keyring for cinder client. - name: KEYRING valueFrom: configMapKeyRef: name: stackube-config key: keyring volumeMounts: - mountPath: /mnt/binary name: binarydir - mountPath: /mnt/config name: cinderconfig volumes: # Used for flexvolume binary. - name: binarydir hostPath: path: /usr/libexec/kubernetes/kubelet-plugins/volume/exec/cinder~flexvolume_driver/ # Used to cinder client. - name: cinderconfig hostPath: path: /etc/kubernetes