:_mod-docs-content-type: ASSEMBLY
:context: post-install-node-tasks
[id="post-install-node-tasks"]
= Postinstallation node tasks
include::_attributes/common-attributes.adoc[]

toc::[]

[role="_abstract"]
You can perform postinstallation node tasks to add and manage compute machines, configure node resources and hardware, improve availability, and control workload scheduling.

After installing {product-title}, you can further expand and customize your
cluster to your requirements through certain node tasks.

[id="post-install-config-adding-fcos-compute"]
== Adding {op-system} compute machines to an {product-title} cluster

You can add more {op-system-first} compute machines to your {product-title} cluster on bare metal.

Before you add more compute machines to a cluster that you installed on bare metal infrastructure, you must create {op-system} machines for it to use. You can either use an ISO image or network PXE booting to create the machines.

//Prerequisites also in adding-bare-metal-compute-user-infra.adoc
=== Prerequisites

* You installed a cluster on bare metal.
* You have installation media and {op-system-first} images that you used to create your cluster. If you do not have these files, you must obtain them by following the instructions in the installation procedure.

include::modules/machine-user-infra-machines-iso.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../installing/installing_bare_metal/upi/installing-bare-metal.adoc#installing-bare-metal[Installing a cluster on bare metal]

include::modules/machine-user-infra-machines-pxe.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* link:https://access.redhat.com/articles/7212[How does one set up a serial terminal and/or console in Red Hat Enterprise Linux? (Red{nbsp}Hat Knowledgebase article)]

* link:https://ipxe.org/buildcfg/image_gzip[`IMAGE_GZIP` option in iPXE (iPXE documentation)]

include::modules/installation-approve-csrs.adoc[leveloffset=+2]

include::modules/machine-node-custom-partition.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../installing/installing_bare_metal/upi/installing-bare-metal.adoc#installation-user-infra-machines-advanced_disk_installing-bare-metal[Disk partitioning for {product-title}]

[id="post-installation-config-deploying-machine-health-checks"]
== Deploying machine health checks

Understand and deploy machine health checks.

include::snippets/machine-user-provisioned-limitations.adoc[leveloffset=+2]

include::modules/machine-health-checks-about.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* xref:../machine_management/control_plane_machine_management/cpmso-about.adoc#cpmso-about[About control plane machine sets]

include::modules/machine-health-checks-resource.adoc[leveloffset=+2]

include::modules/machine-health-checks-short-circuiting.adoc[leveloffset=+2]

include::modules/machine-health-checks-creating.adoc[leveloffset=+2]

include::modules/machineset-manually-scaling.adoc[leveloffset=+2]

include::modules/differences-between-machinesets-and-machineconfigpool.adoc[leveloffset=+2]

include::modules/recommended-node-host-practices.adoc[leveloffset=+1]

include::modules/create-a-kubeletconfig-crd-to-edit-kubelet-parameters.adoc[leveloffset=+2]

include::modules/modify-unavailable-workers.adoc[leveloffset=+2]

include::modules/master-node-sizing.adoc[leveloffset=+2]

include::modules/setting-up-cpu-manager.adoc[leveloffset=+2]

[id="post-install-huge-pages"]
== Huge pages
Understand and configure huge pages.

include::modules/what-huge-pages-do.adoc[leveloffset=+2]

include::modules/how-huge-pages-are-consumed-by-apps.adoc[leveloffset=+2]

include::modules/configuring-huge-pages.adoc[leveloffset=+2]

include::modules/nodes-pods-plugins-about.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* link:https://github.com/GoogleCloudPlatform/Container-engine-accelerators/tree/master/cmd/nvidia_gpu[Nvidia GPU device plugin for COS-based operating system]
* link:https://github.com/NVIDIA/k8s-device-plugin[Nvidia official GPU device plugin]
* link:https://github.com/vikaschoudhary16/sfc-device-plugin[Solarflare device plugin]
* link:https://github.com/kubevirt/kubernetes-device-plugins[KubeVirt device plugins: vfio and kvm]
* link:https://github.com/ibm-s390-cloud/k8s-cex-dev-plugin[Kubernetes device plugin for {ibm-name} Crypto Express (CEX) cards]

include::modules/nodes-pods-plugins-device-mgr.adoc[leveloffset=+2]

include::modules/nodes-pods-plugins-install.adoc[leveloffset=+2]

[id="post-install-taints-tolerations"]
== Taints and tolerations
Understand and work with taints and tolerations.

include::modules/nodes-scheduler-taints-tolerations-about.adoc[leveloffset=+2]

include::modules/nodes-scheduler-taints-tolerations-adding.adoc[leveloffset=+2]

include::modules/nodes-scheduler-taints-tolerations-adding-machineset.adoc[leveloffset=+2]

