k8s

package
v1.8.1 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdmissionServerConfig

type AdmissionServerConfig struct {
	// Address the Admission WebHook Server should be listening on.
	Address string `yaml:"address" envconfig:"kuma_runtime_kubernetes_admission_server_address"`
	// Port the Admission WebHook Server should be listening on.
	Port uint32 `yaml:"port" envconfig:"kuma_runtime_kubernetes_admission_server_port"`
	// Directory with a TLS cert and private key for the Admission WebHook Server.
	// TLS certificate file must be named `tls.crt`.
	// TLS key file must be named `tls.key`.
	CertDir string `yaml:"certDir" envconfig:"kuma_runtime_kubernetes_admission_server_cert_dir"`
}

Configuration of the Admission WebHook Server implemented by the Control Plane.

func (*AdmissionServerConfig) Sanitize

func (c *AdmissionServerConfig) Sanitize()

func (*AdmissionServerConfig) Validate

func (c *AdmissionServerConfig) Validate() (errs error)

type BuiltinDNS

type BuiltinDNS struct {
	// Use the built-in DNS
	Enabled bool `yaml:"enabled,omitempty" envconfig:"kuma_runtime_kubernetes_injector_builtin_dns_enabled"`
	// Redirect port for DNS
	Port uint32 `yaml:"port,omitempty" envconfig:"kuma_runtime_kubernetes_injector_builtin_dns_port"`
}

func (*BuiltinDNS) Sanitize

func (c *BuiltinDNS) Sanitize()

func (*BuiltinDNS) Validate

func (c *BuiltinDNS) Validate() (errs error)

type DataplaneContainer added in v1.8.1

type DataplaneContainer struct {
	// Image name.
	Image string `yaml:"image,omitempty" envconfig:"kuma_runtime_kubernetes_injector_sidecar_container_image"`
	// User ID.
	UID int64 `yaml:"uid,omitempty" envconfig:"kuma_runtime_kubernetes_injector_sidecar_container_uid"`
	// Group ID.
	GID int64 `yaml:"gid,omitempty" envconfig:"kuma_runtime_kubernetes_injector_sidecar_container_gui"`
	// Deprecated: Use KUMA_BOOTSTRAP_SERVER_PARAMS_ADMIN_PORT instead.
	AdminPort uint32 `yaml:"adminPort,omitempty" envconfig:"kuma_runtime_kubernetes_injector_sidecar_container_admin_port"`
	// Drain time for listeners.
	DrainTime time.Duration `yaml:"drainTime,omitempty" envconfig:"kuma_runtime_kubernetes_injector_sidecar_container_drain_time"`
	// Readiness probe.
	ReadinessProbe SidecarReadinessProbe `yaml:"readinessProbe,omitempty"`
	// Liveness probe.
	LivenessProbe SidecarLivenessProbe `yaml:"livenessProbe,omitempty"`
	// Compute resource requirements.
	Resources SidecarResources `yaml:"resources,omitempty"`
	// EnvVars are additional environment variables that can be placed on Kuma DP sidecar
	EnvVars map[string]string `yaml:"envVars" envconfig:"kuma_runtime_kubernetes_injector_sidecar_container_env_vars"`
}

DataplaneContainer defines the configuration of a Kuma dataplane proxy container.

type Exceptions

type Exceptions struct {
	// Labels is a map of labels for exception. If pod matches label with given value Kuma won't be injected. Specify '*' to match any value.
	Labels map[string]string `yaml:"labels" envconfig:"kuma_runtime_kubernetes_exceptions_labels"`
}

Exceptions defines list of exceptions for Kuma injection

type InitContainer

type InitContainer struct {
	// Image name.
	Image string `yaml:"image,omitempty" envconfig:"kuma_injector_init_container_image"`
}

InitContainer defines configuration of the Kuma init container.

func (*InitContainer) Sanitize

func (c *InitContainer) Sanitize()

func (*InitContainer) Validate

func (c *InitContainer) Validate() (errs error)

type Injector

