Whether you’re launching a new Replica Set or re-using an old one, you’ll need to know the difference between available replicas and readyreplicas. They’re different, but they’re often used in tandem. During a successful rollout, you may see both, but a rollout that fails may leave you with only one. A ReplicaSet is a top-level resource in Kubernetes’ REST API. It can be accessed using kubectl get rs.
The availableReplicas property is a pointer to the number of replicas available to users. You can choose to either manually or automatically set this value. You can also specify a percentage of the desired number of replicas. In the case of a spec with a specified replica count, the availableReplicas property is a useful way to compare the number of available replicas in your deployment against the number of replicas that are actually available.
The readyReplicas property is the same as availableReplicas, but also contains the number of replicas that are actually available to users. For example, if you want to create 5 replicas of nginx:1.9.1, you can do so by setting availableReplicas to 5 and readyReplicas to 1. If you want to create 5 replicas of ssh:1.1, you can set readyReplicas to 5 and availableReplicas to 1.
The availableReplicas property is not as useful as the readyReplicas property, since it cannot be used to compare the number of available replicas against the number of replicas that are actually running. The ideal value is dependent on how often you’re deploying new resources, and how stable those new resources are. In addition, you may want to specify an absolute number. This is a useful way to ensure that your deployment has enough resources to handle traffic load while you’re testing.
The kubectl rollout status command reports on the progress of your rollout. The output of this command shows the number of Pods that were created, and the number of replicas that were rolled out. In addition, the output also shows the status of the Deployment. This will tell you whether or not the rollout was a success. If it was a failure, you’ll see a failure reason in the status.
The kubectl get rs command also contains a list of ReplicaSets. You can see the names of all the ReplicaSets in your namespace. You can also see the YAML files for the deployed resources. A ReplicaSet can be a useful resource if you need to maintain a stable set of replica Pods. You can use a ReplicaSet to replace Pods that have been terminated due to a node failure or due to disruptive node maintenance. You can also use a ReplicaSet to monitor the status of multiple Pods across multiple nodes. If you want to keep track of a single Pod, you can use the kubectl get pod command. You can also use this command to retrieve the YAML file of a pod.
The kubectl rs command also lists the Pods that were created, and the ones that are ready. The pods’ name and phase are also displayed. You’ll also see the Pod template used to create the Pods, and the health and version of the pods. The pods’ status section also lists other conditions, such as PodScheduled, Ready, and Unschedulable.