Documentation
¶
Index ¶
- type Backends
- type Manager
- type ProbeState
- type ProbeTarget
- type ProbeTargetLister
- type Prober
- func (m *Prober) CancelIngressProbing(obj interface{})
- func (m *Prober) CancelIngressProbingByKey(key types.NamespacedName)
- func (m *Prober) CancelPodProbing(obj interface{})
- func (m *Prober) DoProbes(ctx context.Context, backends Backends) (ProbeState, error)
- func (m *Prober) IsProbeActive(key types.NamespacedName) (ProbeState, bool)
- func (m *Prober) Start(done <-chan struct{}) chan struct{}
- type URLSet
- type Visibility
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backends ¶
type Backends struct { CallbackKey types.NamespacedName Key types.NamespacedName Version string URLs map[Visibility]URLSet HTTPOption v1alpha1.HTTPOption }
type Manager ¶
type Manager interface { DoProbes(ctx context.Context, backends Backends) (ProbeState, error) IsProbeActive(key types.NamespacedName) (ProbeState, bool) }
Manager provides a way to check if an Ingress is ready
type ProbeState ¶
type ProbeTarget ¶
ProbeTarget contains the URLs to probes for a set of Pod IPs serving out of the same port.
type ProbeTargetLister ¶
type ProbeTargetLister interface { // BackendsToProbeTargets produces list of targets for the given backends BackendsToProbeTargets(ctx context.Context, backends Backends) ([]ProbeTarget, error) }
ProbeTargetLister lists all the targets that requires probing.
type Prober ¶
type Prober struct {
// contains filtered or unexported fields
}
Prober provides a way to check if a VirtualService is ready by probing the Envoy pods handling that VirtualService.
func NewProber ¶
func NewProber( logger *zap.SugaredLogger, targetLister ProbeTargetLister, readyCallback func(types.NamespacedName)) *Prober
NewProber creates a new instance of Prober
func (*Prober) CancelIngressProbing ¶
func (m *Prober) CancelIngressProbing(obj interface{})
CancelIngressProbing cancels probing of the provided Ingress
func (*Prober) CancelIngressProbingByKey ¶
func (m *Prober) CancelIngressProbingByKey(key types.NamespacedName)
CancelIngressProbingByKey cancels probing of the Ingress identified by the provided key.
func (*Prober) CancelPodProbing ¶
func (m *Prober) CancelPodProbing(obj interface{})
CancelPodProbing cancels probing of the provided Pod IP.
TODO(#6269): make this cancellation based on Pod x port instead of just Pod.
func (*Prober) DoProbes ¶
DoProbes will start probing the desired backends. If probing is already active with the correct backend versions it will return the current state.
func (*Prober) IsProbeActive ¶
func (m *Prober) IsProbeActive(key types.NamespacedName) (ProbeState, bool)
IsProbeActive will return the state of the probes for the given key
type Visibility ¶
type Visibility = v1alpha1.IngressVisibility