Skip to content
This repository has been archived by the owner on Feb 19, 2024. It is now read-only.

feat(infra): introduce public IP to node info #1

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open

Conversation

suyuee
Copy link
Collaborator

@suyuee suyuee commented Oct 12, 2023

Raven make assumptions that our setup doesn't fit into
I would say our setup is very special, therefore I can image it will be hard to convince them accept some of k our PRs, so we need to take over the codebase and close the gaps. This is the first among several. btw make manifests creates a bunch of unrelated stuff

For this PR, the goal is to enable satellite nodes to establish vxlan connections by introducing node public IPs. The context is that, Raven controller controls a CRD called Gateway, and it populates node info into NodeInfo CRD. Right now, it only takes the node internal IP.

Raven assumes: among 1 edge/satellite node group, nodes can communicate with each other and establish vxlan connections via their private IP addresses directly without any additional techniques and that they show up in the cluster with their private IP addresses

Our setup: nodes show up in the cluster with assigned IP ranges, so we can't easily just directly use their IPs to establish vxlan connections

cc @xiang90 @gyuho @ccding

@suyuee suyuee force-pushed the publicip branch 2 times, most recently from 1abe215 to 310f715 Compare October 13, 2023 05:26
.github/workflows/pr.yaml Outdated Show resolved Hide resolved
.github/workflows/pr.yaml Outdated Show resolved Hide resolved
.github/workflows/push.yaml Outdated Show resolved Hide resolved
@@ -40,6 +40,7 @@ const (
WorkingNamespace = "kube-system"
RavenGlobalConfig = "raven-cfg"
LabelCurrentGatewayEndpoints = "raven.openyurt.io/endpoints-name"
LabelLeptonSatellitePublicIP = "lepton.ai/provider-public-ip"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe still use the openyurt namespace?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we already have this label on our edge nodes, need to rename it for all our edge nodes

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @gyuho wdyt?

@@ -177,9 +177,10 @@ func (r *ReconcileGateway) Reconcile(ctx context.Context, req reconcile.Request)
err = fmt.Errorf("unable to list nodes: %s", err)
return reconcile.Result{}, err
}
klog.V(1).Info(Format("list gateway %d node %v", len(nodeList.Items), nodeList.Items))
klog.V(1).Info(Format("list gateway %d", len(nodeList.Items)))
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we change this? I thought we should minimize the diff to make future merge/rebase easier

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nodeList.Items are huge... the status/annotations etc. although we want to make it easier to merge, another bigger goal (I think) is to make it suitable for production deployment.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we just lower the logging level

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants