Skip to main content
Todos os fornecedores de nuvem
  • Amazon Web Services
  • Google Cloud
  • Microsoft Azure
  • Todos os fornecedores de nuvem
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Comece a gerenciar aplicativos

Colaboradores

Depois do "Adicionar um cluster de Kubernetes ao Astra Control", você poderá instalar aplicações no cluster (fora do Astra Control) e, em seguida, ir para a página aplicações no Astra Control para definir as aplicações.

Você pode definir e gerenciar aplicativos que incluem recursos de storage com pods em execução ou aplicativos que incluem recursos de storage sem pods em execução. Os aplicativos que não têm pods em execução são conhecidos como aplicativos somente de dados.

Requisitos de gerenciamento de aplicativos

O Astra Control tem os seguintes requisitos de gerenciamento de aplicações:

  • Licenciamento: Para gerenciar mais de 10 namespaces, você precisa de uma assinatura Astra Control.

  • Namespaces: Os aplicativos podem ser definidos em um ou mais namespaces especificados em um único cluster usando o Astra Control. Um aplicativo pode conter recursos que abrangem vários namespaces dentro do mesmo cluster. O Astra Control não dá suporte à capacidade de definir aplicações em vários clusters.

  • Storage class: Se você instalar um aplicativo com uma classe de armazenamento explicitamente definida e precisar clonar o aplicativo, o cluster de destino para a operação clone deve ter a classe de armazenamento especificada originalmente. Clonar um aplicativo com uma classe de storage definida explicitamente para um cluster que não tenha a mesma classe de storage falhará.

  • Recursos do Kubernetes: Os aplicativos que usam recursos do Kubernetes não coletados pelo Astra Control podem não ter recursos completos de gerenciamento de dados do aplicativo. O Astra Control coleta os seguintes recursos do Kubernetes:

    ClusterRole

    ClusterRoleBinding

    ConfigMap

    CronJob

    CustomResourceDefinition

    CustomResource

    DaemonSet

    DeploymentConfig

    HorizontalPodAutoscaler

    Ingress

    MutatingWebhook

    NetworkPolicy

    PersistentVolumeClaim

    Pod

    PodDisruptionBudget

    PodTemplate

    ReplicaSet

    Role

    RoleBinding

    Route

    Secret

    Service

    ServiceAccount

    StatefulSet

    ValidatingWebhook

Métodos de instalação de aplicativos suportados

O Astra Control é compatível com os seguintes métodos de instalação de aplicações:

  • Arquivo manifesto: O Astra Control suporta aplicativos instalados a partir de um arquivo manifesto usando kubectl. Por exemplo:

    kubectl apply -f myapp.yaml
  • Helm 3: Se você usar o Helm para instalar aplicativos, o Astra Control requer o Helm versão 3. O gerenciamento e clonagem de aplicativos instalados com o Helm 3 (ou atualizados do Helm 2 para o Helm 3) são totalmente compatíveis. O gerenciamento de aplicativos instalados com o Helm 2 não é suportado.

  • Aplicativos implantados pelo operador: O Astra Control suporta aplicativos instalados com operadores com escopo de namespace que são, em geral, projetados com uma arquitetura "pass-by-value" em vez de "pass-by-reference". Um operador e o aplicativo que ele instala devem usar o mesmo namespace; talvez seja necessário modificar o arquivo .yaml de implantação para que o operador garanta que esse seja o caso.

    A seguir estão alguns aplicativos de operador que seguem estes padrões:

    • "Apache K8ssandra"

      Observação Para K8ssandra, são suportadas as operações de restauração no local. Uma operação de restauração para um novo namespace ou cluster requer que a instância original do aplicativo seja removida. Isto destina-se a garantir que as informações do grupo de pares transportadas não conduzam à comunicação entre instâncias. A clonagem da aplicação não é suportada.
    • "Jenkins CI"

    • "Cluster Percona XtraDB"

    O Astra Control pode não ser capaz de clonar um operador projetado com uma arquitetura "pass-by-reference" (por exemplo, o operador CockroachDB). Durante esses tipos de operações de clonagem, o operador clonado tenta consultar os segredos do Kubernetes do operador de origem, apesar de ter seu próprio novo segredo como parte do processo de clonagem. A operação de clone pode falhar porque o Astra Control não conhece os segredos do Kubernetes no operador de origem.