include::modules/nodes-scheduler-taints-tolerations-binding.adoc[leveloffset=+2]

include::modules/nodes-scheduler-taints-tolerations-special.adoc[leveloffset=+2]

include::modules/nodes-scheduler-taints-tolerations-removing.adoc[leveloffset=+2]

[id="post-install-topology-manager"]
== Topology Manager
Understand and work with Topology Manager.

include::modules/topology-manager-policies.adoc[leveloffset=+2]

include::modules/setting-up-topology-manager.adoc[leveloffset=+2]

include::modules/pod-interactions-with-topology-manager.adoc[leveloffset=+2]

include::modules/nodes-cluster-overcommit-resource-requests.adoc[leveloffset=+1]

include::modules/nodes-cluster-resource-override.adoc[leveloffset=+1]

include::modules/nodes-cluster-resource-override-deploy-console.adoc[leveloffset=+2]

include::modules/nodes-cluster-resource-override-deploy-cli.adoc[leveloffset=+2]

include::modules/nodes-cluster-resource-configure.adoc[leveloffset=+2]

include::modules/nodes-cluster-node-overcommit.adoc[leveloffset=+1]

include::modules/nodes-cluster-overcommit-resources-containers.adoc[leveloffset=+2]

include::modules/nodes-cluster-overcommit-qos-about.adoc[leveloffset=+2]

include::modules/nodes-qos-about-swap.adoc[leveloffset=+2]

include::modules/nodes-cluster-overcommit-configure-nodes.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../post_installation_configuration/node-tasks.adoc#nodes-cluster-overcommit-node-enforcing_post-install-node-tasks[Disabling or enforcing CPU limits using CPU CFS quotas]
* xref:../post_installation_configuration/node-tasks.adoc#nodes-cluster-overcommit-node-resources_post-install-node-tasks[Reserving resources for system processes]
* xref:../post_installation_configuration/node-tasks.adoc#qos-about-reserve_post-install-node-tasks[Understanding how to reserve memory across quality of service tiers]

include::modules/nodes-cluster-overcommit-node-enforcing.adoc[leveloffset=+2]

include::modules/nodes-cluster-overcommit-node-resources.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* xref:../nodes/nodes/nodes-nodes-resources-configuring.adoc#nodes-nodes-resources-configuring-setting_nodes-nodes-resources-configuring[Allocating resources for nodes]

include::modules/nodes-cluster-overcommit-node-disable.adoc[leveloffset=+2]

include::modules/nodes-cluster-project-overcommit.adoc[leveloffset=+1]

include::modules/nodes-cluster-overcommit-project-disable.adoc[leveloffset=+2]


[id="post-install-garbage-collection"]
== Freeing node resources using garbage collection
Understand and use garbage collection.

include::modules/nodes-nodes-garbage-collection-containers.adoc[leveloffset=+2]

include::modules/nodes-nodes-garbage-collection-images.adoc[leveloffset=+2]

include::modules/nodes-nodes-garbage-collection-configuring.adoc[leveloffset=+2]

[id="post-using-node-tuning-operator"]
== Using the Node Tuning Operator
Understand and use the Node Tuning Operator.

include::modules/node-tuning-operator.adoc[leveloffset=+2]

include::modules/accessing-an-example-cluster-node-tuning-operator-specification.adoc[leveloffset=+2]

include::modules/custom-tuning-specification.adoc[leveloffset=+2]

include::modules/cluster-node-tuning-operator-default-profiles-set.adoc[leveloffset=+2]

include::modules/node-tuning-operator-supported-tuned-daemon-plug-ins.adoc[leveloffset=+2]

include::modules/nodes-nodes-managing-max-pods-proc.adoc[leveloffset=+1]

[id="nodes-vsphere-scale-static-ip-addresses"]
== Machine scaling with static IP addresses

After you deployed your cluster to run nodes with static IP addresses, you can scale an instance of a machine or a machine set to use one of these static IP addresses.

[role="_additional-resources"]
.Additional resources
* xref:../installing/installing_vsphere/ipi/ipi-vsphere-installation-reqs.adoc#installation-vsphere-installer-infra-requirements_ipi-vsphere-installation-reqs[Static IP addresses for vSphere nodes]

// Scaling machines to use static IP addresses
include::modules/nodes-vsphere-scaling-machines-static-ip.adoc[leveloffset=+2]

// Machine set scaling of machines with configured static IP addresses
include::modules/nodes-vsphere-machine-set-concept-static-ip.adoc[leveloffset=+2]

// Using a machine set to scale machines with configured static IP addresses
include::modules/nodes-vsphere-machine-set-scaling-static-ip.adoc[leveloffset=+2]
