istio

package
v1.97.1 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2024 License: Apache-2.0 Imports: 22 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
	TerminateLoadBalancerProxyProtocol 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