Instale aplicativos no cluster

Depois de "adicionado o cluster" acessar o Astra Control, você poderá instalar aplicações ou gerenciar aplicações existentes no cluster. Qualquer aplicativo com escopo para um ou mais namespaces pode ser gerenciado.

O Astra Control só gerenciará aplicações com estado monitorado se o storage estiver em uma classe de storage suportada pelo Astra Control. O Astra Control Service dá suporte a qualquer classe de storage compatível com o Astra Control Provisioner ou um driver CSI genérico.

Definir aplicações

Depois que o Astra Control descobrir namespaces em seus clusters, você pode definir as aplicações que deseja gerenciar. Você pode escolher para gerencie um aplicativo abrangendo um ou mais namespaces ou gerencie um namespace inteiro como uma única aplicação. Tudo se resume ao nível de granularidade de que você precisa para operações de proteção de dados.

Embora o Astra Control permita que você gerencie separadamente ambos os níveis da hierarquia (o namespace e os aplicativos nesse namespace ou spanning Namespaces), a prática recomendada é escolher um ou outro. As ações que você executa no Astra Control podem falhar se as ações ocorrerem ao mesmo tempo no nível do namespace e da aplicação.

Dica Como exemplo, você pode querer definir uma política de backup para "maria" que tenha uma cadência semanal, mas você pode precisar fazer backup do "mariadb" (que está no mesmo namespace) com mais frequência do que isso. Com base nessas necessidades, você precisaria gerenciar os aplicativos separadamente e não como um aplicativo de namespace único.
Antes de começar
Sobre esta tarefa

Definir recursos para gerenciar como um aplicativo

Você pode especificar o "Recursos do Kubernetes que compõem uma aplicação" que deseja gerenciar com o Astra Control. A definição de um aplicativo permite agrupar elementos do cluster do Kubernetes em um único aplicativo. Essa coleção de recursos do Kubernetes é organizada por critérios de seleção de namespace e rótulo.

A definição de uma aplicação oferece controle mais granular sobre o que incluir em uma operação do Astra Control, incluindo clone, snapshot e backups.

Aviso Ao definir aplicativos, certifique-se de que você não inclua um recurso Kubernetes em vários aplicativos com políticas de proteção. A sobreposição de políticas de proteção em recursos do Kubernetes pode causar conflitos de dados.
Leia mais sobre como adicionar recursos com escopo de cluster aos namespaces do aplicativo.

É possível importar recursos de cluster associados aos recursos de namespace, além dos recursos do Astra Control incluídos automaticamente. Você pode adicionar uma regra que incluirá recursos de um grupo específico, tipo, versão e, opcionalmente, rótulo. Você pode querer fazer isso se houver recursos que o Astra Control não inclui automaticamente.

Não é possível excluir nenhum dos recursos com escopo de cluster que sejam incluídos automaticamente pelo Astra Control.

Você pode adicionar o seguinte apiVersions (que são os grupos combinados com a versão da API):

Tipo de recurso ApiVersions (versão do grupo)

ClusterRole

rbac.authorization.k8s.io/v1

ClusterRoleBinding

rbac.authorization.k8s.io/v1

CustomResource

apipextensions.k8s.io/v1, apipextensions.k8s.io/v1beta1

CustomResourceDefinition

apipextensions.k8s.io/v1, apipextensions.k8s.io/v1beta1

MutatingWebhookConfiguration

admissionregistration.k8s.io/v1

ValidatingWebhookConfiguration

admissionregistration.k8s.io/v1

