m/n/kubernetes: use node clusternet to submit cluster networking routes
This completes the work on using the new cluster networking service from
Kubernetes, thereby allowing non-worker nodes to participate in cluster
networking.
Change-Id: I7f3759186d7c8cc49833be29963f82a1714d293e
Reviewed-on: https://review.monogon.dev/c/monogon/+/1418
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/node/kubernetes/service_controller.go b/metropolis/node/kubernetes/service_controller.go
index da92b7f..d1de0b2 100644
--- a/metropolis/node/kubernetes/service_controller.go
+++ b/metropolis/node/kubernetes/service_controller.go
@@ -28,6 +28,7 @@
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/clientcmd"
+ oclusternet "source.monogon.dev/metropolis/node/core/clusternet"
"source.monogon.dev/metropolis/node/core/identity"
"source.monogon.dev/metropolis/node/core/localstorage"
"source.monogon.dev/metropolis/node/core/network"
@@ -38,6 +39,7 @@
"source.monogon.dev/metropolis/node/kubernetes/pki"
"source.monogon.dev/metropolis/node/kubernetes/plugins/kvmdevice"
"source.monogon.dev/metropolis/node/kubernetes/reconciler"
+ "source.monogon.dev/metropolis/pkg/event"
"source.monogon.dev/metropolis/pkg/supervisor"
apb "source.monogon.dev/metropolis/proto/api"
@@ -48,10 +50,11 @@
ClusterNet net.IPNet
ClusterDomain string
- KPKI *pki.PKI
- Root *localstorage.Root
- Network *network.Service
- Node *identity.Node
+ KPKI *pki.PKI
+ Root *localstorage.Root
+ Network *network.Service
+ Node *identity.Node
+ PodNetwork event.Value[*oclusternet.Prefixes]
}
type Controller struct {
@@ -185,11 +188,9 @@
}
clusternet := clusternet.Service{
- NodeName: s.c.Node.ID(),
- Kubernetes: clientSet,
- ClusterNet: s.c.ClusterNet,
- InformerFactory: informerFactory,
- DataDirectory: &s.c.Root.Data.Kubernetes.ClusterNetworking,
+ NodeName: s.c.Node.ID(),
+ Kubernetes: clientSet,
+ Prefixes: s.c.PodNetwork,
}
nfproxy := nfproxy.Service{