Verifique se a confirmação mais recente foi aplicada e reconciliada pelo Config Sync

Se você ativou as APIs RootSync e RepoSync e quer usar o Config Sync em um pipeline de implantação contínua (CD), é necessário verificar se sua confirmação mais recente no repositório Git foi aplicada ao cluster e reconciliada com sucesso. Nesta página, mostramos como verificar o status nos objetos do Config Sync.

A verificação contém as etapas a seguir. Qualquer falha em uma etapa significa que a confirmação não foi aplicada ou reconciliada. É possível colocar as etapas em um loop de novas tentativas com um tempo limite pré-selecionado.

  1. Verifique se a confirmação mais recente no repositório Git foi aplicada. Isso precisa ser feito verificando o campo .status.sync no objeto RootSync ou RepoSync. É possível acessar o campo .status.sync pelo seguinte comando

    # get .status.sync of a RootSync object
    kubectl get rootsync ROOT_SYNC -n config-management-system -o jsonpath='{.status.sync}'
    
    # get .status.sync of a RepoSync object
    kubectl get reposync REPO_SYNC -n REPO_SYNC_NAMESPACE -o jsonpath='{.status.sync}'
    

    Substitua ROOT_SYNC pelo nome do objeto RootSync que você quer pesquisar.

    Substitua REPO_SYNC pelo nome do objeto RepoSync que você quer pesquisar.

    Substitua REPO_SYNC_NAMESPACE pelo nome do objeto RepoSync que você quer pesquisar.

    1. O valor do campo .status.sync.commit precisa ser igual à confirmação mais recente.
    2. O campo .status.sync não tem nenhum "erro".
  2. Verifique se os recursos da confirmação mais recente estão todos reconciliados. Para cada objeto RootSync ou RepoSync, há um objeto ResourceGroup exclusivo que captura o status de reconciliação dos recursos gerenciados declarados no repositório Git. O objeto ResourceGroup tem o mesmo namespace e nome do objeto RootSync ou RepoSync. Por exemplo, para o objeto RootSync com o nome root-sync no namespace config-management-system, o objeto ResourceGroup correspondente também é root-sync no namespace config-management-system. Quando a confirmação mais recente é aplicada com sucesso, o objeto ResourceGroup contém o grupo, o tipo, o namespace e o nome dos recursos gerenciados da confirmação mais recente. Execute o seguinte comando para receber um objeto ResourceGroup.

    # get the ResourceGroup object for a RootSync object
    kubectl get resourcegroup ROOT_SYNC -n config-management-system -o yaml
    
    # get the ResourceGroup object for a RepoSync object
    kubectl get resourcegroup REPO_SYNC -n REPO_SYNC_NAMESPACE -o yaml
    

    Substitua ROOT_SYNC pelo nome do objeto ResourceGroup que você quer pesquisar.

    Substitua REPO_SYNC pelo nome do objeto ResourceGroup que você quer pesquisar.

    Substitua REPO_SYNC_NAMESPACE pelo nome do objeto ResourceGroup que você quer pesquisar.

    1. Primeiro, verifique se o .status.observedGeneration é igual ao valor do campo .metadata.generation no objeto ResourceGroup.
    2. Em seguida, verifique se as condições Stalled e Reconciling têm status como "False".
    3. Por fim, verifique se cada item no campo .status.resourceStatuses tem o status como Current.