Documentation ¶
Index ¶
- Variables
- func NewIngress(c client.Client, namespace string, values IngressValues) component.Deployer
- func NewInternalNameService(c client.Client, namespace string) component.Deployer
- func NewSNI(client client.Client, name string, namespace string, ...) component.DeployWaiter
- func NewService(log logr.Logger, cl client.Client, namespace string, values *ServiceValues, ...) component.DeployWaiter
- type APIServerProxy
- type IngressValues
- type IstioIngressGateway
- type SNIValues
- type ServiceValues
Constants ¶
This section is empty.
Variables ¶
var ( // DefaultInterval is the default interval for retry operations. DefaultInterval = 5 * time.Second // DefaultTimeout is the default timeout and defines how long Gardener should wait // for a successful reconciliation of the service resource. DefaultTimeout = 10 * time.Minute )
Functions ¶
func NewIngress ¶
NewIngress creates a new instance of Deployer for the ingress used to expose the kube-apiserver.
func NewInternalNameService ¶
NewInternalNameService creates a new instance of Deployer for the service kubernetes.default.svc.cluster.local.
func NewSNI ¶
func NewSNI( client client.Client, name string, namespace string, valuesFunc func() *SNIValues, ) component.DeployWaiter
NewSNI creates a new instance of DeployWaiter which deploys Istio resources for kube-apiserver SNI access.
func NewService ¶
func NewService( log logr.Logger, cl client.Client, namespace string, values *ServiceValues, sniServiceKeyFunc func() client.ObjectKey, waiter retry.Ops, clusterIPFunc func(clusterIP string), ingressFunc func(ingressIP string), clusterIP string, ) component.DeployWaiter
NewService creates a new instance of DeployWaiter for the Service used to expose the kube-apiserver. <waiter> is optional and defaulted to github.com/gardener/gardener/pkg/utils/retry.DefaultOps().
Types ¶
type APIServerProxy ¶
APIServerProxy contains values for the APIServer proxy protocol configuration.
type IngressValues ¶
type IngressValues struct { // Host is the host where the kube-apiserver should be exposed. Host string // IstioIngressGatewayLabelsFunc is a function returingin the labels identifying the corresponding istio ingress gateway. IstioIngressGatewayLabelsFunc func() map[string]string // IstioIngressGatewayNamespaceFunc is a function returning the namespace of the corresponding istio ingress gateway. IstioIngressGatewayNamespaceFunc func() string // ServiceName is the name of the service the ingress is using. ServiceName string // ServiceNamespace is the namespace of the service the ingress is using. ServiceNamespace string // TLSSecretName is the name of the TLS secret. // If no secret is provided TLS is not terminated by nginx. TLSSecretName *string }
IngressValues configure the kube-apiserver ingress.
type IstioIngressGateway ¶
IstioIngressGateway contains the values for istio ingress gateway configuration.
type SNIValues ¶
type SNIValues struct { Hosts []string APIServerProxy *APIServerProxy IstioIngressGateway IstioIngressGateway }
SNIValues configure the kube-apiserver service SNI.
type ServiceValues ¶
type ServiceValues struct { // AnnotationsFunc is a function that returns annotations that should be added to the service. AnnotationsFunc func() map[string]string // NamePrefix is the prefix for the service name. NamePrefix string // TopologyAwareRoutingEnabled indicates whether topology-aware routing is enabled for the kube-apiserver service. TopologyAwareRoutingEnabled bool // RuntimeKubernetesVersion is the Kubernetes version of the runtime cluster. RuntimeKubernetesVersion *semver.Version }
ServiceValues configure the kube-apiserver service.