105 lines
No EOL
2.7 KiB
Nix
105 lines
No EOL
2.7 KiB
Nix
{ ... }:
|
|
{
|
|
fuse-devPlug.content = [
|
|
{
|
|
apiVersion = "apps/v1";
|
|
kind = "DaemonSet";
|
|
metadata = {
|
|
name = "generic-device-plugin";
|
|
namespace = "kube-system";
|
|
labels = {
|
|
"app.kubernetes.io/name" = "generic-device-plugin";
|
|
};
|
|
};
|
|
spec = {
|
|
selector = {
|
|
matchLabels = {
|
|
"app.kubernetes.io/name" = "generic-device-plugin";
|
|
};
|
|
};
|
|
template = {
|
|
metadata = {
|
|
labels = {
|
|
"app.kubernetes.io/name" = "generic-device-plugin";
|
|
};
|
|
};
|
|
spec = {
|
|
priorityClassName = "system-node-critical";
|
|
tolerations = [
|
|
{
|
|
operator = "Exists";
|
|
effect = "NoExecute";
|
|
}
|
|
{
|
|
operator = "Exists";
|
|
effect = "NoSchedule";
|
|
}
|
|
];
|
|
containers = [
|
|
{
|
|
image = "squat/generic-device-plugin";
|
|
args = [
|
|
"--device"
|
|
''
|
|
name: fuse
|
|
groups:
|
|
- count: 10
|
|
paths:
|
|
- path: /dev/fuse
|
|
''
|
|
];
|
|
name = "generic-device-plugin";
|
|
resources = {
|
|
requests = {
|
|
cpu = "50m";
|
|
memory = "10Mi";
|
|
};
|
|
limits = {
|
|
cpu = "50m";
|
|
memory = "20Mi";
|
|
};
|
|
};
|
|
ports = [
|
|
{
|
|
containerPort = 8080;
|
|
name = "http";
|
|
}
|
|
];
|
|
securityContext = {
|
|
privileged = true;
|
|
};
|
|
volumeMounts = [
|
|
{
|
|
name = "device-plugin";
|
|
mountPath = "/var/lib/kubelet/device-plugins";
|
|
}
|
|
{
|
|
name = "dev";
|
|
mountPath = "/dev";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
volumes = [
|
|
{
|
|
name = "device-plugin";
|
|
hostPath = {
|
|
path = "/var/lib/kubelet/device-plugins";
|
|
};
|
|
}
|
|
{
|
|
name = "dev";
|
|
hostPath = {
|
|
path = "/dev";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
updateStrategy = {
|
|
type = "RollingUpdate";
|
|
};
|
|
};
|
|
}
|
|
];
|
|
} |