Wednesday, February 22, 2023

OpenShift to MicroShift Resource Mapping

Recently I was approached with the task of understanding what were the resource differences between OpenShift and MicroShift. This is especially important if one is interested in applying governance policies and rules across a fleet of systems that might be a mix of both OpenShift and MicroShift. Knowing the availability of specific resource definitions that might be common or disparate between the two Kubernetes experience can help an administrator know if they can use the same policy across both instances or if they need to specifically craft a policy for one or the other. Given that this information might be important for administrators I decided to map it out.

Below is a table that shows the resource definition and then if defined in OpenShift 4.12, MicroShift 4.12 or both, the corresponding API version.

Resource OpenShift  Microshift  API Version
alertmanagerconfigs Yes No,
alertmanagers Yes No
apirequestcounts Yes No
apiservers Yes No
apiservices Yes Yes
appliedclusterresourcequotas Yes No
authentications Yes No,
baremetalhosts Yes No
bmceventsubscriptions Yes No
brokertemplateinstances Yes No
buildconfigs Yes No
builds Yes No,
catalogsources Yes No
certificatesigningrequests Yes Yes
cloudcredentials Yes No
clusterautoscalers Yes No
clustercsidrivers Yes No
clusteroperators Yes No
clusterresourcequotas Yes No
clusterrolebindings Yes Yes,
clusterroles Yes Yes,
clusterserviceversions Yes No
clusterversions Yes No
componentstatuses Yes Yes v1
configmaps Yes Yes v1
configs Yes No,,
consoleclidownloads Yes No
consoleexternalloglinks Yes No
consolelinks Yes No
consolenotifications Yes No
consoleplugins Yes No,
consolequickstarts Yes No
consoles Yes No,
consoleyamlsamples Yes No
containerruntimeconfigs Yes No
controllerconfigs Yes No
controllerrevisions Yes Yes apps/v1
controlplanemachinesets Yes No
credentialsrequests Yes No
cronjobs Yes Yes batch/v1
csidrivers Yes Yes
csinodes Yes Yes
csisnapshotcontrollers Yes No
csistoragecapacities Yes Yes,
customresourcedefinitions Yes Yes
daemonsets Yes Yes apps/v1
deploymentconfigs Yes No
deployments Yes Yes apps/v1
dnses Yes No,
dnsrecords Yes No
egressfirewalls Yes No
egressips Yes No
egressqoses Yes No
egressrouters Yes No
endpoints Yes Yes v1
endpointslices Yes Yes
etcds Yes No
events Yes Yes v1,
featuregates Yes No
firmwareschemas Yes No
flowschemas Yes Yes,
groups Yes No
hardwaredata Yes No
helmchartrepositories Yes No
horizontalpodautoscalers Yes Yes autoscaling/v1, autoscaling/v2, autoscaling/v2beta2
hostfirmwaresettings Yes No
identities Yes No
imagecontentpolicies Yes No
imagecontentsourcepolicies Yes No
imagepruners Yes No
images Yes No,
imagesignatures Yes No
imagestreams Yes No
imagestreamtags Yes No
imagetags Yes No
infrastructures Yes No
ingressclasses Yes Yes
ingresscontrollers Yes No
ingresses Yes Yes,
insightsoperators Yes No
installplans Yes No
ippools Yes No
jobs Yes Yes batch/v1
kubeapiservers Yes No
kubecontrollermanagers Yes No
kubeletconfigs Yes No
kubeschedulers Yes No
kubestorageversionmigrators Yes No
leases Yes Yes
limitranges Yes Yes v1
machineautoscalers Yes No
machineconfigpools Yes No
machineconfigs Yes No
machinehealthchecks Yes No
machines Yes No
machinesets Yes No
mutatingwebhookconfigurations Yes Yes
namespaces Yes Yes v1
network-attachment-definitions Yes No
networkpolicies Yes Yes
networks Yes No,
nodes Yes Yes v1,,
oauthaccesstokens Yes No
oauthauthorizetokens Yes No
oauthclientauthorizations Yes No
oauthclients Yes No
oauths Yes No
olmconfigs Yes No
openshiftapiservers Yes No
openshiftcontrollermanagers Yes No
operatorconditions Yes No,
operatorgroups Yes No,
operatorhubs Yes No
operatorpkis Yes No
operators Yes No
overlappingrangeipreservations Yes No
packagemanifests Yes No
performanceprofiles Yes No,,
persistentvolumeclaims Yes Yes v1
persistentvolumes Yes Yes v1
poddisruptionbudgets Yes Yes policy/v1
podmonitors Yes No
podnetworkconnectivitychecks Yes No
pods Yes Yes v1,
podtemplates Yes Yes v1
preprovisioningimages Yes No
priorityclasses Yes Yes
prioritylevelconfigurations Yes Yes,
probes Yes No
profiles Yes No
projecthelmchartrepositories Yes No
projectrequests Yes No
projects Yes No,
prometheuses Yes No
prometheusrules Yes No
provisionings Yes No
proxies Yes No
rangeallocations Yes Yes,
replicasets Yes Yes apps/v1
replicationcontrollers Yes Yes v1
resourceaccessreviews Yes No
resourcequotas Yes Yes v1
rolebindingrestrictions Yes No
rolebindings Yes Yes,
roles Yes Yes,
routes Yes Yes
runtimeclasses Yes Yes
schedulers Yes No
secrets Yes Yes v1
securitycontextconstraints Yes Yes
selfsubjectaccessreviews Yes Yes
selfsubjectrulesreviews Yes Yes
serviceaccounts Yes Yes v1
servicecas Yes No
servicemonitors Yes No
services Yes Yes v1
statefulsets Yes Yes apps/v1
storageclasses Yes Yes
storages Yes No
storagestates Yes No
storageversionmigrations Yes No
subjectaccessreviews Yes Yes,
subscriptions Yes No
templateinstances Yes No
templates Yes No
thanosrulers Yes No
tokenreviews Yes Yes,
tuneds Yes No
useridentitymappings Yes No
useroauthaccesstokens Yes No
users Yes No
validatingwebhookconfigurations Yes Yes
volumeattachments Yes Yes
volumesnapshotclasses Yes No
volumesnapshotcontents Yes No
volumesnapshots Yes No