Passos
  1. Na página aplicativos, selecione Definir.

  2. Na janela Definir aplicativo, insira o nome do aplicativo.

  3. Escolha o cluster no qual seu aplicativo está sendo executado na lista suspensa Cluster.

  4. Escolha um namespace para sua aplicação na lista suspensa namespace.

    Observação As aplicações podem ser definidas em um ou mais namespaces especificados em um único cluster usando o Astra Control. Um aplicativo pode conter recursos que abrangem vários namespaces dentro do mesmo cluster. O Astra Control não dá suporte à capacidade de definir aplicações em vários clusters.
  5. (Opcional) Insira um rótulo para os recursos do Kubernetes em cada namespace. Você pode especificar um único rótulo ou critério de seleção de rótulo (consulta).

    Dica Para saber mais sobre rótulos do Kubernetes, "Consulte a documentação oficial do Kubernetes".
  6. (Opcional) Adicione namespaces adicionais para o aplicativo selecionando Adicionar namespace e escolhendo o namespace na lista suspensa.

  7. (Opcional) Digite critérios de seleção de rótulo ou rótulo único para quaisquer namespaces adicionais que você adicionar.

  8. (Opcional) para incluir recursos com escopo de cluster além daqueles que o Astra Control inclui automaticamente, marque incluir recursos adicionais com escopo de cluster e conclua o seguinte:

    1. Selecione Adicionar regra de inclusão.

    2. Group: Na lista suspensa, selecione o grupo de recursos da API.

    3. Kind: Na lista suspensa, selecione o nome do esquema do objeto.

    4. Versão: Insira a versão da API.

    5. * Seletor de etiquetas*: Opcionalmente, inclua um rótulo para adicionar à regra. Este rótulo é usado para recuperar apenas os recursos correspondentes a esse rótulo. Se você não fornecer um rótulo, o Astra Control coletará todas as instâncias do tipo de recurso especificado para esse cluster.

    6. Revise a regra criada com base em suas entradas.

    7. Selecione Adicionar.

      Dica Você pode criar quantas regras de recursos com escopo de cluster quiser. As regras aparecem no Resumo da aplicação definida.
  9. Selecione Definir.

  10. Depois de selecionar define, repita o processo para outros aplicativos, conforme necessário.

Depois de concluir a definição de uma aplicação, a aplicação aparece Healthy no estado na lista de aplicações na página aplicações. Agora você pode cloná-lo e criar backups e snapshots.

Observação O aplicativo que você acabou de adicionar pode ter um ícone de aviso na coluna protegido, indicando que ele ainda não foi feito backup e ainda não está programado para backups.
Dica Para ver os detalhes de uma aplicação específica, selecione o nome da aplicação.

Para ver os recursos adicionados a este aplicativo, selecione a guia recursos. Selecione o número após o nome do recurso na coluna recurso ou insira o nome do recurso em Pesquisa para ver os recursos adicionais com escopo de cluster incluídos.

Defina um namespace para gerenciar como um aplicativo

É possível adicionar todos os recursos do Kubernetes em um namespace ao gerenciamento do Astra Control definindo os recursos desse namespace como uma aplicação. Esse método é preferível à definição de aplicativos individualmente se você "pretende gerenciar e proteger todos os recursos em um namespace específico" de uma maneira semelhante e em intervalos comuns.

Passos
  1. Na página clusters, selecione um cluster.

  2. Selecione a guia namespaces.

  3. Selecione o menu ações para o namespace que contém os recursos do aplicativo que você deseja gerenciar e selecione Definir como aplicativo.

    Dica Se você quiser definir vários aplicativos, selecione na lista namespaces e selecione o botão ações no canto superior esquerdo e selecione Definir como aplicativo. Isso definirá vários aplicativos individuais em seus namespaces individuais. Para aplicações com vários nomes de nomes, Definir recursos para gerenciar como um aplicativoconsulte a .
    Observação Marque a caixa de seleção Mostrar namespaces do sistema para revelar namespaces do sistema que geralmente não são usados no gerenciamento de aplicativos por padrão. Uma captura de tela que mostra a opção <strong>Mostrar namespaces do sistema</strong> que está disponível na guia namespaces. "Leia mais".

Após a conclusão do processo, os aplicativos associados ao namespace aparecem na Associated applications coluna.

[Visualização técnica] defina uma aplicação usando um recurso personalizado do Kubernetes

Você pode especificar os recursos do Kubernetes que deseja gerenciar com o Astra Control definindo-os como uma aplicação usando um recurso personalizado (CR). Você pode adicionar recursos com escopo de cluster se quiser gerenciar esses recursos individualmente ou todos os recursos do Kubernetes em um namespace se, por exemplo, você pretende gerenciar e proteger todos os recursos em um namespace específico de maneira semelhante e em intervalos comuns.