type Injector struct {
	// SidecarContainer defines configuration of the Kuma sidecar container.
	SidecarContainer SidecarContainer `yaml:"sidecarContainer,omitempty"`
	// InitContainer defines configuration of the Kuma init container.
	InitContainer InitContainer `yaml:"initContainer,omitempty"`
	// ContainerPatches is an optional list of ContainerPatch names which will be applied
	// to init and sidecar containers if workload is not annotated with a patch list.
	ContainerPatches []string `yaml:"containerPatches" envconfig:"kuma_runtime_kubernetes_injector_container_patches"`
	// CNIEnabled if true runs kuma-cp in CNI compatible mode
	CNIEnabled bool `yaml:"cniEnabled" envconfig:"kuma_runtime_kubernetes_injector_cni_enabled"`
	// VirtualProbesEnabled enables automatic converting HttpGet probes to virtual. Virtual probe
	// serves on sub-path of insecure port 'virtualProbesPort',
	// i.e :8080/health/readiness -> :9000/8080/health/readiness where 9000 is virtualProbesPort
	VirtualProbesEnabled bool `yaml:"virtualProbesEnabled" envconfig:"kuma_runtime_kubernetes_virtual_probes_enabled"`
	// VirtualProbesPort is a port for exposing virtual probes which are not secured by mTLS
	VirtualProbesPort uint32 `yaml:"virtualProbesPort" envconfig:"kuma_runtime_kubernetes_virtual_probes_port"`
	// SidecarTraffic is a configuration for a traffic that is intercepted by sidecar
	SidecarTraffic SidecarTraffic `yaml:"sidecarTraffic"`
	// Exceptions defines list of exceptions for Kuma injection
	Exceptions Exceptions `yaml:"exceptions"`
	// CaCertFile is CA certificate which will be used to verify a connection to the control plane
	CaCertFile string     `yaml:"caCertFile" envconfig:"kuma_runtime_kubernetes_injector_ca_cert_file"`
	BuiltinDNS BuiltinDNS `yaml:"builtinDNS"`
}

Injector defines configuration of a Kuma Sidecar Injector.

func (*Injector) Sanitize

func (i *Injector) Sanitize()

func (*Injector) Validate

func (i *Injector) Validate() (errs error)

type KubernetesRuntimeConfig

type KubernetesRuntimeConfig struct {
	// Admission WebHook Server implemented by the Control Plane.
	AdmissionServer AdmissionServerConfig `yaml:"admissionServer"`
	// Injector-specific configuration
	Injector Injector `yaml:"injector,omitempty"`
	// MarshalingCacheExpirationTime defines a duration for how long
	// marshaled objects will be stored in the cache. If equal to 0s then
	// cache is turned off
	MarshalingCacheExpirationTime time.Duration `yaml:"marshalingCacheExpirationTime" envconfig:"kuma_runtime_kubernetes_marshaling_cache_expiration_time"`
	// Name of Service Account that is used to run the Control Plane
	ServiceAccountName string `yaml:"serviceAccountName,omitempty" envconfig:"kuma_runtime_kubernetes_service_account_name"`
	// ControlPlaneServiceName defines service name of the Kuma control plane. It is used to point Kuma DP to proper URL.
	ControlPlaneServiceName string `yaml:"controlPlaneServiceName,omitempty" envconfig:"kuma_runtime_kubernetes_control_plane_service_name"`
	// NodeTaintController that prevents applications from scheduling until CNI is ready.
	NodeTaintController NodeTaintController `yaml:"nodeTaintController"`
}

Kubernetes-specific configuration

func DefaultKubernetesRuntimeConfig

func DefaultKubernetesRuntimeConfig() *KubernetesRuntimeConfig

func (*KubernetesRuntimeConfig) Sanitize

func (c *KubernetesRuntimeConfig) Sanitize()

func (*KubernetesRuntimeConfig) Validate

func (c *KubernetesRuntimeConfig) Validate() (errs error)

type NodeTaintController added in v1.8.1

type NodeTaintController struct {
	// If true enables the taint controller.
	Enabled bool `yaml:"enabled" envconfig:"kuma_runtime_kubernetes_node_taint_controller_enabled"`
	// Value of app label on CNI pod that indicates if node can be ready.
	CniApp string `yaml:"cniApp" envconfig:"kuma_runtime_kubernetes_node_taint_controller_cni_app"`
}

func (*NodeTaintController) Validate added in v1.8.1

func (n *NodeTaintController) Validate() error

type SidecarContainer

type SidecarContainer struct {
	DataplaneContainer `yaml:",inline"`
	// Redirect port for inbound traffic.
	RedirectPortInbound uint32 `yaml:"redirectPortInbound,omitempty" envconfig:"kuma_runtime_kubernetes_injector_sidecar_container_redirect_port_inbound"`
	// Redirect port for inbound IPv6 traffic.
	RedirectPortInboundV6 uint32 `` /* 126-byte string literal not displayed */
	// Redirect port for outbound traffic.
	RedirectPortOutbound uint32 `yaml:"redirectPortOutbound,omitempty" envconfig:"kuma_runtime_kubernetes_injector_sidecar_container_redirect_port_outbound"`
}

SidecarContainer defines configuration of the Kuma sidecar container.

func (*SidecarContainer) Sanitize

func (c *SidecarContainer) Sanitize()

func (*SidecarContainer) Validate

func (c *SidecarContainer) Validate() (errs error)

type SidecarLivenessProbe

