AKO pod CrashLoopBackOff in VKS guest cluster
search cancel

AKO pod CrashLoopBackOff in VKS guest cluster

book

Article ID: 438717

calendar_today

Updated On:

Products

VMware vSphere Kubernetes Service

Issue/Introduction

  • Supervisor has been enabled with networking of NSX integrated with AVI Load balancer. 
  • Installation of AKO is failed on CrashLoopBackOff:

    kubectl get pod -n avi-system ako-0
    NAME                                    READY   STATUS              RESTARTS   AGE
    pod/ako-0                               0/2     CrashLoopBackOff    2          30s

  • No log output of AKO pod:

    kubectl logs -n avi-system ako-0

  • Describe the AKO pod with below messages:

    Events:
      Type     Reason       Age                From                     Message
      ----     ------       ----               ----                     -------
      Normal   Created      19s (x2 over 22s)  kubelet                  Created container: ako-gateway-api
      Normal   Started      19s (x2 over 21s)  kubelet                  Started container ako-gateway-api
      Warning  AKOShutdown  19s                avi-kubernetes-operator  Invalid user input [No user input detected for vipNetworkList.]
      Warning  BackOff      12s (x3 over 18s)  kubelet                  Back-off restarting failed container ako in pod ako-0_avi-system

Environment

VMware vSphere Kubernetes Service

Cause

The AKO values yaml is missing vipNetworkList which is needed to enable the AKO to know which segment to assign VIP.

Resolution

To resolve the issue, add the setting vipNetworkList to AKO values yaml. 

  1. Edit AKO values yaml and add the vipNetworkList setting under NetworkSettings

    NetworkSettings:
      nsxtT1LR: "/infra/tier-1s/t1_########-####-####-####-############_rtr"
      vipNetworkList:
        - networkName: "ingress-segment-name-in-nsx"

    The ingress segment name in NSX is the format of "avi-domain-c##:########-####-####-####-############-<namespace>-0"

  2. Update the change to AKO. This depends on which way to install AKO. See Install AKO

    For example, if use the 'vcf cli addon' to install AKO standard package, update AKO with the command:

    vcf addon install update ako --cluster-name <guest-cluster-name> -f ako-values-modify.yaml -y

  3. Wait for one or two minutes.
  4. Delete the AKO pod in guest cluster:

    kubectl delete pod -n avi-system ako-0

  5. Confirm the AKO pod is running:

    kubectl get pod -n avi-system ako-0