If the KubeKit installation completes without errors, confirm cluster access and verify that the nodes are in Ready state and pods are in Running state:
$ eval $(kubekit get env appcenter) $ kubectl get nodes NAME STATUS ROLES AGE VERSION appcenter-master-01 Ready master 16m v1.12.10 appcenter-master-02 Ready master 16m v1.12.10 appcenter-master-03 Ready master 16m v1.12.10 appcenter-worker-01 Ready worker 16m v1.12.10 appcenter-worker-02 Ready worker 16m v1.12.10 appcenter-worker-03 Ready worker 16m v1.12.10 $ kubectl get pods --all-namespaces
Make sure all Kubernetes master nodes are schedulable:
Get all nodes:
$ kubectl get nodes
For all nodes that have ROLES as master:
$ kubectl describe node <NODE_NAME> | grep Taints
Taints should be set to: "". If master is not schedulable, Taints will have this value:node.kubernetes.io/not-ready:NoScheduleIf not all Kubernetes master nodes are schedulable, you must reapply KubeKit with the master_schedulable_enabled flag set to true. For more information, see Initializing and Editing the Cluster Configuration.
Make sure that Rook is not installed:
$ kubectl get ns | grep rook $ kubectl get pods -n <namespace from above list>
If Rook is installed, you need to reapply KubeKit with the rook_enabled flag set to false. For more information, see Initializing and Editing the Cluster Configuration.
If multiple Rook namespaces are returned, make sure no pods are deployed in any of them.
Rook resources are not considered for resource estimation.
- Make sure every node has minimum recommended resources as described in Software Requirements.
From each Kubernetes node, check node capacity:
kubectl describe node <NODE_NAME> | grep -a6 Capacity
- Get all nodes:
- If errors are encountered or KubeKit exits prior to a successful configuration, open appcenter.log to search for the reasons.