Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ReadEgressSelectorConfiguration

func ReadEgressSelectorConfiguration(configFilePath string) (*apiserver.EgressSelectorConfiguration, error)

    ReadEgressSelectorConfiguration reads the egress selector configuration at the specified path. It returns the loaded egress selector configuration if the input file aligns with the required syntax. If it does not align with the provided syntax, it returns a default configuration which should function as a no-op. It does this by returning a nil configuration, which preserves backward compatibility. This works because prior to this there was no egress selector configuration. It returns an error if the file did not exist.

    func ValidateEgressSelectorConfiguration

    func ValidateEgressSelectorConfiguration(config *apiserver.EgressSelectorConfiguration) field.ErrorList

      ValidateEgressSelectorConfiguration checks the apiserver.EgressSelectorConfiguration for common configuration errors. It will return error for problems such as configuring mtls/cert settings for protocol which do not support security. It will also try to catch errors such as incorrect file paths. It will return nil if it does not find anything wrong.

      Types

      type EgressSelector

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

        EgressSelector is the map of network context type to context dialer, for network egress.

        func NewEgressSelector

        func NewEgressSelector(config *apiserver.EgressSelectorConfiguration) (*EgressSelector, error)

          NewEgressSelector configures lookup mechanism for Lookup. It does so based on a EgressSelectorConfiguration which was read at startup.

          func (*EgressSelector) Lookup

          func (cs *EgressSelector) Lookup(networkContext NetworkContext) (utilnet.DialFunc, error)

            Lookup gets the dialer function for the network context. This is configured for the Kubernetes API Server at startup.

            type EgressType

            type EgressType int

              EgressType is an indicator of which egress selection should be used for sending traffic. See https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190226-network-proxy.md#network-context

              const (
              	// Master is the EgressType for traffic intended to go to the control plane.
              	Master EgressType = iota
              	// Etcd is the EgressType for traffic intended to go to Kubernetes persistence store.
              	Etcd
              	// Cluster is the EgressType for traffic intended to go to the system being managed by Kubernetes.
              	Cluster
              )

              func (EgressType) AsNetworkContext

              func (s EgressType) AsNetworkContext() NetworkContext

                AsNetworkContext is a helper function to make it easy to get the basic NetworkContext objects.

                func (EgressType) String

                func (s EgressType) String() string

                  String returns the canonical string representation of the egress type

                  type Lookup

                  type Lookup func(networkContext NetworkContext) (utilnet.DialFunc, error)

                    Lookup is the interface to get the dialer function for the network context.

                    type NetworkContext

                    type NetworkContext struct {
                    	// EgressSelectionName is the unique name of the
                    	// EgressSelectorConfiguration which determines
                    	// the network we route the traffic to.
                    	EgressSelectionName EgressType
                    }

                      NetworkContext is the struct used by Kubernetes API Server to indicate where it intends traffic to be sent.

                      Directories

                      Path Synopsis