istio

package
v1.90.5 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2024 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 21 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 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