kubernetes

package
v1.18.0-beta2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 27, 2024 License: Apache-2.0 Imports: 39 Imported by: 4

Documentation

Index

Constants

View Source
const (
	ExtensionName = "kubernetes"
)

Variables

This section is empty.

Functions

func FilterEndpoints

func FilterEndpoints(
	_ context.Context,
	writeNamespace string,
	kubeEndpoints []*corev1.Endpoints,
	services []*corev1.Service,
	pods []*corev1.Pod,
	upstreams map[*core.ResourceRef]*kubeplugin.UpstreamSpec,
) (v1.EndpointList, []string, []string)

FilterEndpoints computes the endpoints for Gloo from the given Kubernetes endpoints, services, and Gloo upstreams. It is exported to provide an injection point into our existing EDS solution for the Gloo K8s Gateway integration. It returns the endpoints, warnings, and errors.

func NewPlugin

func NewPlugin(kube kubernetes.Interface, kubeCoreCache corecache.KubeCoreCache) plugins.Plugin

func UpdateUpstream

func UpdateUpstream(original, desired *v1.Upstream) (didChange bool, err error)

func UpstreamName

func UpstreamName(serviceNamespace, serviceName string, servicePort int32) string

Types

type Epkey added in v1.9.25

type Epkey struct {
	Address     string
	Port        uint32
	Name        string
	Namespace   string
	UpstreamRef *core.ResourceRef
	// While we can use the upstream ref to get the upstream and service, if there are too many upstreams that could be slow.
	IsHeadless bool
}

type KubePluginListers

type KubePluginListers struct {
	// contains filtered or unexported fields
}

func (*KubePluginListers) EndpointsLister

func (k *KubePluginListers) EndpointsLister(ns string) kubelisters.EndpointsLister

func (*KubePluginListers) Subscribe

func (k *KubePluginListers) Subscribe() <-chan struct{}

func (*KubePluginListers) Unsubscribe

func (k *KubePluginListers) Unsubscribe(c <-chan struct{})

type KubePluginSharedFactory

type KubePluginSharedFactory interface {
	EndpointsLister(ns string) kubelisters.EndpointsLister
	Subscribe() <-chan struct{}
	Unsubscribe(<-chan struct{})
}

type KubeUpstreamConverter

type KubeUpstreamConverter struct {
	// contains filtered or unexported fields
}

func DefaultUpstreamConverter

func DefaultUpstreamConverter() *KubeUpstreamConverter

func (*KubeUpstreamConverter) CreateUpstream added in v1.0.0

func (uc *KubeUpstreamConverter) CreateUpstream(ctx context.Context, svc *corev1.Service, port corev1.ServicePort) *v1.Upstream

func (*KubeUpstreamConverter) UpstreamsForService

func (uc *KubeUpstreamConverter) UpstreamsForService(ctx context.Context, svc *corev1.Service) v1.UpstreamList

type PodLabelSource

type PodLabelSource interface {
	GetLabelsForIp(ip string, podName, podNamespace string) (map[string]string, error)
}

type UpstreamConverter

type UpstreamConverter interface {
	UpstreamsForService(ctx context.Context, svc *corev1.Service) v1.UpstreamList
}

Directories

Path Synopsis
Package mock_kubernetes is a generated GoMock package.
Package mock_kubernetes is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL