Skip to content

Commit 5e8f4f9

Browse files
authored
Merge pull request #69 from klueska/update-1.32
Update deployment for Kubernetes 1.32.0
2 parents 5ff76f1 + eb89e97 commit 5e8f4f9

File tree

15 files changed

+142
-124
lines changed

15 files changed

+142
-124
lines changed

README.md

+22-14
Original file line numberDiff line numberDiff line change
@@ -92,21 +92,21 @@ And show the initial state of available GPU devices on the worker node:
9292
$ kubectl get resourceslice -o yaml
9393
apiVersion: v1
9494
items:
95-
- apiVersion: resource.k8s.io/v1alpha3
95+
- apiVersion: resource.k8s.io/v1beta1
9696
kind: ResourceSlice
9797
metadata:
98-
creationTimestamp: "2024-07-16T13:00:06Z"
98+
creationTimestamp: "2024-12-09T16:17:09Z"
9999
generateName: dra-example-driver-cluster-worker-gpu.example.com-
100100
generation: 1
101-
name: dra-example-driver-cluster-worker-gpu.example.com-xhsqf
101+
name: dra-example-driver-cluster-worker-gpu.example.com-rf2f7
102102
ownerReferences:
103103
- apiVersion: v1
104104
controller: true
105105
kind: Node
106106
name: dra-example-driver-cluster-worker
107-
uid: 8a18f216-bd77-426a-86b1-a989bdacc135
108-
resourceVersion: "854"
109-
uid: ea955e01-eaf0-45ed-8a36-1c56e4b8bced
107+
uid: 6633c2e1-d947-40c3-ba1f-78f3c9aad05c
108+
resourceVersion: "530"
109+
uid: d13fd8bd-0a71-43e1-ba79-ebd2fae4847a
110110
spec:
111111
driver: gpu.example.com
112112
nodeName: dra-example-driver-cluster-worker
@@ -126,7 +126,8 @@ items:
126126
uuid:
127127
string: gpu-18db0e85-99e9-c746-8531-ffeb86328b39
128128
capacity:
129-
memory: 80Gi
129+
memory:
130+
value: 80Gi
130131
name: gpu-0
131132
- basic:
132133
attributes:
@@ -139,7 +140,8 @@ items:
139140
uuid:
140141
string: gpu-93d37703-997c-c46f-a531-755e3e0dc2ac
141142
capacity:
142-
memory: 80Gi
143+
memory:
144+
value: 80Gi
143145
name: gpu-1
144146
- basic:
145147
attributes:
@@ -152,7 +154,8 @@ items:
152154
uuid:
153155
string: gpu-ee3e4b55-fcda-44b8-0605-64b7a9967744
154156
capacity:
155-
memory: 80Gi
157+
memory:
158+
value: 80Gi
156159
name: gpu-2
157160
- basic:
158161
attributes:
@@ -165,7 +168,8 @@ items:
165168
uuid:
166169
string: gpu-9ede7e32-5825-a11b-fa3d-bab6d47e0243
167170
capacity:
168-
memory: 80Gi
171+
memory:
172+
value: 80Gi
169173
name: gpu-3
170174
- basic:
171175
attributes:
@@ -178,7 +182,8 @@ items:
178182
uuid:
179183
string: gpu-e7b42cb1-4fd8-91b2-bc77-352a0c1f5747
180184
capacity:
181-
memory: 80Gi
185+
memory:
186+
value: 80Gi
182187
name: gpu-4
183188
- basic:
184189
attributes:
@@ -191,7 +196,8 @@ items:
191196
uuid:
192197
string: gpu-f11773a1-5bfb-e48b-3d98-1beb5baaf08e
193198
capacity:
194-
memory: 80Gi
199+
memory:
200+
value: 80Gi
195201
name: gpu-5
196202
- basic:
197203
attributes:
@@ -204,7 +210,8 @@ items:
204210
uuid:
205211
string: gpu-0159f35e-99ee-b2b5-74f1-9d18df3f22ac
206212
capacity:
207-
memory: 80Gi
213+
memory:
214+
value: 80Gi
208215
name: gpu-6
209216
- basic:
210217
attributes:
@@ -217,7 +224,8 @@ items:
217224
uuid:
218225
string: gpu-657bd2e7-f5c2-a7f2-fbaa-0d1cdc32f81b
219226
capacity:
220-
memory: 80Gi
227+
memory:
228+
value: 80Gi
221229
name: gpu-7
222230
kind: List
223231
metadata:

