dnsoperator

package
v0.1.26 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ReconcileDeployment

func ReconcileDeployment(dep *appsv1.Deployment, params Params, platformType hyperv1.PlatformType)

ReconcileDeployment reconciles a deployment of the DNS operator, which runs in the management cluster and manages operands in a hosted cluster. For non-HyperShift clusters, the DNS operator is deployed by cluster-version-operator with the following manifest: <https://github.com/openshift/cluster-dns-operator/blob/master/manifests/0000_70_dns-operator_02-deployment.yaml>. For HyperShift, the deployment differs from non-HyperShift clusters in the following ways:

* The operator is configured with a kubeconfig for the managed cluster.

  • The operator metrics are exposed using cleartext rather than being protected using kube-rbac-proxy. (However, CoreDNS's metrics are still protected using kube-rbac-proxy on the hosted cluster.)

  • The operator has HyperShift-specific annotations, labels, owner reference, and affinity rules and omits the node selector for control-plane nodes.

  • The operator has an init container that probes the hosted cluster's kube-apiserver to verify that the dnses.operator.openshift.io API is available.

The DNS operator does not require access to the cloud platform API, hosted-cluster services, or external services, so the operator does not require any special proxy configuration or permissions in the management cluster.

Types

type Images

type Images struct {
	DNSOperator   string
	CoreDNS       string
	KubeRBACProxy string
	CLI           string
}

Images stores the image pullspecs for the images that the DNS operator deployment references.

type Params

type Params struct {
	// ReleaseVersion is the HyperShift release version.
	ReleaseVersion string
	// AvailabilityProberImage is the image for the prober, which runs on
	// the management cluster and probes the DNS operator.
	AvailabilityProberImage string
	// Images has the image pullspecs that the DNS operator deployment
	// references.
	Images Images
	// DeploymentConfig has information about the DNS operator deployment.
	DeploymentConfig config.DeploymentConfig
}

Params stores the parameters that are required to configure the DNS operator deployment on HyperShift, as well as some additional information about the deployment.

func NewParams

func NewParams(hcp *hyperv1.HostedControlPlane, version string, releaseImageProvider *imageprovider.ReleaseImageProvider, userReleaseImageProvider *imageprovider.ReleaseImageProvider, setDefaultSecurityContext bool) Params

NewParams creates a new Params object for a DNS operator deployment.

Jump to

Keyboard shortcuts

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