type SidecarLivenessProbe struct {
	// Number of seconds after the container has started before liveness probes are initiated.
	InitialDelaySeconds int32 `` /* 136-byte string literal not displayed */
	// Number of seconds after which the probe times out.
	TimeoutSeconds int32 `yaml:"timeoutSeconds,omitempty" envconfig:"kuma_runtime_kubernetes_injector_sidecar_container_liveness_probe_timeout_seconds"`
	// How often (in seconds) to perform the probe.
	PeriodSeconds int32 `yaml:"periodSeconds,omitempty" envconfig:"kuma_runtime_kubernetes_injector_sidecar_container_liveness_probe_period_seconds"`
	// Minimum consecutive failures for the probe to be considered failed after having succeeded.
	FailureThreshold int32 `` /* 129-byte string literal not displayed */
}

SidecarLivenessProbe defines periodic probe of container service liveness.

func (*SidecarLivenessProbe) Sanitize

func (c *SidecarLivenessProbe) Sanitize()

func (*SidecarLivenessProbe) Validate

func (c *SidecarLivenessProbe) Validate() (errs error)

type SidecarReadinessProbe

type SidecarReadinessProbe struct {
	// Number of seconds after the container has started before readiness probes are initiated.
	InitialDelaySeconds int32 `` /* 137-byte string literal not displayed */
	// Number of seconds after which the probe times out.
	TimeoutSeconds int32 `` /* 126-byte string literal not displayed */
	// Number of seconds after which the probe times out.
	PeriodSeconds int32 `yaml:"periodSeconds,omitempty" envconfig:"kuma_runtime_kubernetes_injector_sidecar_container_readiness_probe_period_seconds"`
	// Minimum consecutive successes for the probe to be considered successful after having failed.
	SuccessThreshold int32 `` /* 130-byte string literal not displayed */
	// Minimum consecutive failures for the probe to be considered failed after having succeeded.
	FailureThreshold int32 `` /* 130-byte string literal not displayed */
}

SidecarReadinessProbe defines periodic probe of container service readiness.

func (*SidecarReadinessProbe) Sanitize

func (c *SidecarReadinessProbe) Sanitize()

func (*SidecarReadinessProbe) Validate

func (c *SidecarReadinessProbe) Validate() (errs error)

type SidecarResourceLimits

type SidecarResourceLimits struct {
	// CPU, in cores. (500m = .5 cores)
	CPU string `yaml:"cpu,omitempty" envconfig:"kuma_injector_sidecar_container_resources_limits_cpu"`
	// Memory, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024)
	Memory string `yaml:"memory,omitempty" envconfig:"kuma_injector_sidecar_container_resources_limits_memory"`
}

SidecarResourceLimits defines the maximum amount of compute resources allowed.

func (*SidecarResourceLimits) Sanitize

func (c *SidecarResourceLimits) Sanitize()

func (*SidecarResourceLimits) Validate

func (c *SidecarResourceLimits) Validate() (errs error)

type SidecarResourceRequests

type SidecarResourceRequests struct {
	// CPU, in cores. (500m = .5 cores)
	CPU string `yaml:"cpu,omitempty" envconfig:"kuma_injector_sidecar_container_resources_requests_cpu"`
	// Memory, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024)
	Memory string `yaml:"memory,omitempty" envconfig:"kuma_injector_sidecar_container_resources_requests_memory"`
}

SidecarResourceRequests defines the minimum amount of compute resources required.

func (*SidecarResourceRequests) Sanitize

func (c *SidecarResourceRequests) Sanitize()

func (*SidecarResourceRequests) Validate

func (c *SidecarResourceRequests) Validate() (errs error)

type SidecarResources

type SidecarResources struct {
	// Minimum amount of compute resources required.
	Requests SidecarResourceRequests `yaml:"requests,omitempty"`
	// Maximum amount of compute resources allowed.
	Limits SidecarResourceLimits `yaml:"limits,omitempty"`
}

SidecarResources defines compute resource requirements.

func (*SidecarResources) Sanitize

func (c *SidecarResources) Sanitize()

func (*SidecarResources) Validate

func (c *SidecarResources) Validate() (errs error)

type SidecarTraffic

type SidecarTraffic struct {
	// List of inbound ports that will be excluded from interception.
	// This setting is applied on every pod unless traffic.kuma.io/exclude-inbound-ports annotation is specified on Pod.
	ExcludeInboundPorts []uint32 `yaml:"excludeInboundPorts" envconfig:"kuma_runtime_kubernetes_sidecar_traffic_exclude_inbound_ports"`
	// List of outbound ports that will be excluded from interception.
	// This setting is applied on every pod unless traffic.kuma.io/exclude-oubound-ports annotation is specified on Pod.
	ExcludeOutboundPorts []uint32 `yaml:"excludeOutboundPorts" envconfig:"kuma_runtime_kubernetes_sidecar_traffic_exclude_outbound_ports"`
}

Jump to

Keyboard shortcuts

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