cmd/dra-example-kubeletplugin/discovery.go

+5-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"math/rand"
2222
"os"
2323

24-
resourceapi "k8s.io/api/resource/v1alpha3"
24+
resourceapi "k8s.io/api/resource/v1beta1"
2525
"k8s.io/apimachinery/pkg/api/resource"
2626
"k8s.io/utils/ptr"
2727

@@ -51,8 +51,10 @@ func enumerateAllPossibleDevices(numGPUs int) (AllocatableDevices, error) {
5151
VersionValue: ptr.To("1.0.0"),
5252
},
5353
},
54-
Capacity: map[resourceapi.QualifiedName]resource.Quantity{
55-
"memory": resource.MustParse("80Gi"),
54+
Capacity: map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{
55+
"memory": {
56+
Value: resource.MustParse("80Gi"),
57+
},
5658
},
5759
},
5860
}

cmd/dra-example-kubeletplugin/driver.go

+8-5
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ import (
2525
"k8s.io/dynamic-resource-allocation/kubeletplugin"
2626
"k8s.io/klog/v2"
2727

28-
drapbv1 "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
28+
drapbv1 "k8s.io/kubelet/pkg/apis/dra/v1beta1"
2929
)
3030

31-
var _ drapbv1.NodeServer = &driver{}
31+
var _ drapbv1.DRAPluginServer = &driver{}
3232

