Este tópico explica como adicionar uma segunda organização (org) híbrida do Apigee a um cluster do Kubernetes existente. Nesta configuração de várias organizações por cluster, ambas as organizações usam e partilham o mesmo anel do Cassandra. Cada organização pode ter vários ambientes e grupos de ambientes configurados.
Limitações
Uma configuração de várias organizações por cluster é suportada com as seguintes limitações. Até que estas limitações sejam atenuadas, não recomendamos que use esta configuração.
- As métricas de pods só são enviadas para o primeiro projeto do Google Cloud que foi configurado. Esta limitação é mais evidente na ferramenta Cloud Monitoring. Apenas afeta as métricas de cluster; As estatísticas da API não são afetadas. As métricas das outras organizações do Apigee não são enviadas para o projeto do Google Cloud correspondente.
- Todos os registos dos pods são enviados para o primeiro projeto do Google Cloud que foi configurado. Esta limitação é mais evidente na ferramenta Registos na nuvem. Os registos das outras organizações do Apigee não são enviados para o projeto do Google Cloud correspondente. Os registos continuam a ser capturados ao nível do pod e podem ser obtidos com comandos
kubectl
. No entanto, não são enviadas para o projeto do Google Cloud correto através do Cloud Logging. - Não é possível eliminar dados da organização na base de dados Cassandra apenas para uma organização. Isto significa que não pode remover organizações seletivamente. Qualquer modificação à configuração da base de dados afeta todas as organizações implementadas nesse cluster.
- O procedimento de atualização híbrida atualiza todo o cluster de uma só vez.
- A cópia de segurança e o restauro são feitos como um cluster e não podem ser feitos para uma organização específica.
- A funcionalidade Apigee API Monitoring (Linha cronológica, Recente, Investigar) só funciona para a primeira organização que foi configurada e implementada. Não funciona para as outras organizações num cluster com várias organizações.
Opções de várias organizações
Esta secção descreve como o apoio técnico do Apigee processa os clusters multi-org existentes e as recomendações para implementações futuras:
- Se tiver clusters Kubernetes multi-org existentes implementados em contextos de não produção e produção, o apoio técnico do Apigee vai continuar a suportá-los. No entanto, tenha em atenção as limitações técnicas descritas na secção seguinte. Recomendamos que altere todas as implementações de produção futuras para usar uma organização do Apigee por cluster.
- Se tiver clusters multi-org existentes em contextos de não produção, o apoio técnico do Apigee vai continuar a suportá-los. Recomendamos que migre todos os clusters de produção para uma nova configuração que use uma organização do Apigee por cluster.
Pré-requisitos
Antes de continuar, tenha em atenção o seguinte:
- Tem de ter uma organização híbrida existente com um ou mais ambientes instalados e configurados num cluster do Kubernetes existente. Consulte as instruções de instalação híbrida.
- Quando combina várias organizações num único cluster, as versões híbridas têm de corresponder. Antes de adicionar uma segunda organização a um cluster, atualize a instalação híbrida existente, se necessário. Consulte o artigo Atualizar o Apigee Hybrid.
Crie uma organização para adicionar ao cluster existente
Para criar a organização adicional, siga os passos na Parte 1: configuração do projeto e da organização.
Configure a nova organização
Nos passos seguintes, vai criar um novo ficheiro de substituições e configurá-lo para a nova organização.
Um ficheiro overrides.yaml
só pode suportar as informações de uma organização. Por conseguinte, tem de
criar um novo ficheiro overrides.yaml
e aplicá-lo ao cluster do Kubernetes existente.
- Crie contas de serviço para utilização com a nova organização. Consulte o artigo Crie contas de serviço.
- Tome nota dos ficheiros de certificado TLS (
.key
e.pem
) no diretóriocerts
. Se precisar de criá-los novamente, pode seguir as instruções em Crie certificados TLS. - Copie o seu ficheiro
overrides.yaml
existente para um novo ficheiro para usar como ponto de partida para configurar a sua nova organização. Por exemplo:new-overrides.yaml
. - Edite o novo ficheiro de substituições com as seguintes configurações:
org: "new-org-name" instanceID: "instance-id" ## Must match the instanceID of your existing org. k8sCluster: name: "existing-cluster-name" region: "existing-cluster-analytics-region" gcp: projectID: "new-project-id" name: "new-project-id" region: "new-project-default-location" namespace: namespace ## must be the same for both new and existing orgs virtualhosts: - name: new-environment-group-name sslCertPath: ./certs/cert-file-name # .crt or .pem sslKeyPath: ./certs/key-file-name # .key envs: - name: new-environment-name serviceAccountPaths: runtime: ./new-service-accounts-directory/new-project-id-apigee-runtime.json synchronizer: ./new-service-accounts-directory/new-project-id-apigee-synchronizer.json udca: ./new-service-accounts-directory/new-project-id-apigee-udca.json connectAgent: serviceAccountPath: ./new-service-accounts-directory/new-project-id-apigee-mart.json mart: serviceAccountPath: ./new-service-accounts-directory/new-project-id-apigee-mart.json metrics: serviceAccountPath: ./new-service-accounts-directory/new-project-id-apigee-metrics.json watcher: serviceAccountPath: ./new-service-accounts-directory/new-project-id-apigee-watcher.json
A tabela seguinte descreve cada um dos valores das propriedades que tem de fornecer no ficheiro de substituições. Para mais informações, consulte a referência da propriedade de configuração.
Variável Descrição new-org-name O nome da nova organização. instance-id Todas as organizações neste cluster têm de ter o mesmo ID da instância. Por conseguinte, tem de corresponder à entrada instanceID
no ficheiro de substituições da sua organização original.existing-cluster-name O nome do cluster ao qual está a adicionar esta organização. Tem de corresponder à entrada k8sCluster.name
no ficheiro de substituições do cluster original.existing-cluster-analytics-region A região onde o cluster original é aprovisionado. Tem de corresponder à entrada k8sCluster.region
no ficheiro de substituições para o seu cluster original.new-project-id O ID do projeto do seu novo projeto. O ID do projeto e o nome da organização são os mesmos. new-project-default-location A região de estatísticas especificada quando criou a nova organização. Não tem de ser igual à região da organização existente. namespace Todas as organizações no cluster têm de partilhar o mesmo espaço de nomes. Certifique-se de que usa o mesmo espaço de nomes que foi usado para a organização original. Tenha em atenção que o espaço de nomes predefinido é apigee
.new-environment-group-name O novo grupo de ambientes que criou para a nova organização. cert-file-name e
key-file-nameOs ficheiros de chave e certificado TLS para o cluster que verificou ou criou no passo 1 desta secção. new-environment-name O nome do ambiente que criou para a nova organização. new-service-accounts-directory O diretório onde se encontram os ficheiros de chaves da conta de serviço que criou para a nova organização.
Aplique a configuração
Aplique a nova configuração da organização ao cluster:
- Faça uma instalação de teste para verificar se existem problemas:
apigeectl apply -f overrides/new-overrides.yaml --org --dry-run=client
- Se não houver problemas, aplique os componentes ao nível da organização. Este passo instala as tarefas do Cassandra (utilizador e esquema), os serviços do Apigee Connect, do Apigee Watcher e do MART:
apigeectl apply -f overrides/new-overrides.yaml --org
- Instale o ambiente. Este passo instala os componentes apigee-runtime, synchronizer e UDCA,
por ambiente:
apigeectl apply -f overrides/new-overrides.yaml --env ${ENV_NAME} --dry-run=client
apigeectl apply -f overrides/new-overrides.yaml --env ${ENV_NAME}
- Aplique as alterações do balanceador de carga. Este passo configura a entrada para ouvir os novos anfitriões virtuais para a segunda organização:
apigeectl apply -f overrides/new-overrides.yaml --settings virtualhosts --dry-run=client
apigeectl apply -f overrides/new-overrides.yaml --settings virtualhosts
- Ative o acesso do sincronizador para a sua nova organização seguindo os passos em Ative o acesso do sincronizador.