Documentation ¶
Index ¶
- Constants
- func ExecIPAMAdd(cniArgs *cnipb.CniCmdArgs, k8sArgs *argtypes.K8sArgs, ipamType string, ...) (*current.Result, error)
- func ExecIPAMCheck(cniArgs *cnipb.CniCmdArgs, k8sArgs *argtypes.K8sArgs, ipamType string) error
- func ExecIPAMDelete(cniArgs *cnipb.CniCmdArgs, k8sArgs *argtypes.K8sArgs, ipamType string, ...) error
- func GetIPFromCache(resultKey string) (*current.Result, bool)
- func IsIPAMTypeValid(ipamType string) bool
- func RegisterIPAMDriver(ipamType string, ipamDriver IPAMDriver) error
- type AntreaIPAM
- func (d *AntreaIPAM) Add(args *invoke.Args, k8sArgs *argtypes.K8sArgs, networkConfig []byte) (bool, *current.Result, error)
- func (d *AntreaIPAM) Check(args *invoke.Args, k8sArgs *argtypes.K8sArgs, networkConfig []byte) (bool, error)
- func (d *AntreaIPAM) Del(args *invoke.Args, k8sArgs *argtypes.K8sArgs, networkConfig []byte) (bool, error)
- type AntreaIPAMController
- type IPAMConfig
- type IPAMDelegator
- func (d *IPAMDelegator) Add(args *invoke.Args, k8sArgs *argtypes.K8sArgs, networkConfig []byte) (bool, *current.Result, error)
- func (d *IPAMDelegator) Check(args *invoke.Args, k8sArgs *argtypes.K8sArgs, networkConfig []byte) (bool, error)
- func (d *IPAMDelegator) Del(args *invoke.Args, k8sArgs *argtypes.K8sArgs, networkConfig []byte) (bool, error)
- type IPAMDriver
- type Range
- type RangeSet
Constants ¶
const ( // AntreaIPAMAnnotationKey annotation can be added to Namespace and PodTemplate of StatefulSet/Deployment AntreaIPAMAnnotationKey = "ipam.antrea.io/ippools" // AntreaIPAMPodIPAnnotationKey annotation can be added to Pod AntreaIPAMPodIPAnnotationKey = "ipam.antrea.io/pod-ips" AntreaIPAMAnnotationDelimiter = "," )
const (
AntreaIPAMType = "antrea-ipam"
)
Variables ¶
This section is empty.
Functions ¶
func ExecIPAMAdd ¶
func ExecIPAMCheck ¶
func ExecIPAMDelete ¶
func IsIPAMTypeValid ¶
func RegisterIPAMDriver ¶
func RegisterIPAMDriver(ipamType string, ipamDriver IPAMDriver) error
Types ¶
type AntreaIPAM ¶ added in v1.4.0
type AntreaIPAM struct {
// contains filtered or unexported fields
}
Antrea IPAM driver would allocate IP addresses according to object IPAM annotation, if present. If annotation is not present, the driver will delegate functionality to traditional IPAM driver.
func (*AntreaIPAM) Add ¶ added in v1.4.0
func (d *AntreaIPAM) Add(args *invoke.Args, k8sArgs *argtypes.K8sArgs, networkConfig []byte) (bool, *current.Result, error)
Add allocates next available IP address from associated IP Pool Allocated IP and associated resource are stored in IP Pool status
type AntreaIPAMController ¶ added in v1.4.0
type AntreaIPAMController struct {
// contains filtered or unexported fields
}
Antrea IPAM Controller maintains map of Namespace annotations using Namespace informer. In future, which Antrea IPAM support expands, this controller can be used to store annotations for other objects, such as Statefulsets.
func InitializeAntreaIPAMController ¶ added in v1.4.0
func InitializeAntreaIPAMController(kubeClient clientset.Interface, crdClient clientsetversioned.Interface, informerFactory informers.SharedInformerFactory, podInformer cache.SharedIndexInformer, crdInformerFactory externalversions.SharedInformerFactory) (*AntreaIPAMController, error)
func NewAntreaIPAMController ¶ added in v1.4.0
func NewAntreaIPAMController(kubeClient clientset.Interface, crdClient clientsetversioned.Interface, informerFactory informers.SharedInformerFactory, podInformer cache.SharedIndexInformer, crdInformerFactory externalversions.SharedInformerFactory) *AntreaIPAMController
func (*AntreaIPAMController) Run ¶ added in v1.4.0
func (c *AntreaIPAMController) Run(stopCh <-chan struct{})
Run starts to watch and process Namespace updates for the Node where Antrea Agent is running, and maintain a mapping between Namespace name and IPAM annotations.
type IPAMConfig ¶
type IPAMDelegator ¶
type IPAMDelegator struct {
// contains filtered or unexported fields
}
type IPAMDriver ¶
type IPAMDriver interface { Add(args *invoke.Args, k8sArgs *argtypes.K8sArgs, networkConfig []byte) (bool, *current.Result, error) Del(args *invoke.Args, k8sArgs *argtypes.K8sArgs, networkConfig []byte) (bool, error) Check(args *invoke.Args, k8sArgs *argtypes.K8sArgs, networkConfig []byte) (bool, error) }