istio

package
v1.72.1 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2023 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 17 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

	// 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
}

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