openstack-helm/nova/templates/daemonset-libvirt.yaml
maris-accenture 1e7203a523 #106 CPU and memory resources (#106)
* resource requests and limits for cinder, heat, nova
2017-01-30 16:22:51 -08:00

120 lines
3.8 KiB
YAML

{{- $envAll := . }}
{{- $dependencies := .Values.dependencies.libvirt }}
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: nova-libvirt
spec:
template:
metadata:
labels:
app: nova-libvirt
annotations:
configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
pod.beta.kubernetes.io/init-containers: '[
{{ tuple $envAll $dependencies | include "dep_check_init_cont" | indent 10 }}
]'
spec:
nodeSelector:
{{ .Values.labels.compute_node_selector_key }}: {{ .Values.labels.compute_node_selector_value }}
securityContext:
runAsUser: 0
hostNetwork: true
dnsPolicy: ClusterFirst
containers:
- name: nova-libvirt
image: {{ .Values.images.libvirt }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{- if .Values.resources.enabled }}
resources:
requests:
memory: {{ .Values.resources.nova_libvirt.requests.memory | quote }}
cpu: {{ .Values.resources.nova_libvirt.requests.cpu | quote }}
limits:
memory: {{ .Values.resources.nova_libvirt.limits.memory | quote }}
cpu: {{ .Values.resources.nova_libvirt.limits.cpu | quote }}
{{- end }}
securityContext:
privileged: true
command:
- bash
- /tmp/libvirt.sh
volumeMounts:
- name: libvirtdconf
mountPath: /etc/libvirt/libvirtd.conf
subPath: libvirtd.conf
- name: libvirtsh
mountPath: /tmp/libvirt.sh
subPath: libvirt.sh
- mountPath: /lib/modules
name: libmodules
readOnly: true
- mountPath: /var/lib/nova
name: varlibnova
- mountPath: /var/lib/libvirt
name: varliblibvirt
- mountPath: /run
name: run
- mountPath: /sys/fs/cgroup
name: cgroup
- mountPath: /etc/resolv.conf
name: resolvconf
subPath: resolv.conf
{{- if .Values.ceph.enabled }}
- name: cephconf
mountPath: /etc/ceph/ceph.conf
subPath: ceph.conf
- name: cephclientcinderkeyring
mountPath: /etc/ceph/ceph.client.{{ .Values.ceph.cinder_user }}.keyring
subPath: ceph.client.{{ .Values.ceph.cinder_user }}.keyring
{{- end }}
volumes:
- name: libvirtdconf
configMap:
name: nova-etc
items:
- key: libvirtd.conf
path: libvirtd.conf
- name: libvirtsh
configMap:
name: nova-bin
items:
- key: libvirt.sh
path: libvirt.sh
- name: resolvconf
configMap:
name: nova-etc
items:
- key: resolv.conf
path: resolv.conf
- name: libmodules
hostPath:
path: /lib/modules
- name: varlibnova
hostPath:
path: /var/lib/nova
- name: varliblibvirt
hostPath:
path: /var/lib/libvirt
- name: run
hostPath:
path: /run
- name: cgroup
hostPath:
path: /sys/fs/cgroup
{{- if .Values.ceph.enabled }}
- name: cephconf
configMap:
name: nova-etc
items:
- key: ceph.conf
path: ceph.conf
- name: cephclientcinderkeyring
configMap:
name: nova-etc
items:
- key: ceph.client.cinder.keyring.yaml
path: ceph.client.cinder.keyring.yaml
{{- end }}