instruction: Create a Dockerfile for workloads
output: ```dockerfile
  from the system may be taken into account, we may add more controls over the replacement policy, and we plan to emit events that could be used by external clients to implement arbitrarily sophisticated replacement and/or scale-down policies.The ReplicationController is forever constrained to this narrow responsibility. It itself will not perform readiness nor liveness probes. Rather than performing auto-scaling, it is intended to be controlled by an external auto-scaler (as discussed in #492), which would change its replicas field. We will not add scheduling policies (for example, spreading) to the ReplicationController. Nor should it verify that the pods controlled match the currently specified template, as that would obstruct auto-sizing and other automated processes. Similarly, completion deadlines, ordering dependencies, configuration expansion, and other features belong elsewhere. We even plan to factor out the mechanism for bulk pod creation (#170).The ReplicationController is intended to be a composable building-block primitive. We expect higher-level APIs and/or tools to be built on top of it and other complementary primitives for user convenience in the future. The "macro" operations currently supported by kubectl (run, scale) are proof-of-concept examples of this. For instance, we could imagine something like Asgard managing ReplicationControllers, auto-scalers, services, scheduling policies, canaries, etc.API ObjectReplication controller is a top-level resource in the Kubernetes REST API. More details about the
  API object can be found at:
  ReplicationController API object.Alternatives to ReplicationControllerReplicaSetReplicaSet is the next-generation ReplicationController that supports the new set-based label selector.
  It's mainly used by Deployment as a mechanism to orchestrate pod creation, deletion and updates.
  Note that we recommend using Deployments instead of directly using Replica Sets, unless you require custom update orchestration or don't require updates at all.Deployment (Recommended)Deployment is a higher-level API object that updates its underlying Replica Sets and their Pods. Deployments are recommended if you want the rolling update functionality, because they are declarative, server-side, and have additional features.Bare PodsUnlike in the case where a user directly created pods, a ReplicationController replaces pods that are deleted or terminated for any reason, such as in the case of node failure or disruptive node maintenance, such as a kernel upgrade. For this reason, we recommend that you use a ReplicationController even if your application requires only a single pod. Think of it similarly to a process supervisor, only it supervises multiple pods across multiple nodes instead of individual processes on a single node. A ReplicationController delegates local container restarts to some agent on the node, such as the kubelet.JobUse a Job instead of a ReplicationController for pods that are expected to terminate on their own
  (that is, batch jobs).DaemonSetUse a DaemonSet instead of a ReplicationController for pods that provide a
  machine-level function, such as machine monitoring or machine logging. These pods have a lifetime that is tied
  to a machine lifetime: the pod needs to be running on the machine before other pods start, and are
  safe to terminate when the machine is otherwise ready to be rebooted/shutdown.What's nextLearn about Pods.Learn about Deployment, the replacement
  for ReplicationController.ReplicationController is part of the Kubernetes REST API.
  Read the
  ReplicationController
  object definition to understand the API for replication controllers.FeedbackWas this page helpful?Yes
  NoThanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on
  Stack Overflow.
  Open an issue in the GitHub Repository if you want to
  report a problem
  or
  suggest an improvement.Last modified March 14, 2024 at 2:28 PM PST: Add metadata to use mechanism for API reference links (c889d9b251) ReplicationController API reference
    Create child page
   Create an issue
   Print entire sectionHow a ReplicationController worksRunning an example ReplicationControllerWriting a ReplicationController ManifestPod TemplateLabels on the ReplicationControllerPod SelectorMultiple ReplicasWorking with ReplicationControllersDeleting a ReplicationController and its PodsDeleting only a ReplicationController<a href=#isolating-pods-
  ```