Troubleshooting Guide for Hostspace Kubernetes Engine (HKE)

Troubleshooting Guide for Hostspace Kubernetes Engine (HKE)

This troubleshooting guide is designed to help you quickly diagnose and resolve common issues you might encounter with Hostspace Kubernetes Engine. For more in-depth support, please contact our customer service team.

1. Common Issues and Solutions

Issue: Cluster Fails to Create

  • Symptom: The cluster creation process fails and returns an error message such as "Cluster creation failed."

  • Possible Causes and Solutions:

    • Incorrect Instance IP: Ensure the IP address is correctly entered and accessible over the internet.

    • SSH Key Issues: Verify that the SSH key is correctly pasted and has appropriate permissions.

    • Firewall Restrictions: Check if the necessary ports (22 for SSH, 6443 for Kubernetes API) are open on your VM’s firewall.

Issue: Cannot Connect to the Cluster

  • Symptom: Errors when trying to connect to the cluster using kubectl or other management tools.

  • Possible Causes and Solutions:

    • Kubeconfig File Not Set Up Properly: Ensure that the kubeconfig file is correctly configured and that you are pointing to it correctly with your kubectl commands.

    • Network Issues: Verify network settings and ensure there are no VPN or firewall settings blocking access to the cluster.

Issue: Performance Issues or Slow Response

  • Symptom: Cluster is unusually slow or unresponsive.

  • Possible Causes and Solutions:

    • Resource Limits: Ensure that the VM and Kubernetes cluster have enough resources (CPU, memory) allocated.

    • High Load: Check the load on your cluster nodes and scale up if necessary.

Issue: Nodes Intermittently Switching Between NotReady and Ready

  • Symptom: Nodes in the cluster periodically switch between NotReady and Ready states.

  • Possible Causes and Solutions:

    • Low RAM Memory:

      • The node might enter a NotReady state when memory is low. To check the available memory, use the following command:

        free -h
      • If the free memory is low, this can cause the node to go into the NotReady state. Consider adding more memory or optimizing the workloads running on the node.

Issue: Uneven Node Utilization (Overutilized and Underutilized Nodes)

  • Symptom: Some nodes are heavily utilized, while others are underutilized in the cluster.

  • Possible Causes and Solutions:

    • Node Labels and Taints:

      • Ensure that the workloads are distributed properly across nodes by using Node labels to specify which pods can run on which nodes. Eaxample of adding a label to a node:

        kubectl label nodes <node-name> <label-key>=<lable-value:NoSchedule>
      • You can use Taints to prevent certain pods from running on specific nodes unless they have a matching toleration. This can be used to prioritize workloads on different node types based on resource capacity. Example of adding a taint to a node:

        kubectl taint nodes <node-name> key=value:NoSchedule
    • Pod NodeSelection and Tolerations:

      • Use NodeSelectors or Affinity rules in the pod specification to assign specific pods to nodes with desired labels. This helps balance the workloads across nodes.

        Example NodeSelector in a pod spec:

        nodeSelector:
          key: value

        Example Tolerations for taints:

        tolerations:
        - key: "key"
          operator: "Equal"
          value: "value"
          effect: "NoSchedule"

        Adjusting node selection and tolerations can help distribute workloads more evenly, ensuring that some nodes are not overutilized while others remain underutilized.

2. FAQs

  • Q: How do I update my Kubernetes version on HKE?

  • A: HKE allows rolling updates, which you can initiate from your dashboard. Always ensure you have backups before performing an update.

  • Q: What are the recommended security practices for my Kubernetes cluster?

  • A: Use role-based access control (RBAC), keep your clusters updated, and restrict network access using firewalls and network policies.

3. Diagnostic Tools and Commands

  • View Logs: Use kubectl logs <pod-name> to view the logs of a specific pod, which can provide insight into what might be going wrong.

  • Check Cluster Status: kubectl get nodes to see the status of your nodes.

  • Resource Usage: kubectl top nodes and kubectl top pods to check the resource usage.

4. Contact Support

If you are unable to resolve your issues with the provided solutions, do not hesitate to contact our support team:

5. Additional Resources

  • Documentation: Visit our online documentation for detailed guides and additional resources.

  • Community Forum: Engage with other users and experts in our community forum.

Last updated