Edge para nuvem privada v. 4.17.09
Visão geral da instalação
Depois de instalar o utilitário apigee-setup do Edge em um nó, use-o
para instalar um ou mais componentes do BaaS no nó.
O utilitário apigee-setup tem
o formato:
sudo /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
Transmita um arquivo de configuração para o utilitário apigee-setup que contém as
informações sobre a instalação. Se o arquivo de configuração não tiver alguma informação
necessária, o utilitário apigee-setup
vai solicitar que você a insira na linha de comando.
O único requisito é que o arquivo de configuração precisa ser acessível ou legível pelo usuário "apigee".
Por exemplo, use o seguinte comando para instalar a pilha de BaaS da API:
sudo /opt/apigee/apigee-setup/bin/setup.sh -p b -f myConfig
Como especificar os componentes a serem instalados
O utilitário setup.sh da Apigee
oferece várias opções para instalar componentes da API BaaS. As instruções abaixo usam as
opções independentes (c, e, b e p), mas é possível usar opções diferentes com base na configuração
do nó:
|
Opção |
Descrição |
|---|---|
|
e |
Instale apenas o ElasticSearch. |
|
b |
Instale apenas a pilha de API BaaS, que também instala o Tomcat. |
|
p |
Instale apenas o portal da API BaaS, que também instala o roteador Nginx para ser usado como um servidor da Web. |
|
c |
Instale apenas o Cassandra. |
|
eb |
Instale o ElasticSearch, a pilha de API BaaS e o Tomcat no nó. |
|
ebp |
Instale o ElasticSearch, o portal da API BaaS, a pilha da API BaaS e o Tomcat, mas não o Cassandra. O portal é tão leve que não são necessários recursos adicionais para isso. |
|
asa |
Instale todos os componentes da API BaaS em um único nó (Cassandra, Elasticsearch, pilha da API BaaS, portal da API BaaS, Tomcat). Use essa opção apenas para desenvolvimento e teste, não para produção. |
Como criar um arquivo de configuração
O arquivo de configuração contém todas as informações necessárias para instalar a API BaaS. Muitas vezes, é possível usar o mesmo arquivo de configuração para instalar todos os componentes em uma instalação do BaaS.
Cada topologia de instalação descrita abaixo mostra um exemplo de arquivo de configuração para essa topologia. Para uma referência completa sobre o arquivo de configuração, consulte Referência do arquivo de configuração do BaaS.
Instalar a API BaaS em um único nó
Veja abaixo o arquivo de configuração para instalar a API BaaS em um único nó. Edite esse arquivo conforme necessário para sua configuração. Para uma referência completa sobre o arquivo de configuração, consulte Referência do arquivo de configuração do BaaS.
IP1=192.168.56.101 # IP address of single node # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Define the API BaaS administrator account. AS_ADMIN="superuser" # User name - default is "superuser". AS_ADMIN_EMAIL=stackAdmin@email.com AS_PASSWD=stackAdminPWord # Because you are installing Cassandra, # specify Cassandra data center and rack suffix. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1" # Specify the Cassandra region. REGION=dc-1 # Cassandra uname/pword. # Even if Cassandra authentication is disabled, # you must still pass values for these properties. CASS_USERNAME=cassandra # Default value CASS_PASSWORD=cassandra # Default value # Specify Cassandra data center name. BAAS_CASS_LOCALDC=dc-1 # For a single data center, specify the same value as BAAS_CASS_LOCALDC. BAAS_CASS_DC_LIST=dc-1 # Replication is in the form "dataCenterName:#CassandraNodes". # For dc-1 with one Cassandra node, it is dc-1:1. BAAS_CASS_REPLICATION=dc-1:1 # Defines the initial contact points for members of the BaaS cluster. # For a single node install, specify the IP address of the node. BAAS_CLUSTER_SEEDS="dc-1:$IP1" # Single ElasticSearch IP. ES_HOSTS="$IP1" # API BaaS Stack information. # Default cluster name is "apigee_baas" BAAS_USERGRID_CLUSTERNAME="apigee_baas" # IP/DNS and port 8080 of a single Stack node. BAAS_USERGRID_URL="http://$IP1:8080" # URL and port of the BaaS Portal node. BAAS_PORTAL_URL="http://$IP1:9000" # Portal port. Default value is 9000. BAAS_PORTAL_LISTEN_PORT=9000 # SMTP information. BaaS requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y SMTPMAILFROM="My Company <myco@company.com>"
Para instalar a API BaaS no próprio nó:
- Instale o utilitário
apigee-setupdo Edge no nó usando o procedimento com ou sem Internet. Consulte Instalar o utilitário apigee-setup do Edge para mais informações. - No prompt de comando, execute o script de configuração:
/opt/apigee/apigee-setup/bin/setup.sh -p asa -f configFile
A opção "-p asa" especifica a instalação de todos os componentes da API BaaS em um único nó (Cassandra, Elasticsearch, pilha da API BaaS, portal da API BaaS, Tomcat).
O arquivo de configuração precisa ser acessível ou legível pelo usuário "apigee".
- Como você instalou o ElasticSearch em um nó independente, ajuste a opção de alocação de memória padrão
para aumentar a memória alocada para o ElasticSearch de 4 GB para 6 GB:
- Abra
/opt/apigee/customer/application/elasticsearch.propertiesem um editor. Se esse arquivo não existir, crie-o. - Defina a propriedade
setenv_elasticsearch_max_mem_sizecomo 6g (o padrão é 4g):
setenv_elasticsearch_max_mem_size=6g
- Salve o arquivo.
- Execute este comando:
/opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
- Abra
- Integre uma organização conforme descrito abaixo em Como integrar uma nova organização.
A configuração conclui a configuração no nó.
Instalar a API BaaS em 7 ou 10 nós
O procedimento para instalar uma versão de 7 ou 10 nós da API BaaS é muito semelhante. A única diferença é que, para um:
- Na instalação de 10 nós, você instala os três componentes do ElasticSearch e os três componentes da pilha da API BaaS em nós separados, totalizando seis nós. Essa é a configuração recomendada para o melhor desempenho, porque o ElasticSearch requer uma grande quantidade de E/S de disco e memória.
- Na instalação de sete nós, você instala os três componentes do ElasticSearch e os três componentes da pilha da API BaaS nos mesmos nós, totalizando três nós.
Para as versões de 7 e 10 nós da API BaaS, é preciso se conectar a um cluster do Cassandra. Se você já tiver instalado o Edge, poderá se conectar ao cluster do Cassandra, o que significa que não precisará instalar o Cassandra como parte da instalação da API BaaS.
Veja abaixo um exemplo de arquivo de configuração silenciosa para uma instalação da API BaaS de 10 nós. Se você estiver instalando os componentes do ElasticSearch e da pilha de API BaaS nos mesmos três nós, edite o arquivo para que:
- IP1 e IP4 estão definidos com o mesmo endereço IP
- IP2 e IP5 estão definidos com o mesmo endereço IP
- IP3 e IP6 estão definidos com o mesmo endereço IP
Edite esse arquivo conforme necessário para sua configuração. Para uma referência completa sobre o arquivo de configuração, consulte Referência do arquivo de configuração do BaaS.
# Specify IP address or DNS name of node. IP1=192.168.1.1 # ElasticSearch IP2=192.168.1.2 # ElasticSearch IP3=192.168.1.3 # ElasticSearch IP4=192.168.1.4 # API BaaS Stack IP5=192.168.1.5 # API BaaS Stack IP6=192.168.1.6 # API BaaS Stack IP7=192.168.1.7 # API BaaS Portal IP8=192.168.1.8 # Cassandra (shared with Edge or standalone) IP9=192.168.1.9 # Cassandra (shared with Edge or standalone) IP10=192.168.1.10 # Cassandra (shared with Edge or standalone) # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Define the API BaaS administrator account. AS_ADMIN="superuser" # User name - default is "superuser". AS_ADMIN_EMAIL=stackAdmin@email.com AS_PASSWD=stackAdminPWord # Only if you are installing Cassandra. # Specify Cassandra data center and rack suffix. # Must use IP addresses for CASS_HOSTS, not DNS names. # CASS_HOSTS="$IP8:1,1 $IP9:1,1 $IP10:1,1" # If connecting to existing Cassandra nodes, # specify Cassandra IPs. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP8 $IP9 $IP10" # Specify the Cassandra region. REGION=dc-1 # Cassandra uname/pword. # Even if Cassandra authentication is disabled, # you must still pass values for these properties. CASS_USERNAME=cassandra # Default value CASS_PASSWORD=cassandra # Default value # Specify BaaS Cassandra connection information. # Specify the data center name. BAAS_CASS_LOCALDC=dc-1 # Default is dc-1. # For a single data center, specify the same value as BAAS_CASS_LOCALDC. BAAS_CASS_DC_LIST=dc-1 # Replication is in the form "dataCenterName:#CassandraNodes". # For example, for dc-1 with three Cassandra nodes, it is dc-1:3. BAAS_CASS_REPLICATION=dc-1:3 # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes. BAAS_CLUSTER_SEEDS="dc-1:$IP4,dc-1:$IP5" # ElasticSearch IPs or DNS names, separated by spaces. ES_HOSTS="$IP1 $IP2 $IP3" # API BaaS Stack information. # Default cluster name is "apigee_baas" BAAS_USERGRID_CLUSTERNAME="apigee_baas" # URL and port of the load balancer for the API BaaS Stack nodes, # or IP/DNS and port 8080 of a single Stack node with no load balancer. BAAS_USERGRID_URL=http://myloadbalancer:8443 # API BaaS Portal information. # URL and port number of load balancer, if there is one in front of the Portal, # or the URL and port of the Portal node. BAAS_PORTAL_URL="http://$IP7:9000" # Portal port. Default value is 9000. BAAS_PORTAL_LISTEN_PORT=9000 # SMTP information. BaaS requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y SMTPMAILFROM="My Company <myco@company.com>"
Opcional: instalar o Cassandra: máquinas 8, 9 e 10
É possível conectar o API BaaS ao mesmo cluster do Cassandra usado pelo Edge. Se você não tiver instalado o Edge, poderá instalar o Cassandra para uso pela API BaaS.
O cluster do Cassandra pode usar a autenticação ou ela pode ser desativada. Consulte Ativar a autenticação do Cassandra para mais informações.
- Instale o utilitário
apigee-setupdo Edge no nó usando o procedimento com ou sem Internet. Consulte Instalar o utilitário apigee-setup do Edge para mais informações. - No prompt de comando, execute o script de configuração:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
A opção "-p c" especifica a instalação do Cassandra.
O arquivo de configuração precisa ser acessível ou legível pelo usuário "apigee".
A configuração conclui a configuração do repositório de dados no nó.
O JMX é ativado por padrão para o Cassandra. O acesso remoto JMX ao Cassandra não requer uma senha. É possível configurar o Cassandra para usar a autenticação para JMX. Para mais informações, consulte Como monitorar.
Configurar o cron job do Cassandra
Se você precisar instalar o Cassandra, configure um cron job que use nodetool para liberar bloqueios a cada hora
em cada nó do Cassandra.
Se você tiver vários nós do Cassandra, desloque o cron job em cada servidor em cinco minutos para que todos os nós não sejam limpos ao mesmo tempo.
O cron job precisa executar o seguinte comando:
/opt/apigee/apigee-cassandra/bin/nodetool -h IP_address flush Apigee_Baas_Locks
em que IP_address é o endereço IP do nó do Cassandra.
Instale o ElasticSearch: Máquinas 1, 2 e 3
Para instalar o ElasticSearch no próprio nó:
- Instale o utilitário apigee-setup do Edge no nó usando o procedimento com ou sem Internet. Consulte Instalar o utilitário apigee-setup do Edge para mais informações.
- No prompt de comando, execute o script de configuração:
/opt/apigee/apigee-setup/bin/setup.sh -p e -f configFileThe "-p e" option specifies to install ElasticSearch. The configuration file must be accessible or readable by the "apigee" user.
- (Optional) If you install ElasticSearch on a standalone node, meaning it is not installed
with API BaaS Stack, then adjust the default memory option to increase the memory allocated for
ElasticSearch from 4GB to 6GB:
- Open
/opt/apigee/customer/application/elasticsearch.propertiesin an editor. If this file does not exist, create it. - Set the
setenv_elasticsearch_max_mem_sizeproperty to 6g (the default is 4g):setenv_elasticsearch_max_mem_size=6g
- Salve o arquivo.
- Execute este comando:
/opt/apigee/apigee-service/bin/apigee-service apigee-elasticsearch restart
A configuração conclui a configuração no nó.
Instale a pilha da API BaaS: Máquinas 4, 5 e 6
Para instalar a pilha da API BaaS no próprio nó:
- Instale o utilitário apigee-setup do Edge no nó usando o procedimento com ou sem Internet. Consulte Instalar o utilitário apigee-setup do Edge para mais informações.
- No prompt de comando, execute o script de configuração:
/opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
A opção "-p b" especifica a instalação da pilha da API BaaS. O arquivo de configuração precisa ser acessível ou legível pelo usuário "apigee".
Depois que o instalador busca as credenciais de administrador corretas, ele instala o Tomcat, cria keyspaces da API BaaS e configura a pilha da API BaaS no servidor. O SMTP também é configurado para permitir que a IU envie e-mails de confirmação de senha.
Instalar o portal da API BaaS: máquina 7
Para instalar o portal da API BaaS:
- Instale o utilitário apigee-setup do Edge no nó usando o procedimento com ou sem Internet. Consulte Instalar o utilitário apigee-setup do Edge para mais informações.
- No prompt de comando, execute o script de configuração:
/opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
A opção "-p p" especifica a instalação do portal da API BaaS. O arquivo de configuração precisa ser acessível ou legível pelo usuário "apigee".
O instalador inicia o servidor da Web Nginx e conclui a configuração do portal da API BaaS.
- A próxima etapa depende da sua instalação.
- Se você tiver um balanceador de carga na frente dos nós do Portal ou da pilha, a próxima seção descreverá como configurar a API BaaS para os balanceadores de carga.
- Se você não tiver um balanceador de carga na frente dos nós do Portal ou do Stack, integre uma organização conforme descrito abaixo em Como integrar uma nova organização.
Anote o URL do portal da API BaaS. Esse é o URL que você insere em um navegador para acessar a interface do usuário do portal da API BaaS.
Configurar nós da API BaaS para um balanceador de carga de pilha ou portal
Se você incluir um balanceador de carga na frente dos nós da pilha ou do portal, será necessário configurar os nós com o URL correto do balanceador de carga. Por exemplo, os nós do Stack exigem essas informações quando:
- Incluir um URL nas respostas em solicitações de API do BaaS.
- Adicionar links em modelos de e-mail ao redefinir uma senha ou enviar outras notificações.
- Redirecionar os usuários para páginas específicas do Portal.
Se você usar um balanceador de carga na frente dos nós da pilha, defina a seguinte propriedade em
/opt/apigee/customer/application/usergrid.properties:usergrid-deployment_usergrid.api.url.base=http://localhost:8080
Substitua http://localhost:8080 pelo URL do balanceador de carga. Se o balanceador de carga estiver configurado para usar TLS, use o protocolo HTTPS. Só é necessário incluir a porta se você estiver usando uma porta não padrão, ou seja, algo diferente da porta 80 para HTTP e da porta 443 para HTTPS.
Você também precisa definir a seguinte propriedade em
/opt/apigee/customer/application/portal.propertiesse usar um balanceador de carga na frente dos nós do Stack:baas.portal.config.overrideUrl=http://localhost:8080
Substitua http://localhost:8080 pelo URL do balanceador de carga da pilha.
Se você usar um balanceador de carga na frente do nó do Portal, defina as seguintes propriedades em
usergrid.properties:usergrid-deployment_portal.url=http://localhost:9000
Substitua http://localhost:9000 pelo URL do balanceador de carga. Se o balanceador de carga estiver configurado para usar TLS, use o protocolo HTTPS. Só é necessário incluir a porta se você estiver usando uma porta não padrão, ou seja, algo diferente da porta 80 para HTTP e da porta 443 para HTTPS.
Depois de editar
usergrid.propertieseportal.properties:- Configure o nó do Stack:
/opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
- Reinicie a pilha do BaaS:
/opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
- Se você modificou
portal.properties, configure o nó do Portal:/opt/apigee/apigee-service/bin/apigee-service baas-portal configure
- Reinicie o portal do BaaS:
/opt/apigee/apigee-service/bin/apigee-service baas-portal restart
Integração de uma nova organização
A integração é o processo de criação de uma organização e de um administrador da organização. Depois de criar a organização e o administrador da organização, faça login na IU do portal da API BaaS e faça solicitações para a API REST da API BaaS.
Quando você cria uma organização, o endereço de e-mail do administrador da organização:
- Precisa ser diferente do endereço de e-mail do administrador do sistema.
- Precisa ser exclusivo entre todas as outras organizações. Ou seja, não é possível criar duas organizações com o mesmo endereço de e-mail para o administrador da organização. No entanto, depois de criar a organização, é possível adicionar outros administradores que podem ser duplicados em várias organizações.
Para realizar a integração, use o script Python
create_org_and_user.py. Invocar esse script sem argumentos de linha de comando faz com que ele solicite todas as informações:python create_org_and_user.py
Como alternativa, é possível transmitir qualquer uma ou todas as opções como argumento de linha de comando. Você vai precisar informar as informações que omitir na linha de comando:
python create_org_and_user.py -o '<org name>' python create_org_and_user.py -o '<org name>' -a '<new admin email>' -p '<new admin password>'
Para criar uma organização:
- Altere o diretório para
/opt/apigee/baas-usergrid/bin. - Invoque o script Python
create_org_and_user.py.O nome de usuário e a senha do administrador do sistema BaaS são solicitados para que apenas um administrador do sistema possa executá-lo.
- Faça login no portal da API BaaS em um navegador da Web usando o URL que você anotou no final da
instalação do URL do portal da API BaaS. Para acessar o portal, insira o URL do portal da API BaaS no
formulário:
http://portalExternalIP:9000/
- Quando a tela de login do portal aparecer, você poderá:
- Faça login usando o nome de usuário e a senha do administrador da organização.
- Faça login usando o nome de usuário e a senha do administrador do sistema.
Como acessar a API REST da API BaaS
Para acessar a API REST da API BaaS, use um URL no formato:
https://loadBalancerIP:8080/your-org/your-app
Em um ambiente de desenvolvimento, é possível instalar todos os componentes da API BaaS em um único nó, o que significa que você tem uma única pilha de API BaaS. Ou você pode ter um ambiente pequeno com um único nó de pilha da API BaaS e nenhum balanceador de carga. Nesses tipos de ambiente, é possível fazer chamadas de API diretamente para o nó da pilha da API BaaS:
curl -v "http://portalExternalIP:8080/status"
Para mais informações sobre como começar a usar o portal da API BaaS, consulte a documentação da Apigee em: http://apigee.com/docs/content/build-apps-home.
- Open