Skip to content

Instantly share code, notes, and snippets.

@pichuang
Created September 4, 2024 09:02
Show Gist options
  • Save pichuang/c9f5074e4548d5d4ded11d84f62fbc4e to your computer and use it in GitHub Desktop.
Save pichuang/c9f5074e4548d5d4ded11d84f62fbc4e to your computer and use it in GitHub Desktop.
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
name: overprovisioning
value: -1
globalDefault: false
description: "This priority class is for overprovisioning"
---
apiVersion: v1
kind: Namespace
metadata:
name: ns-windows-management
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: overprovisioning-windows
namespace: ns-windows-management
spec:
# (Mandatory) Total nodes = n + replicas (e.g. 1)
replicas: 1
selector:
matchLabels:
app: overprovisioning-windows
template:
metadata:
labels:
app: overprovisioning-windows
spec:
nodeSelector:
# (Mandatory) set this to the node pool name
agentpool: npw22
priorityClassName: overprovisioning
containers:
- name: reserve-resources
image: registry.k8s.io/pause:3.10
resources:
requests:
cpu: "100m"
# (Mandatory) set this to the node's sku memory size in GiB * 90%, e.g. Standard_D32ads_v5 has 128Gi
memory: "115Gi"
# (Optional) Taint the node to run the daemonset on spot instances
tolerations:
- key: "kubernetes.azure.com/scalesetpriority"
operator: "Equal"
value: "spot"
effect: "NoSchedule"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment