Documentation ¶
Index ¶
- Constants
- type Manager
- func (m *Manager) Close()
- func (m *Manager) EnqueueAllNode()
- func (m *Manager) EnqueueAllSubnet()
- func (m *Manager) GetClusterName() string
- func (m *Manager) GetHybridnetClient() versioned.Interface
- func (m *Manager) GetIsReady() bool
- func (m *Manager) GetKubeClient() kubeclientset.Interface
- func (m *Manager) GetOverlayNetID() *uint32
- func (m *Manager) GetUUID() types.UID
- func (m *Manager) ListSubnet() ([]*networkingv1.Subnet, error)
- func (m *Manager) RemoteVtepChanged(oldRemoteVtep *networkingv1.RemoteVtep, desiredNode *corev1.Node) (changed bool, newRemoteVtep *networkingv1.RemoteVtep, err error)
- func (m *Manager) Run()
- func (m *Manager) RunIPInstanceWorker()
- func (m *Manager) RunNodeWorker()
- func (m *Manager) RunSubnetWorker()
- func (m *Manager) SetIsReady(val bool)
- type Meta
- type SubnetSet
Constants ¶
View Source
const ( ControllerName = "RemoteClusterManager" UserAgentName = ControllerName )
View Source
const ReconcileNode = "ReconcileNode"
View Source
const (
ReconcileSubnet = "ReconcileSubnet"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager struct { sync.Mutex Meta LocalClusterKubeClient kubeclientset.Interface LocalClusterHybridnetClient versioned.Interface RemoteSubnetLister listers.RemoteSubnetLister RemoteVtepLister listers.RemoteVtepLister KubeClient *kubeclientset.Clientset HybridnetClient *versioned.Clientset KubeInformerFactory informers.SharedInformerFactory HybridnetInformerFactory externalversions.SharedInformerFactory NodeLister corev1.NodeLister NodeSynced cache.InformerSynced NodeQueue workqueue.RateLimitingInterface NetworkLister listers.NetworkLister NetworkSynced cache.InformerSynced SubnetLister listers.SubnetLister SubnetSynced cache.InformerSynced SubnetQueue workqueue.RateLimitingInterface IPLister listers.IPInstanceLister IPSynced cache.InformerSynced IPQueue workqueue.RateLimitingInterface RemoteClusterNodeLister corev1.NodeLister RemoteClusterNodeSynced cache.InformerSynced Recorder record.EventRecorder // contains filtered or unexported fields }
Manager Those without the localCluster prefix are the resources of the remote cluster
func NewRemoteClusterManager ¶
func NewRemoteClusterManager(rc *networkingv1.RemoteCluster, localClusterKubeClient kubeclientset.Interface, localClusterHybridnetClient versioned.Interface, remoteSubnetLister listers.RemoteSubnetLister, remoteVtepLister listers.RemoteVtepLister, eventHub chan<- rctypes.Event) (*Manager, error)
func (*Manager) EnqueueAllNode ¶
func (m *Manager) EnqueueAllNode()
func (*Manager) EnqueueAllSubnet ¶
func (m *Manager) EnqueueAllSubnet()
func (*Manager) GetClusterName ¶
func (*Manager) GetHybridnetClient ¶
func (*Manager) GetIsReady ¶
func (*Manager) GetKubeClient ¶
func (m *Manager) GetKubeClient() kubeclientset.Interface
func (*Manager) GetOverlayNetID ¶
func (*Manager) ListSubnet ¶
func (m *Manager) ListSubnet() ([]*networkingv1.Subnet, error)
func (*Manager) RemoteVtepChanged ¶
func (m *Manager) RemoteVtepChanged(oldRemoteVtep *networkingv1.RemoteVtep, desiredNode *corev1.Node) (changed bool, newRemoteVtep *networkingv1.RemoteVtep, err error)
func (*Manager) RunIPInstanceWorker ¶
func (m *Manager) RunIPInstanceWorker()
func (*Manager) RunNodeWorker ¶
func (m *Manager) RunNodeWorker()
func (*Manager) RunSubnetWorker ¶
func (m *Manager) RunSubnetWorker()
func (*Manager) SetIsReady ¶
type Meta ¶
type Meta struct { ClusterName string // RemoteClusterUID is used to set owner reference RemoteClusterUID types.UID // ClusterUUID represents the corresponding remote cluster's uuid, which is generated // from unique k8s resource ClusterUUID types.UID StopCh chan struct{} // Only if meet the condition, can create remote cluster's cr // Conditions are: // 1. The remote cluster created the remote-cluster-cr of this cluster // 2. The remote cluster and local cluster both have overlay network // 3. The overlay network id is same with local cluster IsReady bool IsReadyLock sync.RWMutex }
Click to show internal directories.
Click to hide internal directories.