Skip to content

Commit

Permalink
first try for docs
Browse files Browse the repository at this point in the history
Change-Id: I3555672c4cc94b310e013e3de0960bc9553e2f37
  • Loading branch information
aojea committed Dec 18, 2024
1 parent 257c9e9 commit c35c0b1
Show file tree
Hide file tree
Showing 7 changed files with 127 additions and 178 deletions.
37 changes: 37 additions & 0 deletions site/content/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: dranet
---

DRANET is a Kubernetes Network Driver that uses Dynamic Resource Allocation (DRA) to deliver high-performance networking for demanding applications in Kubernetes.

## Key Features

- **DRA Integration:** Leverages the power of Kubernetes' Dynamic Resource Allocation.
- **High-Performance Networking:** Designed for demanding workloads like AI/ML applications.
- **Simplified Management:** Easy to deploy and manage.
- **Enhanced Efficiency:** Optimizes resource utilization for improved overall performance.
- **Cluster-Wide Scalability:** Effectively manages network resources across a large number of nodes for seamless operation in Kubernetes deployments.

## How It Works

The networking DRA driver uses GRPC to communicate with the Kubelet via the [DRA API](https://github.com/kubernetes/kubernetes/blob/3bec2450efd29787df0f27415de4e8049979654f/staging/src/k8s.io/kubelet/pkg/apis/dra/v1beta1/api.proto) and the Container Runtime via [NRI](https://github.com/containerd/nri). This architecture facilitates the supportability and reduces the complexity of the solution, it also makes it fully compatible and agnostic of the existing CNI plugins in the cluster.

The DRA driver, once the Pod network namespaces has been created, will receive a GRPC call from the Container Runtime via NRI to execute the corresponding configuration. A more detailed diagram can be found in:

[![](https://mermaid.ink/img/pako:eNp9UstuwyAQ_JUVp1ZNfoBDpMi-WFXdyLn6gs0mQTXgLtCHovx714nTWoobDgiW2dlhNEfReo1CioDvCV2LuVF7UrZ2wEul6F2yDdLl_pwa7DAul6vVU4nx09Mb5NUacjIfSBJK5toQ9oqwwuATtRgeHi-9pY8InmEw1_naRGUcxAPCtTPrlLF8Y10hgnIaMu92Zj_S3ZAMqpajwvtSrt_gXzDlMBhJS6iS23i95UmN_7pi_wADf1YWEniDdZ6P72VxfpjwMEmxCXPts55VBRy8f5sff981xoMb605ZDL1qGd4jqWi8C_esmiqGG7FTK2eF_eNhRqgi_lbCjI1T6lu4WAiLZJXRHMrj0FwLToXFWkg-atyp1MVa1O7E0CGg22_XChkp4UKkXjPfmGEhd6oLXEVtoqeXS9DPeT_9ABUC_8M?type=png)](https://mermaid.live/edit#pako:eNp9UstuwyAQ_JUVp1ZNfoBDpMi-WFXdyLn6gs0mQTXgLtCHovx714nTWoobDgiW2dlhNEfReo1CioDvCV2LuVF7UrZ2wEul6F2yDdLl_pwa7DAul6vVU4nx09Mb5NUacjIfSBJK5toQ9oqwwuATtRgeHi-9pY8InmEw1_naRGUcxAPCtTPrlLF8Y10hgnIaMu92Zj_S3ZAMqpajwvtSrt_gXzDlMBhJS6iS23i95UmN_7pi_wADf1YWEniDdZ6P72VxfpjwMEmxCXPts55VBRy8f5sff981xoMb605ZDL1qGd4jqWi8C_esmiqGG7FTK2eF_eNhRqgi_lbCjI1T6lu4WAiLZJXRHMrj0FwLToXFWkg-atyp1MVa1O7E0CGg22_XChkp4UKkXjPfmGEhd6oLXEVtoqeXS9DPeT_9ABUC_8M)

## References

- [KEP 3063 - Dynamic Resource Allocation #306](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/3063-dynamic-resource-allocation/README.md)
- [KEP 3695 - DRA: structured parameters #438](https://github.com/kubernetes/enhancements/issues/4381)
- [Extend PodResources to include resources from Dynamic Resource Allocation (DRA)](https://github.com/kubernetes/enhancements/issues/3695)
- [Working Group Device Management](https://github.com/kubernetes-sigs/wg-device-management)
- [Kubernetes Network Drivers, Antonio Ojea, Presentation](https://docs.google.com/presentation/d/1Vdr7BhbYXeWjwmLjGmqnUkvJr_eOUdU0x-JxfXWxUT8/edit?usp=sharing)
- [The Future of Kubernetes Networking - Antonio Ojea, Googe & Dan Winship, Red Hat - Kubernetes Contributor Summit EU 2024](https://sched.co/1aOqO)
- [Better Together! GPU, TPU and NIC Topological Alignment with DRA - John Belamaric, Google & Patrick Ohly, Intel - Kubecon US 2024](https://sched.co/1i7pv)

## Disclaimer

This is not an officially supported Google product. This project is not
eligible for the [Google Open Source Software Vulnerability Rewards
Program](https://bughunters.google.com/open-source-security).
5 changes: 5 additions & 0 deletions site/content/contributing/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
+++
date = '2024-12-18T11:26:50Z'
draft = true
title = 'About'
+++
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
---
title: "Quick Start"
date: 2024-12-17T14:47:05Z
draft: true
---

DRANET depends on the Kubernetes feature [Dynamic Resource Allocation (DRA)](https://kubernetes.io/docs/concepts/scheduling-eviction/dynamic-resource-allocation/), that is beta (disabled by default in v1.32).

In order to enable DRA you need to enable both the [feature gates and the API groups](https://kubernetes.io/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#enabling-dynamic-resource-allocation).


## Create a Kubernetes Cluster

### KIND
Expand Down
7 changes: 6 additions & 1 deletion site/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,9 @@ module github.com/google/dranet

go 1.23.4

require github.com/google/docsy v0.11.0 // indirect
require (
github.com/google/docsy v0.11.0 // indirect
github.com/google/docsy/dependencies v0.7.2 // indirect
github.com/spf13/hyde v1.3.0 // indirect
github.com/thingsym/hugo-theme-techdoc v1.0.1 // indirect
)
8 changes: 8 additions & 0 deletions site/go.sum
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo=
github.com/FortAwesome/Font-Awesome v0.0.0-20240716171331-37eff7fa00de/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo=
github.com/google/docsy v0.11.0 h1:QnV40cc28QwS++kP9qINtrIv4hlASruhC/K3FqkHAmM=
github.com/google/docsy v0.11.0/go.mod h1:hGGW0OjNuG5ZbH5JRtALY3yvN8ybbEP/v2iaK4bwOUI=
github.com/google/docsy/dependencies v0.7.2 h1:+t5ufoADQAj4XneFphz4A+UU0ICAxmNaRHVWtMYXPSI=
github.com/google/docsy/dependencies v0.7.2/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4=
github.com/spf13/hyde v1.3.0 h1:7zf9f7xxMfD5KwdrJU+V2w7yi1W8dKKyzvNtQkuh0sE=
github.com/spf13/hyde v1.3.0/go.mod h1:CSmLWCbXXInaA5zAkwAQ0EbwpR7Pe74eSmDxdGspoCY=
github.com/thingsym/hugo-theme-techdoc v1.0.1 h1:YesixDLh7bRLFpcoyqflL3KUA+VFFw4l/9g/PuRHa4M=
github.com/thingsym/hugo-theme-techdoc v1.0.1/go.mod h1:LTThnoCpG8nsum5q10OLrG1LdJNI3BXzV4Qr557cmAY=
github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
github.com/twbs/bootstrap v5.3.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
71 changes: 71 additions & 0 deletions site/hugo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
title = "dranet"
baseURL = "https://google.github.io/dranet"
languageCode = "en-us"

# we use this to disable indexing for the non-production build
enableRobotsTXT = true

# this allows us to show the source commit in the footer
enableGitInfo = true

# we don't use these currently
disableKinds = ["taxonomy", "taxonomyTerm"]

# syntax highlighting options
[markup]
[markup.highlight]
codeFences = true
hl_Lines = ""
lineNoStart = 1
lineNos = false
lineNumbersInTable = true
noClasses = true
style = "vs"
tabWidth = 4

# allow html in markdown
[markup.goldmark.renderer]
unsafe = true

# enable hugo's menu system for the site, name the primary menu
sectionPagesMenu = "main"
# menu entries
[menu]
[[menu.main]]
identifier = "home"
name = "Home"
title = "Home"
url = "/"
weight = 1
[[menu.main]]
identifier = "user"
name = "User Guide"
title = "User Guide"
weight = 2
[[menu.main]]
identifier = "design"
name = "Design"
title = "Design"
weight = 5
[[menu.main]]
identifier = "contributing"
name = "Contributing"
title = "contributing"
weight = 6


[outputs]
home = ["HTML"]

[params]
stable = "v0.25.0"

# privacy settings
[privacy]
[privacy.youtube]
# enable the cookie-less youtube in built-in hugo shortcode
privacyEnhanced = true

[module]
[[module.imports]]
path = 'github.com/thingsym/hugo-theme-techdoc'
175 changes: 0 additions & 175 deletions site/hugo.yaml

This file was deleted.

0 comments on commit c35c0b1

Please sign in to comment.