Passos
  1. Crie o arquivo de recurso personalizado (CR) e nomeie-o (por exemplo, astra_mysql_app.yaml ).

  2. Nomeie o aplicativo em metadata.name.

  3. Definir recursos de aplicativos a serem gerenciados:

    spec.includedClusterScopedResources

    Incluir tipos de recursos com escopo de cluster além daqueles que o Astra Control inclui automaticamente:

    • spec.includedClusterScopedResources: (Opcional) Uma lista de tipos de recursos com escopo de cluster a serem incluídos.

      • GroupVersionKind: (Opcional) identifica inequivocamente um tipo.

        • Group: (obrigatório se groupVersionKind for usado) grupo API do recurso a incluir.

        • Version: (obrigatório se groupVersionKind for usado) versão da API do recurso a incluir.

        • Kind: (obrigatório se groupVersionKind for usado) tipo do recurso a incluir.

      • LabelSeletor: (Opcional) Uma consulta de rótulo para um conjunto de recursos. Ele é usado para recuperar apenas os recursos correspondentes ao rótulo. Se você não fornecer um rótulo, o Astra Control coletará todas as instâncias do tipo de recurso especificado para esse cluster. O resultado de matchLabels e matchExpressions são ANDed.

        • MatchLabels: (Opcional) Um mapa de pares chave,valor. Uma única chave no mapa MatchLabels é equivalente a um elemento de matchExpressions que tem um campo chave de "key", operador como "in", e array de valores contendo apenas "value". Os requisitos são ANDed.

        • MatchExpressions: (Opcional) Uma lista de requisitos de seleção de etiquetas. Os requisitos são ANDed.

          • Key: (obrigatório se matchExpressions for usado) a chave de etiqueta associada ao seletor de etiquetas.

          • Operator: (obrigatório se matchExpressions for usado) representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists e DoesNotExist.

          • Values: (obrigatório se matchExpressions for usado)_uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores deve _não estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores deve estar vazia.

    spec.includedNamespaces

    Inclua namespaces e recursos dentro desses recursos no aplicativo:

    • spec.includedNamespaces: _(required)_define o namespace e os filtros opcionais para seleção de recursos.

      • * Namespace*: (obrigatório) o namespace que contém os recursos do aplicativo que você deseja gerenciar com o Astra Control.

      • LabelSeletor: (Opcional) Uma consulta de rótulo para um conjunto de recursos. Ele é usado para recuperar apenas os recursos correspondentes ao rótulo. Se você não fornecer um rótulo, o Astra Control coletará todas as instâncias do tipo de recurso especificado para esse cluster. O resultado de matchLabels e matchExpressions são ANDed.

        • MatchLabels: (Opcional) Um mapa de pares chave,valor. Uma única chave no mapa MatchLabels é equivalente a um elemento de matchExpressions que tem um campo chave de "key", operador como "in", e array de valores contendo apenas "value". Os requisitos são ANDed.

        • MatchExpressions: (Opcional) Uma lista de requisitos de seleção de etiquetas. key e operator são necessários. Os requisitos são ANDed.

          • Key: (obrigatório se matchExpressions for usado) a chave de etiqueta associada ao seletor de etiquetas.

          • Operator: (obrigatório se matchExpressions for usado) representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists e DoesNotExist.

          • Values: (obrigatório se matchExpressions for usado) uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores deve não estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores deve estar vazia.

    Exemplo YAML:

    apiVersion: astra.netapp.io/v1
    kind: Application
    metadata:
      name: astra_mysql_app
    spec:
      includedNamespaces:
        - namespace: astra_mysql_app
          labelSelector:
            matchLabels:
              app: nginx
              env: production
            matchExpressions:
              - key: tier
                operator: In
                values:
                  - frontend
                  - backend
  4. Depois de preencher o astra_mysql_app.yaml ficheiro com os valores corretos, aplique o CR:

    kubectl apply -f astra_mysql_app.yaml -n astra-connector

E quanto aos namespaces do sistema?

O Astra Control também descobre namespaces do sistema em um cluster do Kubernetes. Nós não mostramos esses namespaces do sistema por padrão, porque é raro que você precise fazer backup dos recursos do aplicativo do sistema.

Você pode exibir namespaces do sistema na guia namespaces para um cluster selecionado selecionando a caixa de seleção Mostrar namespaces do sistema.

Uma captura de tela que mostra a opção <strong>Mostrar namespaces do sistema</strong> que está disponível na guia namespaces.

Dica O Astra Control em si não é um aplicativo padrão; é um "aplicativo do sistema". Você não deve tentar gerenciar o Astra Control por si só. O próprio Astra Control não é mostrado por padrão para gerenciamento.