Database instances provisioned via VCF Automation using VMware Data Services Manager (DSM) fail to reach a Ready state. The management interface displays a Critical status alert, and the instances remain in an InProgress or NotOperational state.
Warning FailedScheduling 67s default-scheduler 0/1 nodes are available: 1 Insufficient memory. preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod.message: >-
database node ######-0 (unknown) is not ready (unknown) | database
node ######-monitor-0 (monitor) is ready
observedGeneration: 1
reason: NotOperational
sudo su on the machine, the following symptoms may be observed on the database pod(s)kubectl get pods -A --kubeconfig=/etc/kubernetes/admin.conf
NAMESPACE NAME READY STATUS RESTARTS
<namespace> <db-pod-instance>-0 0/4 Pending 0
kubectl describe pod -n <namespace> <db-pod-instance>-0 --kubeconfig=/etc/kubernetes/admin.confEvents:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 67s (x558 over 1h) default-scheduler 0/1 nodes are available: 1 Insufficient memory.
preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod.
kubectl get namespace vmware-system-vksm --kubeconfig=/etc/kubernetes/admin.conf
NAME STATUS AGE
vmware-system-vksm Active 9h
VCF Automation 9.0.1, 9.1
VMware Data Services Manager (DSM) 9.0.x, 9.1
The VCF Automation VKS Cluster Management (VKSM) auto-attach integration automatically deploys management services onto DSM database cluster nodes. These management workloads consume node memory and CPU resources, causing the Kubernetes scheduler to reject database pod placement due to insufficient resources.
This issue is targeted to be fixed in a future release. To resolve the scheduling conflict in the current version, exclude the affected namespace from the VKSM auto-attach configuration.
To workaround this issue
Use the kubectl-vsphere plugin tool.
kubectl-vsphere login --server <Supervisor IP or hostname>kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
###.###.##.# ###.###.##.# wcp:###.###.##.#:<username@domain> vcfa-provisioned-namespace
svc-auto-attach-domain-### ###.###.##.# wcp:###.###.##.#:<username@domain> svc-auto-attach-domain-###kubectl config use-context svc-auto-attach-domain-###kubectl get configmap auto-attach-configNAME DATA AGEauto-attach-config 1 7h56mkubectl get configmap auto-attach-config -o yaml > auto-attach-config.yaml
The config map can be edited directly using kubectl editkubectl edit configmap auto-attach-config -n svc-auto-attach-domain-###
# Edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
ApiVersion: v1data:
hostname: <vcf-automation-fqdn>
exclusions: |
- namespace: vcfa-provisioned-namespacekind: ConfigMap
metadata:
annotations:
updatedAt: "####-##-##T##:##:##Z"
creationTimestamp: "####-##-##T##:##:##Z"
name: auto-attach-config
namespace: svc-auto-attach-domain-###
resourceVersion: "1570042"
uid: 5db240f2-3c94-4abd-94f4-d484d5ebd0dbThis removes the VKSM management pods and namespace, allowing the database pod to start.
The database instance should progress and go to Ready state
Note: Excluding the VKSM integration from a namespace/specific vSphere Kubernetes Service clusters will prevent management of VKS clusters from VCF Automation via the vSphere Kubernetes Service Cluster Management view.
Alternatively using a text editor, create a yaml file , e.g. exclusion.yaml to modify the config map, to exclude the namespace identified on step 2
In the example above the entire DSM namespace, vcfa-provisioned-namespace, is excluded from VKSM.
Which means all the clusters that will created in that namespace will also be excluded.
However it is possible to exclude specific clusters in a namespace by filling in the clusterName variable.
Apply the modified config map using kubectl applykubectl apply -f exclusion.yaml
To speak with a customer representative or a Support Engineer, see . Scroll to the bottom of the page and click on your respective region.
With the release of VCF Automation 9.0.1, VCF Automation deployments may include a new VKS cluster management features that integrate with deployed DSM database clusters when provisioned via VCFA organization portal . For more information see VCF Automation 9.0.1 release notes