You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In shared mode, we can run into a collision issue with our actual service management. #154 Initial networking support for shared mode
The PR does the following:
• Syncs all the services created in the virtual cluster to the host cluster
• Creates a coredns service for each virtual cluster
• In k3k-kubelet, it injects networking information to each pod created including:
• connection information to the virtual cluster API.
• DNS information to the coredns service created in the second point.
Problem:
Service IP and NodePort are first provisioned in the virtual cluster and then replicated into the host clusters. But the IP or the NodePort might be already taken on the host.
One possibility is to modify the behavior of coredns, to read the IP from a label on the sync service instead of the service IP
According to @galal-hussein analysis , coredns accepts custom plugins, theoretically we can create a k3k plugin which is identical to the default kubernetes plugin with slight modification to the behavior, i.e reading the IP from a custom label/annotation instead of the spec.clusterIP field
The text was updated successfully, but these errors were encountered:
In shared mode, we can run into a collision issue with our actual service management.
#154 Initial networking support for shared mode
The PR does the following:
• Syncs all the services created in the virtual cluster to the host cluster
• Creates a coredns service for each virtual cluster
• In k3k-kubelet, it injects networking information to each pod created including:
• connection information to the virtual cluster API.
• DNS information to the coredns service created in the second point.
Problem:
Service IP and NodePort are first provisioned in the virtual cluster and then replicated into the host clusters. But the IP or the NodePort might be already taken on the host.
One possibility is to modify the behavior of coredns, to read the IP from a label on the sync service instead of the service IP
According to @galal-hussein analysis ,
coredns
accepts custom plugins, theoretically we can create a k3k plugin which is identical to the default kubernetes plugin with slight modification to the behavior, i.e reading the IP from a custom label/annotation instead of the spec.clusterIP fieldThe text was updated successfully, but these errors were encountered: