istio

package
v1.88.3 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultZoneKey is the label key for the istio default ingress gateway.
	DefaultZoneKey = "istio"
	// IstiodServiceName is the name of the istiod service.
	IstiodServiceName = "istiod"
	// IstiodPort is the port of the istiod service.
	IstiodPort = 15012
	// PortWebhookServer is the port of the validating webhook server.
	PortWebhookServer = 10250
)

Variables

View Source
var TimeoutWaitForManagedResource = 2 * time.Minute

TimeoutWaitForManagedResource is the timeout used while waiting for the ManagedResources to become healthy or deleted.

Functions

func AggregateMonitoringConfiguration

func AggregateMonitoringConfiguration() (component.AggregateMonitoringConfig, error)

AggregateMonitoringConfiguration returns scrape configs for the aggregate Prometheus.

func ManagedResourceNames

func ManagedResourceNames(istiodEnabled bool, namePrefix string) []string

ManagedResourceNames returns the names of the `ManagedResource`s being used by Istio.

func NewCRD

func NewCRD(
	applier kubernetes.ChartApplier,
) component.DeployWaiter

NewCRD can be used to deploy istio CRDs.

Types

type IngressGatewayValues

type IngressGatewayValues struct {
	Annotations              map[string]string
	Labels                   map[string]string
	NetworkPolicyLabels      map[string]string
	ExternalTrafficPolicy    *corev1.ServiceExternalTrafficPolicyType
	Image                    string
	IstiodNamespace          string
	LoadBalancerIP           *string
	MaxReplicas              *int
	MinReplicas              *int
	Namespace                string
	PriorityClassName        string
	TrustDomain              string
	ProxyProtocolEnabled     bool
	VPNEnabled               bool
	Zones                    []string
	DualStack                bool
	EnforceSpreadAcrossHosts bool

	// Ports is a list of all Ports the istio-ingress gateways is listening on.
	// Port 15021 and 15000 cannot be used.
	Ports []corev1.ServicePort
}

IngressGatewayValues holds values for the istio-ingress chart. The only opened port is 15021.

type Interface

type Interface interface {
	component.DeployWaiter
	// AddIngressGateway adds another ingress gateway to the existing Istio deployer.
	AddIngressGateway(values IngressGatewayValues)
	// GetValues returns the configured values of the Istio deployer.
	GetValues() Values
}

Interface contains functions for an Istio deployer.

func NewIstio

func NewIstio(
	client client.Client,
	chartRenderer chartrenderer.Interface,
	values Values,
) Interface

NewIstio can be used to deploy istio's istiod in a namespace. Destroy does nothing.

type IstiodValues

type IstiodValues struct {
	// Enabled controls if `istiod` is deployed.
	Enabled bool
	// Namespace (a.k.a. Istio-System namespace) is the namespace `istiod` is deployed to.
	Namespace string
	// Image is the image used for the `istiod` deployment.
	Image string
	// PriorityClassName is the name of the priority class used for the Istiod deployment.
	PriorityClassName string
	// TrustDomain is the domain used for service discovery, e.g. `cluster.local`.
	TrustDomain string
	// Zones are the availability zones used for this `istiod` deployment.
	Zones []string
	// DualStack
	DualStack bool
}

IstiodValues contains configuration values for the Istiod component.

type Values

type Values struct {
	// Istiod are configuration values for the istiod chart.
	Istiod IstiodValues
	// IngressGateway are configuration values for ingress gateway deployments and objects.
	IngressGateway []IngressGatewayValues
	// NamePrefix can be used to prepend arbitrary identifiers to resources which are deployed to common namespaces.
	NamePrefix string
}

Values contains configuration values for the Istio component.

Jump to

Keyboard shortcuts

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