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 ¶
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.