Skip to content

Commit 70485fd

Browse files
authored
Merge pull request #86750 from xenolinux/diff-ocp-hcp
OSDOCS#10488: Differences between OCP and HCP
2 parents 48181d8 + a2311fc commit 70485fd

File tree

2 files changed

+174
-0
lines changed

2 files changed

+174
-0
lines changed

hosted_control_planes/index.adoc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ You can deploy {product-title} clusters by using two different control plane con
99
toc::[]
1010

1111
include::modules/hosted-control-planes-overview.adoc[leveloffset=+1]
12+
include::modules/hcp-ocp-differences.adoc[leveloffset=+1]
13+
14+
[role="_additional-resources"]
15+
.Additional resources
16+
* xref:../security/encrypting-etcd.adoc#encrypting-etcd[Enabling etcd encryption]
17+
1218
include::modules/hcp-mce-acm-relationship-intro.adoc[leveloffset=+1]
1319
include::modules/hcp-acm-discover.adoc[leveloffset=+2]
1420
include::modules/hosted-control-planes-version-support.adoc[leveloffset=+1]

modules/hcp-ocp-differences.adoc

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * hosted_control_planes/index.adoc
4+
5+
:_mod-docs-content-type: REFERENCE
6+
[id="hcp-ocp-differences_{context}"]
7+
= Differences between {hcp} and {product-title}
8+
9+
{hcp-capital} is a form factor of {product-title}. Hosted clusters and the stand-alone {product-title} clusters are configured and managed differently. See the following tables to understand the differences between {product-title} and {hcp}:
10+
11+
12+
[id="cluster-creation_{context}"]
13+
== Cluster creation and lifecycle
14+
15+
[cols="2a,2a",options="header"]
16+
|===
17+
18+
|{product-title} |{hcp-capital}
19+
20+
|You install a standalone {product-title} cluster by using the `openshift-install` binary or the Assisted Installer.
21+
|You install a hosted cluster by using the `hypershift.openshift.io` API resources such as `HostedCluster` and `NodePool`, on an existing {product-title} cluster.
22+
23+
|===
24+
25+
[id="cluster-configuration_{context}"]
26+
== Cluster configuration
27+
28+
[cols="2a,2a",options="header"]
29+
|===
30+
31+
|{product-title} |{hcp-capital}
32+
33+
|You configure cluster-scoped resources such as authentication, API server, and proxy by using the `config.openshift.io` API group.
34+
|You configure resources that impact the control plane in the `HostedCluster` resource.
35+
36+
|===
37+
38+
[id="etcd-encryption_{context}"]
39+
== etcd encryption
40+
41+
[cols="2a,2a",options="header"]
42+
|===
43+
44+
|{product-title} |{hcp-capital}
45+
46+
|You configure etcd encryption by using the `APIServer` resource with AES-GCM or AES-CBC. For more information, see "Enabling etcd encryption".
47+
|You configure etcd encryption by using the `HostedCluster` resource in the `SecretEncryption` field with AES-CBC or KMS for {aws-full}.
48+
49+
|===
50+
51+
[id="operators-and-control-plane_{context}"]
52+
== Operators and control plane
53+
54+
[cols="2a,4a",options="header"]
55+
|===
56+
57+
|{product-title} |{hcp-capital}
58+
59+
|A standalone {product-title} cluster contains separate Operators for each control plane component.
60+
|A hosted cluster contains a single Operator named Control Plane Operator that runs in the hosted control plane namespace on the management cluster.
61+
62+
|etcd uses storage that is mounted on the control plane nodes. The etcd cluster Operator manages etcd.
63+
|etcd uses a persistent volume claim for storage and is managed by the Control Plane Operator.
64+
65+
|The Ingress Operator, network related Operators, and {olm-first} run on the cluster.
66+
|The Ingress Operator, network related Operators, and {olm-first} run in the hosted control plane namespace on the management cluster.
67+
68+
|The OAuth server runs inside the cluster and is exposed through a route in the cluster.
69+
|The OAuth server runs inside the control plane and is exposed through a route, node port, or load balancer on the management cluster.
70+
71+
|===
72+
73+
[id="upgrades_{context}"]
74+
== Updates
75+
76+
[cols="2a,2a",options="header"]
77+
|===
78+
79+
|{product-title} |{hcp-capital}
80+
81+
|The Cluster Version Operator (CVO) orchestrates the update process and monitors the `ClusterVersion` resource. Administrators and OpenShift components can interact with the CVO through the `ClusterVersion` resource. The `oc adm upgrade` command results in a change to the `ClusterVersion.Spec.DesiredUpdate` field in the `ClusterVersion` resource.
82+
|The {hcp} update results in a change to the `.spec.release.image` field in the `HostedCluster` and `NodePools` resources. Any changes to the `ClusterVersion` resource are ignored.
83+
84+
|After you update an {product-title} cluster, both the control plane and compute machines are updated.
85+
|After you update the hosted cluster, only the control plane is updated. You perform node pool updates separately.
86+
87+
|===
88+
89+
[id="machine-config-manage_{context}"]
90+
== Machine configuration and management
91+
92+
[cols="2a,2a",options="header"]
93+
|===
94+
95+
|{product-title} |{hcp-capital}
96+
97+
|The `MachineSets` resource manages machines in the `openshift-machine-api` namespace.
98+
|The `NodePool` resource manages machines on the management cluster.
99+
100+
|A set of control plane machines are available.
101+
|A set of control plane machines do not exist.
102+
103+
|You enable a machine health check by using the `MachineHealthCheck` resource.
104+
|You enable a machine health check through the `.spec.management.autoRepair` field in the `NodePool` resource.
105+
106+
|You enable autoscaling by using the `ClusterAutoscaler` and `MachineAutoscaler` resources.
107+
|You enable autoscaling through the `spec.autoScaling` field in the `NodePool` resource.
108+
109+
|Machines and machine sets are exposed in the cluster.
110+
|Machines, machine sets, and machine deployments from upstream {cluster-capi-operator} are used to manage machines but are not exposed to the user.
111+
112+
|All machine sets are upgraded automatically when you update the cluster.
113+
|You update your node pools independently from the hosted cluster updates.
114+
115+
|Only an in-place upgrade is supported in the cluster.
116+
|Both replace and in-place upgrades are supported in the hosted cluster.
117+
118+
|The Machine Config Operator manages configurations for machines.
119+
|The Machine Config Operator does not exist in {hcp}.
120+
121+
|You configure machine Ignition by using the `MachineConfig`, `KubeletConfig`, and `ContainerRuntimeConfig` resources that are selected from a `MachineConfigPool` selector.
122+
|You configure the `MachineConfig`, `KubeletConfig`, and `ContainerRuntimeConfig` resources through the config map referenced in the `spec.config` field of the `NodePool` resource.
123+
124+
|The Machine Config Daemon (MCD) manages configuration changes and updates on each of the nodes.
125+
|For an in-place upgrade, the node pool controller creates a run-once pod that updates a machine based on your configuration.
126+
127+
|You can modify the machine configuration resources such as the SR-IOV Operator.
128+
|You cannot modify the machine configuration resources.
129+
130+
|===
131+
132+
[id="netowrking_{context}"]
133+
== Networking
134+
135+
[cols="2a,2a",options="header"]
136+
|===
137+
138+
|{product-title} |{hcp-capital}
139+
140+
|The Kube API server communicates with nodes directly, because the Kube API server and nodes exist in the same Virtual Private Cloud (VPC).
141+
|The Kube API server communicates with nodes through Konnectivity. The Kube API server and nodes exist in a different Virtual Private Cloud (VPC).
142+
143+
|Nodes communicate with the Kube API server through the internal load balancer.
144+
|Nodes communicate with the Kube API server through an external load balancer or a node port.
145+
146+
|===
147+
148+
[id="web-console_{context}"]
149+
== Web console
150+
151+
[cols="2a,2a",options="header"]
152+
|===
153+
154+
|{product-title} |{hcp-capital}
155+
156+
|The web console shows the status of a control plane.
157+
|The web console does not show the status of a control plane.
158+
159+
|You can update your cluster by using the web console.
160+
|You cannot update the hosted cluster by using the web console.
161+
162+
|The web console displays the infrastructure resources such as machines.
163+
|The web console does not display the infrastructure resources.
164+
165+
|You can configure machines through the `MachineConfig` resource by using the web console.
166+
|You cannot configure machines by using the web console.
167+
168+
|===

0 commit comments

Comments
 (0)