tencent cloud

Feedback

Supernodes FAQs

Last updated: 2022-05-24 11:10:43

    How do I prohibit a Pod from being scheduled to a pay-as-you-go supernodes?

    By default, an ordinary TKE cluster will automatically schedule a Pod to a pay-as-you-go supernodes after a node pool of the pay-as-you-go supernodes type is added to it when node resources are insufficient. An elastic cluster will automatically schedule Pod randomly at multiple pay-as-you-go supernodes.

    If you do not want to schedule a Pod to some pay-as-you-go supernodes (which represents a certain subnet/availability zone), you can cordon the pay-as-you-go supernodes in the following two ways:

    • Cordon nodes via the TKE console. For more information, see Cordoning a Node.
    • Prohibit scheduling by executing the following command through the command line:
      $kubectl cordon $pay-as-you-go supernodes name
      

    How do I prohibit ordinary TKE clusters from automatically scheduling a Pod to a pay-as-you-go supernodes in case of resource inadequacy?

    You need to create a configmap called “eks-config” in the kube-system namespace by running the following command:

    $kubectl create configmap eks-config --from-literal=AUTO_SCALE_EKS=false
    

    Specify the value of AUTO_SCALE_EKS as false, and you can disable the automatic scheduling mechanism to prohibit ordinary TKE clusters from automatically scheduling a Pod to a pay-as-you-go supernodes.

    How do I manually schedule a Pod to a pay-as-you-go supernodes?

    By default, a pay-as-you-go supernodes automatically adds taints to lower the scheduling priority. If you want to manually schedule a Pod to a (specified) pay-as-you-go supernodes, you need to add corresponding tolerations for the Pod. However, not all the Pods can be scheduled to pay-as-you-go supernodes. For more information, see Notes for Scheduling Pod to Supernodes. For the sake of convenience, you can specify nodeselector in Pod Spec, as shown below;

    spec:    
      nodeSelector:
        node.kubernetes.io/instance-type: eklet
    

    Or specify nodename in Pod Spec, as shown below:

    spec:
      nodeName: $pay-as-you-go supernodes name
    

    TKE’s control components will judge whether the Pod can be scheduled to a pay-as-you-go supernodes. If not, the Pod will not be scheduled to the pay-as-you-go supernodes.

    How do I forcibly schedule a Pod to a pay-as-you-go supernodes, no matter whether the pay-as-you-go supernodes supports the Pod?

    Note:

    If you forcibly schedule a Pod to a pay-as-you-go supernodes, the Pod may fail to be created. For information on the cause of he failure, see How do I manually schedule a Pod to a pay-as-you-go supernodes?.

    If you need to forcibly schedule a Pod to a pay-as-you-go supernodes, you not only need to specify nodeselector or nodename for the Pod but also add corresponding tolerations.

    1. Specify nodeselector in Pod Spec, as shown below:

      spec:    
        nodeSelector:
          node.kubernetes.io/instance-type: eklet
      

      Or specify nodename in Pod Spec, as shown below:

      spec: 
        nodeName: $pay-as-you-go supernodes name
      
    1. Add tolerations for the Pod, as shown below:
      spec: 
        tolerations: 
        - effect: NoSchedule
          key: eks.tke.cloud.tencent.com/eklet
          operator: Exists
      

    How do I customize DNS configuration for a pay-as-you-go supernodes?

    EKS supports pay-as-you-go supernodes. You can specify annotations in a YAML file to implement capabilities such as custom DNS. For more information, see Pay-as-you-go Supernodes Annotation Description.

    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support