3333
type driver struct {
3434
client coreclientset.Interface
@@ -49,7 +49,7 @@ func NewDriver(ctx context.Context, config *Config) (*driver, error) {
4949

5050
plugin, err := kubeletplugin.Start(
5151
ctx,
52-
driver,
52+
[]any{driver},
5353
kubeletplugin.KubeClient(config.coreclient),
5454
kubeletplugin.NodeName(config.flags.nodeName),
5555
kubeletplugin.DriverName(DriverName),
@@ -65,7 +65,10 @@ func NewDriver(ctx context.Context, config *Config) (*driver, error) {
6565
for _, device := range state.allocatable {
6666
resources.Devices = append(resources.Devices, device)
6767
}
68-
plugin.PublishResources(ctx, resources)
68+
69+
if err := plugin.PublishResources(ctx, resources); err != nil {
70+
return nil, err
71+
}
6972

7073
return driver, nil
7174
}
@@ -87,7 +90,7 @@ func (d *driver) NodePrepareResources(ctx context.Context, req *drapbv1.NodePrep
8790
}
8891

8992
func (d *driver) nodePrepareResource(ctx context.Context, claim *drapbv1.Claim) *drapbv1.NodePrepareResourceResponse {
90-
resourceClaim, err := d.client.ResourceV1alpha3().ResourceClaims(claim.Namespace).Get(
93+
resourceClaim, err := d.client.ResourceV1beta1().ResourceClaims(claim.Namespace).Get(
9194
ctx,
9295
claim.Name,
9396
metav1.GetOptions{})

cmd/dra-example-kubeletplugin/state.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ import (
2121
"slices"
2222
"sync"
2323

24-
resourceapi "k8s.io/api/resource/v1alpha3"
24+
resourceapi "k8s.io/api/resource/v1beta1"
2525
"k8s.io/apimachinery/pkg/runtime"
26-
drapbv1 "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
26+
drapbv1 "k8s.io/kubelet/pkg/apis/dra/v1beta1"
2727
"k8s.io/kubernetes/pkg/kubelet/checkpointmanager"
2828

2929
configapi "sigs.k8s.io/dra-example-driver/api/example.com/resource/gpu/v1alpha1"

demo/gpu-test1.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
name: gpu-test1
99

1010
---
11-
apiVersion: resource.k8s.io/v1alpha3
11+
apiVersion: resource.k8s.io/v1beta1
1212
kind: ResourceClaimTemplate
1313
metadata:
1414
namespace: gpu-test1

demo/gpu-test2.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
name: gpu-test2
99

1010
---
11-
apiVersion: resource.k8s.io/v1alpha3
11+
apiVersion: resource.k8s.io/v1beta1
1212
kind: ResourceClaimTemplate
1313
metadata:
1414
namespace: gpu-test2

demo/gpu-test3.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
name: gpu-test3
99

1010
---
11-
apiVersion: resource.k8s.io/v1alpha3
11+
apiVersion: resource.k8s.io/v1beta1
1212
kind: ResourceClaimTemplate
1313
metadata:
1414
namespace: gpu-test3

demo/gpu-test4.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
name: gpu-test4
99

1010
---
11-
apiVersion: resource.k8s.io/v1alpha3
11+
apiVersion: resource.k8s.io/v1beta1
1212
kind: ResourceClaim
1313
metadata:
1414
namespace: gpu-test4

demo/gpu-test5.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ metadata:
88
name: gpu-test5
99

1010
---
11-
apiVersion: resource.k8s.io/v1alpha3
11+
apiVersion: resource.k8s.io/v1beta1
1212
kind: ResourceClaimTemplate
1313
metadata:
1414
namespace: gpu-test5

demo/scripts/common.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ SCRIPTS_DIR="$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)"
3636

3737
# The kubernetes tag to build the kind cluster from
3838
# From ${KIND_K8S_REPO}/tags
39-
: ${KIND_K8S_TAG:="v1.31.0"}
39+
: ${KIND_K8S_TAG:="v1.32.0"}
4040

4141
# At present, kind has a new enough node image that we don't need to build our
4242
# own. This won't always be true and we may need to set the variable below to

demo/scripts/kind-cluster-config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ nodes:
1515
kind: ClusterConfiguration
1616
apiServer:
1717
extraArgs:
18-
runtime-config: "resource.k8s.io/v1alpha3=true"
18+
runtime-config: "resource.k8s.io/v1beta1=true"
1919
scheduler:
2020
extraArgs:
2121
v: "1"

deployments/helm/dra-example-driver/templates/deviceclass.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
apiVersion: resource.k8s.io/v1alpha3
2+
apiVersion: resource.k8s.io/v1beta1
33
kind: DeviceClass
44
metadata:
55
name: gpu.example.com

deployments/helm/dra-example-driver/templates/validatingadmissionpolicy.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ spec:
77
matchConstraints:
88
resourceRules:
99
- apiGroups: ["resource.k8s.io"]
10-
apiVersions: ["v1alpha3"]
10+
apiVersions: ["v1beta1"]
1111
operations: ["CREATE", "UPDATE", "DELETE"]
1212
resources: ["resourceslices"]
1313
matchConditions:

go.mod

+28-26
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ require (
66
github.com/google/uuid v1.6.0
77
github.com/spf13/pflag v1.0.5
88
github.com/urfave/cli/v2 v2.25.3
9-
k8s.io/api v0.31.0
10-
k8s.io/apimachinery v0.31.0
11-
k8s.io/client-go v0.31.0
12-
k8s.io/component-base v0.31.0
13-
k8s.io/dynamic-resource-allocation v0.31.0
9+
k8s.io/api v0.32.0
10+
k8s.io/apimachinery v0.32.0
11+
k8s.io/client-go v0.32.0
12+
k8s.io/component-base v0.32.0
13+
k8s.io/dynamic-resource-allocation v0.32.0
1414
k8s.io/klog/v2 v2.130.1
15-
k8s.io/kubelet v0.31.0
16-
k8s.io/kubernetes v1.31.0
17-
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8
15+
k8s.io/kubelet v0.32.0
16+
k8s.io/kubernetes v1.32.0
17+
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738
1818
tags.cncf.io/container-device-interface v0.8.0
1919
tags.cncf.io/container-device-interface/specs-go v0.8.0
2020
)
@@ -30,24 +30,24 @@ require (
3030
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
3131
github.com/go-logr/logr v1.4.2 // indirect
3232
github.com/go-logr/zapr v1.3.0 // indirect
33-
github.com/go-openapi/jsonpointer v0.19.6 // indirect
33+
github.com/go-openapi/jsonpointer v0.21.0 // indirect
3434
github.com/go-openapi/jsonreference v0.20.2 // indirect
35-
github.com/go-openapi/swag v0.22.4 // indirect
35+
github.com/go-openapi/swag v0.23.0 // indirect
3636
github.com/gogo/protobuf v1.3.2 // indirect
3737
github.com/golang/protobuf v1.5.4 // indirect
3838
github.com/google/gnostic-models v0.6.8 // indirect
3939
github.com/google/go-cmp v0.6.0 // indirect
4040
github.com/google/gofuzz v1.2.0 // indirect
41-
github.com/imdario/mergo v0.3.6 // indirect
4241
github.com/inconshreveable/mousetrap v1.1.0 // indirect
4342
github.com/josharian/intern v1.0.0 // indirect
4443
github.com/json-iterator/go v1.1.12 // indirect
4544
github.com/mailru/easyjson v0.7.7 // indirect
4645
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
4746
github.com/modern-go/reflect2 v1.0.2 // indirect
4847
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
49-
github.com/opencontainers/runtime-spec v1.1.0 // indirect
48+
github.com/opencontainers/runtime-spec v1.2.0 // indirect
5049
github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626 // indirect
50+
github.com/pkg/errors v0.9.1 // indirect
5151
github.com/prometheus/client_golang v1.19.1 // indirect
5252
github.com/prometheus/client_model v0.6.1 // indirect
5353
github.com/prometheus/common v0.55.0 // indirect
@@ -57,23 +57,25 @@ require (
5757
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 // indirect
5858
github.com/x448/float16 v0.8.4 // indirect
5959
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
60+
go.opentelemetry.io/otel v1.28.0 // indirect
61+
go.opentelemetry.io/otel/trace v1.28.0 // indirect
6062
go.uber.org/multierr v1.11.0 // indirect
61-
go.uber.org/zap v1.26.0 // indirect
62-
golang.org/x/mod v0.17.0 // indirect
63-
golang.org/x/net v0.26.0 // indirect
64-
golang.org/x/oauth2 v0.21.0 // indirect
65-
golang.org/x/sys v0.21.0 // indirect
66-
golang.org/x/term v0.21.0 // indirect
67-
golang.org/x/text v0.16.0 // indirect
68-
golang.org/x/time v0.3.0 // indirect
69-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect
63+
go.uber.org/zap v1.27.0 // indirect
64+
golang.org/x/mod v0.21.0 // indirect
65+
golang.org/x/net v0.30.0 // indirect
66+
golang.org/x/oauth2 v0.23.0 // indirect
67+
golang.org/x/sys v0.26.0 // indirect
68+
golang.org/x/term v0.25.0 // indirect
69+
golang.org/x/text v0.19.0 // indirect
70+
golang.org/x/time v0.7.0 // indirect
71+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7 // indirect
7072
google.golang.org/grpc v1.65.0 // indirect
71-
google.golang.org/protobuf v1.34.2 // indirect
73+
google.golang.org/protobuf v1.35.1 // indirect
74+
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
7275
gopkg.in/inf.v0 v0.9.1 // indirect
73-
gopkg.in/yaml.v2 v2.4.0 // indirect
7476
gopkg.in/yaml.v3 v3.0.1 // indirect
75-
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
76-
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
77-
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
77+
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect
78+
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
79+
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect
7880
sigs.k8s.io/yaml v1.4.0 // indirect
7981
)

0 commit comments

Comments
 (0)