Skip to content

Commit

Permalink
Merge pull request #4585 from pohly/dra-1.31-preparations
Browse files Browse the repository at this point in the history
KEP-3063 and KEP-4381: DRA: "Structured Parameters" as base, "classic" DRA as extension
  • Loading branch information
k8s-ci-robot committed May 2, 2024
2 parents 3feb698 + e61fc51 commit 02b26f1
Show file tree
Hide file tree
Showing 12 changed files with 2,219 additions and 2,345 deletions.
2,596 changes: 434 additions & 2,162 deletions keps/sig-node/3063-dynamic-resource-allocation/README.md

Large diffs are not rendered by default.

Binary file modified keps/sig-node/3063-dynamic-resource-allocation/components.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions keps/sig-node/3063-dynamic-resource-allocation/components.puml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ component Kubernetes {
component apiserver {
file Pod
file ResourceClaim
file PodScheduling
file PodSchedulingContext
}
component scheduler {
component "resource plugin" as k8sresourceplugin
Expand All @@ -29,19 +29,19 @@ controllermanager -[hidden]> kubelet
drivercontroller -[hidden]> driverplugin

Pod <. ResourceClaim: owned by\n(if created from template)
Pod <. PodScheduling: owned by
Pod <. PodSchedulingContext: owned by


Pod -u-> k8sresourceclaimcontroller: read claim template\nfrom Pod spec
ResourceClaim <-u- k8sresourceclaimcontroller: create claim,\nclean up users
ResourceClaim <-u- k8sresourceclaimcontroller: create claim,\nclean up users,\ntrigger deallocation\n
ResourceClaim <-u-> kubelet
k8sresourceplugin <-u-> PodScheduling
k8sresourceplugin <-u-> PodSchedulingContext

Pod <--> scheduler
ResourceClaim <--> k8sresourceplugin

ResourceClaim <-> drivercontroller
pluginmanager <-> driverplugin
resourcemanager <-> driverplugin
PodScheduling <-> drivercontroller
PodSchedulingContext <-> drivercontroller
@enduml
7 changes: 6 additions & 1 deletion keps/sig-node/3063-dynamic-resource-allocation/kep.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ stage: alpha
# The most recent milestone for which work toward delivery of this KEP has been
# done. This can be the current (upcoming) milestone, if it is being actively
# worked on.
latest-milestone: "v1.30"
latest-milestone: "v1.31"

# The milestone at which this feature was, or is targeted to be, at each stage.
milestone:
Expand All @@ -37,6 +37,11 @@ feature-gates:
- kube-controller-manager
- kube-scheduler
- kubelet
- name: DRAControlPlaneController
components:
- kube-apiserver
- kube-controller-manager
- kube-scheduler
disable-supported: true

metrics:
Expand Down
Binary file not shown.
35 changes: 35 additions & 0 deletions keps/sig-node/4381-dra-structured-parameters/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Copyright 2022 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


IMAGES += components.png kubelet.png

all: $(IMAGES)
clean:
rm -f $(IMAGES)

# We use the http://plantuml.com/plantuml server to generate
# images. That way nothing needs to be installed besides Go.
DOC_PLANTUML_GO = $(shell go env GOPATH)/bin/plantuml-go

%.png: %.puml $(DOC_PLANTUML_GO)
$(DOC_PLANTUML_GO) -format png $<

%.svg: %.puml $(DOC_PLANTUML_GO)
$(DOC_PLANTUML_GO) -format svg $<

# Builds the binary in GOPATH/bin. Changing into / first avoids
# modifying the project's go.mod file.
$(DOC_PLANTUML_GO):
cd / && go get github.com/acarlson99/plantuml-go
1,847 changes: 1,672 additions & 175 deletions keps/sig-node/4381-dra-structured-parameters/README.md

Large diffs are not rendered by default.

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
60 changes: 60 additions & 0 deletions keps/sig-node/4381-dra-structured-parameters/components.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
@startuml
!theme reddress-lightblue
skinparam componentStyle rectangle
left to right direction

cloud "resource driver" as resourcedriver {
component "CRD controller" as drivercrdcontroller
component "kubelet plugin" as driverplugin
}

component Kubernetes {
component apiserver {
component namespaced {
file ResourceClaimTemplate
file Pod
file ResourceClaim
file DriverCRDParameters
file ResourceClaimParameters
}
component "cluster-scoped" as clusterscoped {
file ResourceClass
file ResourceSlice
}
}
component scheduler {
component "resource plugin" as k8sresourceplugin
}
component "controller-manager" as controllermanager {
component "resource claim controller" as k8sresourceclaimcontroller
}
component kubelet {
component "plugin manager" as pluginmanager
component "resource manager" as resourcemanager
}
}

' Kubernetes ---> resourcedriver

ResourceClaimTemplate <. Pod
Pod <. ResourceClaim: owned by\n(if created from template)
ResourceClaim .> ResourceClass
ResourceClaim .> DriverCRDParameters
ResourceClaimParameters .> DriverCRDParameters: generated from,\nowned by

Pod -u-> k8sresourceclaimcontroller
ResourceClaimTemplate -u-> k8sresourceclaimcontroller
ResourceClaim <-u- k8sresourceclaimcontroller: create claim,\nclean up consumers,\ntrigger deallocation
k8sresourceplugin <- ResourceClaimParameters

Pod <--> kubelet
Pod <--> scheduler
ResourceClaim <--> k8sresourceplugin

ResourceClaimParameters <- drivercrdcontroller: create, update
DriverCRDParameters ---> drivercrdcontroller: read
resourcemanager <-> driverplugin: calls gRPC methods,\nreceives stream of\nresource information
ResourceSlice-> k8sresourceplugin: consumes
resourcemanager --> ResourceSlice: publishes
pluginmanager <-> driverplugin: registers
@enduml
9 changes: 7 additions & 2 deletions keps/sig-node/4381-dra-structured-parameters/kep.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ stage: alpha
# The most recent milestone for which work toward delivery of this KEP has been
# done. This can be the current (upcoming) milestone, if it is being actively
# worked on.
latest-milestone: "v1.30"
latest-milestone: "v1.31"

# The milestone at which this feature was, or is targeted to be, at each stage.
milestone:
Expand All @@ -34,7 +34,12 @@ milestone:
# The following PRR answers are required at alpha release
# List the feature gate name and the components for which it must be enabled
feature-gates:
# DynamicResourceAllocation, same as for DRA without this KEP
- name: DynamicResourceAllocation
components:
- kube-apiserver
- kube-controller-manager
- kube-scheduler
- kubelet
disable-supported: true

# The following PRR answers are required at beta release
Expand Down
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 02b26f1

Please sign in to comment.