Skip to content

Instantly share code, notes, and snippets.

@alicefr
Last active March 11, 2024 02:33
Show Gist options
  • Save alicefr/592591b18a99cf126dd82110d8fa74ea to your computer and use it in GitHub Desktop.
Save alicefr/592591b18a99cf126dd82110d8fa74ea to your computer and use it in GitHub Desktop.
DRA - experimenting
1. Create a k8s cluster with DRA enabled. We use latest minikube (v1.30.1) as at the moment of writing this, it is only one of the few providing already k8s 1.27
```bash
$ minikube start --driver=kvm2 --feature-gates=DynamicResourceAllocation=true \
--kubernetes-version=v1.27.0-rc.0 \
--extra-config=apiserver.runtime-config='resource.k8s.io/v1alpha2=true'
```
2. Example:
```yaml
apiVersion: resource.k8s.io/v1alpha2
kind: ResourceClass
metadata:
name: resource.example.com
driverName: resource.example.com
parametersRef:
apiGroup: v1
kind: ConfigMap
name: driver-param
namespace: default
---
apiVersion: v1
kind: ConfigMap
metadata:
name: driver-param
data:
value1: "a"
value2: "b"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: user-param
data:
op1: "c"
op2: "d"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: user-param-2
data:
op1: "c"
---
apiVersion: resource.k8s.io/v1alpha2
kind: ResourceClaim
metadata:
name: claim-1
spec:
resourceClassName: resource.example.com
parametersRef:
apiGroup: v1
kind: ConfigMap
name: user-param-2
---
apiVersion: resource.k8s.io/v1alpha2
kind: ResourceClaimTemplate
metadata:
name: test-claim-template
spec:
spec:
resourceClassName: resource.example.com
parametersRef:
apiGroup: v1
kind: ConfigMap
name: user-param
---
apiVersion: v1
kind: Pod
metadata:
name: pod-with-tests
spec:
containers:
- name: container0
image: quay.io/busybox/busybox:latest
command: ["sleep", "9999"]
resources:
claims:
- name: test-0
- name: container1
image: quay.io/busybox/busybox:latest
command: ["sleep", "9999"]
resources:
claims:
- name: test-1
resourceClaims:
- name: test-0
source:
resourceClaimTemplateName: test-claim-template
- name: test-1
source:
resourceClaimName: claim-1
```
Note: the pod isn't scheduled because we don't actually have a provider
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment