Documentation ¶
Index ¶
- Constants
- type F5Error
- type F5Plugin
- func (p *F5Plugin) Commit() error
- func (p *F5Plugin) HandleEndpoints(eventType watch.EventType, endpoints *kapi.Endpoints) error
- func (p *F5Plugin) HandleNamespaces(namespaces sets.String) error
- func (p *F5Plugin) HandleNode(eventType watch.EventType, node *kapi.Node) error
- func (p *F5Plugin) HandleRoute(eventType watch.EventType, route *routev1.Route) error
- type F5PluginConfig
Constants ¶
View Source
const ( // Default F5 partition path to use for syncing route config. F5DefaultPartitionPath = "/Common" F5VxLANTunnelName = "vxlan5000" F5VxLANProfileName = "vxlan-ose" HTTP_CONFLICT_CODE = 409 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type F5Error ¶
type F5Error struct {
// contains filtered or unexported fields
}
F5Error represents an error resulting from a request to the F5 BIG-IP iControl REST interface.
type F5Plugin ¶
type F5Plugin struct { // F5Client is the object that represents the F5 BIG-IP host, holds state, // and provides an interface to manipulate F5 BIG-IP. F5Client *f5LTM // VtepMap is a map of node ids and their ip addresses // helps to sync events at router start vs node status update events VtepMap map[types.UID]string }
F5Plugin holds state for the f5 plugin.
func NewF5Plugin ¶
func NewF5Plugin(cfg F5PluginConfig) (*F5Plugin, error)
NewF5Plugin makes a new f5 router plugin.
func (*F5Plugin) HandleEndpoints ¶
HandleEndpoints processes watch events on the Endpoints resource and creates and deletes pools and pool members in response.
func (*F5Plugin) HandleNamespaces ¶
func (*F5Plugin) HandleNode ¶ added in v1.4.0
type F5PluginConfig ¶
type F5PluginConfig struct { // Host specifies the hostname or IP address of the F5 BIG-IP host. Host string // Username specifies the username with the plugin should authenticate // with the F5 BIG-IP host. Username string // Password specifies the password with which the plugin should // authenticate with F5 BIG-IP. Password string // HttpVserver specifies the name of the vserver object in F5 BIG-IP that the // plugin will configure for HTTP connections. HttpVserver string // HttpsVserver specifies the name of the vserver object in F5 BIG-IP that the // plugin will configure for HTTPS connections. HttpsVserver string // PrivateKey specifies the path to the SSH private-key file for // authenticating with F5 BIG-IP. The file must exist with this pathname // inside the F5 router's filesystem namespace. The F5 router requires this // key to copy certificates and keys to the F5 BIG-IP host. PrivateKey string // Insecure specifies whether the F5 plugin should perform strict certificate // validation for connections to the F5 BIG-IP host. Insecure bool // PartitionPath specifies the F5 partition path to use. This is used // to create an access control boundary for users and applications. PartitionPath string // VxlanGateway is the ip address assigned to the local tunnel interface // inside F5 box. This address is the one that the packets generated from F5 // will carry. The pods will return the packets to this address itself. // It is important that the gateway be one of the ip addresses of the subnet // that has been generated for F5. VxlanGateway string // InternalAddress is the ip address of the vtep interface used to connect to // VxLAN overlay. It is the hostIP address listed in the subnet generated for F5 InternalAddress string }
F5PluginConfig holds configuration for the f5 plugin.
Click to show internal directories.
Click to hide internal directories.