text: Title: HPA desired replicas not respecting minReplicas when set to 1
  Body: <!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks!
  
  If the matter is security related, please disclose it privately via https://kubernetes.io/security/
  -->
  
  
  #### What happened:
  
  When deploying a HorizontalPodAutoscaler (HPA) with `minReplicas` set to `1`, the `desired` replicas is set to `0`
  
  #### What you expected to happen:
  
  I expect that the `desired` replicas should fall with the range of `minReplicas` and `maxReplicas` and, in this case, should be calculated to be `1`
  
  #### How to reproduce it (as minimally and precisely as possible):
  
  Deploy this manifest:
  
  ```yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: busybox
    namespace: default
    labels:
      app: busybox
  spec:
    selector:
      matchLabels:
        app: busybox
    template:
      metadata:
        labels:
          app: busybox
      spec:
        containers:
        - image: busybox
          command: ['sh', '-c', 'echo Container 1 is Running ; sleep 3600']
          imagePullPolicy: IfNotPresent
          name: busybox
  ---
  apiVersion: autoscaling/v1
  kind: HorizontalPodAutoscaler
  metadata:
    name: busybox
    namespace: default
  spec:
      scaleTargetRef:
          apiVersion: apps/v1
          kind: Deployment
          name: busybox
      minReplicas: 1
      maxReplicas: 4
      targetCPUUtilizationPercentage: 80
  ```
  
  The resulting HPA never sets `desired` replica count to the minimum replicas of `1`
  
  ```
  $ kubectl describe hpa busybox
  Name:                                                  busybox
  Namespace:                                             default
  Labels:                                                <none>
  Annotations:                                           <none>
  CreationTimestamp:                                     Fri, 28 May 2021 09:43:03 -0400
  Reference:                                             Deployment/busybox
  Metrics:                                               ( current / target )
    resource cpu on pods  (as a percentage of request):  <unknown> / 80%
  Min replicas:                                          1
  Max replicas:                                          4
  Deployment pods:                                       1 current / 0 desired
  Conditions:
    Type           Status  Reason                   Message
    ----           ------  ------                   -------
    AbleToScale    True    SucceededGetScale        the HPA controller was able to get the target's current scale
    ScalingActive  False   FailedGetResourceMetric  the HPA was unable to compute the replica count: missing request for cpu
  Events:
    Type     Reason                        Age   From                       Message
    ----     ------                        ----  ----                       -------
    Warning  FailedGetResourceMetric       13s   horizontal-pod-autoscaler  missing request for cpu
    Warning  FailedComputeMetricsReplicas  13s   horizontal-pod-autoscaler  failed to compute desired number of replicas based on listed metrics for Deployment/default/busybox: invalid metrics (1 invalid out of 1), first error is: failed to get cpu utilization: missing request for cpu
  ```
    
  #### Anything else we need to know?:
  
  I realize that in my example, the HPA is unable to read the resource metric and that may be a contributing factor in the calculation of the `desired` replica count.  However, when `minReplicas` is set higher than `1`, then the `desired` replica count is calculated to be vale of `minReplicas`.  For example, deploying the same manifest as before with the only change is setting `minReplicas` to `2`.
  
  ```yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: busybox
    namespace: default
    labels:
      app: busybox
  spec:
    selector:
      matchLabels:
        app: busybox
    template:
      metadata:
        labels:
          app: busybox
      spec:
        containers:
        - image: busybox
          command: ['sh', '-c', 'echo Container 1 is Running ; sleep 3600']
          imagePullPolicy: IfNotPresent
          name: busybox
  ---
  apiVersion: autoscaling/v1
  kind: HorizontalPodAutoscaler
  metadata:
    name: busybox
    namespace: default
  spec:
      scaleTargetRef:
          apiVersion: apps/v1
          kind: Deployment
          name: busybox
      minReplicas: 2
      maxReplicas: 4
      targetCPUUtilizationPercentage: 80
   ```
  
  The resulting HPA has a `desired` replica count set to the minimum replicas of `2`
  
  ```
  $ k describe hpa busybox
  Name:                                                  busybox
  Namespace:                                             default
  Labels:                                                <none>
  Annotations:                                           <none>
  CreationTimestamp:                                     Fri, 28 May 2021 09:48:25 -0400
  Reference:                                             Deployment/busybox
  Metrics:                                               ( current / target )
    resource cpu on pods  (as a percentage of request):  <unknown> / 80%
  Min replicas:                                          2
  Max replicas:                                          4
  Deployment pods:                                       2 current / 2 desired
  Conditions:
    Type           Status  Reason                   Message
    ----           ------  ------                   -------
    AbleToScale    True    SucceededGetScale        the HPA controller was able to get the target's current scale
    ScalingActive  False   FailedGetResourceMetric  the HPA was unable to compute the replica count: missing request for cpu
  Events:
    Type     Reason                        Age                From                       Message
    ----     ------                        ----               ----                       -------
    Normal   SuccessfulRescale             2m10s              horizontal-pod-autoscaler  New size: 2; reason: Current number of replicas below Spec.MinReplicas
    Warning  FailedGetResourceMetric       5s (x8 over 113s)  horizontal-pod-autoscaler  missing request for cpu
    Warning  FailedComputeMetricsReplicas  5s (x8 over 113s)  horizontal-pod-autoscaler  failed to compute desired number of replicas based on listed metrics for Deployment/default/busybox: invalid metrics (1 invalid out of 1), first error is: failed to get cpu utilization: missing request for cpu
  ```
  
  The behavior should be consistent no matter the value of `minReplicas`.
  
  #### Environment:
  - Kubernetes version (use `kubectl version`):
  ```
     Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.7", GitCommit:"1dd5338295409edcfff11505e7bb246f0d325d15", GitTreeState:"clean", BuildDate:"2021-01-13T13:23:52Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"darwin/amd64"}
     Server Version: version.Info{Major:"1", Minor:"19+", GitVersion:"v1.19.9-gke.1400", GitCommit:"ec68c7064ea987ad0c7fb63930df96bdefeb93c4", GitTreeState:"clean", BuildDate:"2021-04-07T09:20:04Z", GoVersion:"go1.15.8b5", Compiler:"gc", Platform:"linux/amd64"}
  ```
  - Cloud provider or hardware configuration: Google Kubernetes Engine
  