charts/tpu-dra-driver/templates/kubeletplugin.yaml (153 lines of code) (raw):
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: {{ include "tpu-dra-driver.fullname" . }}-kubeletplugin
namespace: {{ include "tpu-dra-driver.namespace" . }}
labels:
{{- include "tpu-dra-driver.labels" . | nindent 4 }}
spec:
selector:
matchLabels:
{{- include "tpu-dra-driver.selectorLabels" . | nindent 6 }}
{{- with .Values.kubeletPlugin.updateStrategy }}
updateStrategy:
{{- toYaml . | nindent 4 }}
{{- end }}
template:
metadata:
{{- with .Values.kubeletPlugin.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "tpu-dra-driver.templateLabels" . | nindent 8 }}
spec:
hostNetwork: true
{{- if .Values.kubeletPlugin.priorityClassName }}
priorityClassName: {{ .Values.kubeletPlugin.priorityClassName }}
{{- end }}
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "tpu-dra-driver.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.kubeletPlugin.podSecurityContext | nindent 8 }}
initContainers:
- name: "tpu-network-optimization"
image: "gcr.io/gke-release/tpu_network_optimizer@sha256:ad1446302c2a7714af62959dd84fc9cd47552085cac4f03580cb4c5eb523e81c"
securityContext:
privileged: true
command:
- /tpu_network_optimizer.sh
volumeMounts:
- name: sys
mountPath: /sys
- name: proc
mountPath: /proc
containers:
- name: plugin
securityContext:
{{- toYaml .Values.kubeletPlugin.containers.plugin.securityContext | nindent 10 }}
image: {{ include "tpu-dra-driver.fullimage" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
command: ["tpu-dra-kubeletplugin"]
resources:
{{- toYaml .Values.kubeletPlugin.containers.plugin.resources | nindent 10 }}
env:
- name: CDI_ROOT
value: /var/run/cdi
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NODE_IP
valueFrom:
fieldRef:
fieldPath: status.hostIP
- name: DEVICE_CLASSES
value: {{ .Values.deviceClasses | join "," }}
volumeMounts:
- name: plugins-registry
mountPath: /var/lib/kubelet/plugins_registry
- name: plugins
mountPath: /var/lib/kubelet/plugins
- name: cdi
mountPath: /var/run/cdi
- name: sys
mountPath: /sys
- name: proc
mountPath: /proc
- image: "gcr.io/gke-release/vbar_control_agent@sha256:4bd33c9d448a446b8a1893f1caee93f0206674faeda82047491d144416c42c88"
name: vbar-control-agent
env:
- name: TPU_SKIP_MDS_QUERY
value: 'true'
securityContext:
privileged: true
readOnlyRootFilesystem: true
seccompProfile:
type: RuntimeDefault
resources:
requests:
memory: 150Mi
cpu: 10m
limits:
memory: 150Mi
command: ["vbar_control_agent_files/bin/vbar_control_agent"]
args: ['--logtostderr', '--census_enabled=false', '--gid=', '--uid=', '--chroot=']
volumes:
- name: plugins-registry
hostPath:
path: /var/lib/kubelet/plugins_registry
- name: plugins
hostPath:
path: /var/lib/kubelet/plugins
- name: cdi
hostPath:
path: /var/run/cdi
- name: dev
hostPath:
path: /dev
type: DirectoryOrCreate
- name: pod-resources
hostPath:
path: /var/lib/kubelet/pod-resources
type: DirectoryOrCreate
- name: tpu-env
hostPath:
path: /etc/tpu
type: DirectoryOrCreate
- name: tpu-logs
hostPath:
path: /tmp/tpu_logs
type: DirectoryOrCreate
- name: sys
hostPath:
path: /sys
type: Directory
- name: proc
hostPath:
path: /proc
type: Directory
{{- with .Values.kubeletPlugin.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.kubeletPlugin.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.kubeletPlugin.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}