Comece a gerenciar aplicativos
Depois de "Adicionar um cluster ao gerenciamento do Astra Control"instalar aplicativos no cluster (fora do Astra Control) e, em seguida, vá para a página aplicações no Astra Control para definir as aplicações e seus recursos.
Requisitos de gerenciamento de aplicativos
O Astra Control tem os seguintes requisitos de gerenciamento de aplicações:
-
Licenciamento: Para gerenciar aplicações usando o Astra Control Center, você precisa da licença de avaliação do Astra Control Center incorporada ou de uma licença completa.
-
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: As aplicações 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) é totalmente compatível. 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 o operador para garantir que esse seja o caso.
A seguir estão alguns aplicativos de operador que seguem estes padrões:
-
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.
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.
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.
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. |
-
Um cluster de Kubernetes adicionado ao Astra Control.
-
Um ou mais aplicativos instalados no cluster. Leia mais sobre os métodos de instalação de aplicativos suportados.
-
Namespaces existentes no cluster do Kubernetes que você adicionou ao Astra Control.
-
(Opcional) Um rótulo do Kubernetes em qualquer "Recursos do Kubernetes compatíveis".
Um rótulo é um par de chave/valor que você pode atribuir a objetos Kubernetes para identificação. Os rótulos facilitam a ordenação, organização e localização de objetos do Kubernetes. Para saber mais sobre rótulos do Kubernetes, "Consulte a documentação oficial do Kubernetes".
-
Antes de começar, você também deve entender "gerenciamento de namespaces padrão e do sistema".
-
Se você planeja usar vários namespaces com suas aplicações no Astra Control, "modifique as funções do usuário com restrições de namespace" depois de atualizar para uma versão do Astra Control Center com suporte a vários namespace.
-
Para obter instruções sobre como gerenciar aplicativos usando a API Astra Control, consulte o "Informações de API e automação do Astra".
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.
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 em um exemplo. |
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) |
---|---|
|
rbac.authorization.k8s.io/v1 |
|
rbac.authorization.k8s.io/v1 |
|
apipextensions.k8s.io/v1, apipextensions.k8s.io/v1beta1 |
|
apipextensions.k8s.io/v1, apipextensions.k8s.io/v1beta1 |
|
admissionregistration.k8s.io/v1 |
|
admissionregistration.k8s.io/v1 |
-
Na página aplicativos, selecione Definir.
-
Na janela Definir aplicativo, insira o nome do aplicativo.
-
Escolha o cluster no qual seu aplicativo está sendo executado na lista suspensa Cluster.
-
Escolha um namespace para sua aplicação na lista suspensa namespace.
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. -
(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).
Para saber mais sobre rótulos do Kubernetes, "Consulte a documentação oficial do Kubernetes". -
(Opcional) Adicione namespaces adicionais para o aplicativo selecionando Adicionar namespace e escolhendo o namespace na lista suspensa.
-
(Opcional) Digite critérios de seleção de rótulo ou rótulo único para quaisquer namespaces adicionais que você adicionar.
-
(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:
-
Selecione Adicionar regra de inclusão.
-
Group: Na lista suspensa, selecione o grupo de recursos da API.
-
Kind: Na lista suspensa, selecione o nome do esquema do objeto.
-
Versão: Insira a versão da API.
-
* 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.
-
Revise a regra criada com base em suas entradas.
-
Selecione Adicionar.
Você pode criar quantas regras de recursos com escopo de cluster quiser. As regras aparecem no Resumo da aplicação definida.
-
-
Selecione Definir.
-
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.
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. |
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 na 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.
-
Na página clusters, selecione um cluster.
-
Selecione a guia namespaces.
-
Selecione o menu ações para o namespace que contém os recursos do aplicativo que você deseja gerenciar e selecione Definir como aplicativo.
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 namespace, Definir recursos para gerenciar como um aplicativoconsulte . 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. "Leia mais".
Após a conclusão do processo, os aplicativos associados ao namespace aparecem na Associated applications
coluna.
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.
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. |
Exemplo: Política de proteção separada para versões diferentes
Neste exemplo, a equipe de devops está gerenciando uma implantação de versão "canário". O cluster da equipe tem três pods executando o nginx. Dois dos pods são dedicados à liberação estável. O terceiro pod é para o lançamento canário.
O administrador do Kubernetes da equipe de devops adiciona o rótulo deployment=stable
aos pods de versão estáveis. A equipe adiciona o rótulo deployment=canary
ao pod de lançamento canário.
A versão estável da equipe inclui um requisito para instantâneos por hora e backups diários. O lançamento canário é mais efêmero, então eles querem criar uma política de proteção menos agressiva e de curto prazo para qualquer coisa rotulada . deployment=canary
Para evitar possíveis conflitos de dados, o administrador criará dois aplicativos: Um para a versão "canary" e outro para a versão "stable". Isso mantém os backups, snapshots e operações de clone separados para os dois grupos de objetos Kubernetes.