Edge para nuvem privada v4.18.01
Como criar uma organização, um ambiente e um host virtual ao mesmo tempo
Vídeo: assista a um vídeo curto com uma visão geral da configuração da organização da Apigee.
Antes de criar um proxy de API no Apigee Edge, você precisa criar pelo menos uma organização e, em cada organização, um ou mais ambientes e hosts virtuais.
Normalmente, organizações e ambientes são criados juntos. Para simplificar o processo, use o utilitário apigee-provision
.
Invoque-o na linha de comando do Servidor de gerenciamento de borda:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
O arquivo de configuração contém:
# Set Edge sys admin credentials. ADMIN_EMAIL=your@email.com APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. NEW_USER="y" USER_NAME=orgAdmin@myCo.com FIRST_NAME=foo LAST_NAME=bar USER_PWD="userPwrod" ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod VHOST_PORT=9001 VHOST_NAME=default VHOST_ALIAS="$IP1:9001" # Optionally configure TLS/SSL for virtual host. # VHOST_SSL=y # Set to "y" to enable TLS/SSL on the virtual host. # KEYSTORE_JAR= # JAR file containing the cert and private key. # KEYSTORE_NAME= # Name of the keystore. # KEYSTORE_ALIAS= # The key alias. # KEY_PASSWORD= # The key password, if it has one. # Optionally set the base URL displayed by the Edge UI for an # API proxy deployed to the virtual host. # VHOST_BASEURL="http://myCo.com" # AXGROUP=axgroup-001 # Default value is axgroup-001
O comando:
- Criar a organização
Observação: não é possível renomear uma organização depois de criá-la. - associar a organização a um pod. Por padrão, ele é associado ao pod "gateway"
- Adicione o usuário especificado como o administrador da organização. Se o usuário não existir, crie um.
- Criar um ou mais ambientes
- Criar um ou mais hosts virtuais para cada ambiente
- Associe o ambiente a todos os processadores de mensagens
- Ativar análise
Para um arquivo de configuração silencioso completo, consulte Integrar uma organização.
Por padrão, o comprimento máximo do nome da organização e do nome do ambiente é de 20 caracteres ao usar o utilitário apigee-provision
. Esse limite não será aplicado se você usar a API Edge diretamente para criar a organização ou o ambiente.
Criar uma organização
Use o comando create-org para criar uma organização:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-org -f configFile
Esse script cria a organização, mas não adiciona nem configura os ambientes e hosts virtuais exigidos pela organização para processar chamadas de API.
O arquivo de configuração contém o nome da organização e o endereço de e-mail do administrador. Os caracteres que você pode usar no atributo de nome são restritos a: a-z0-9\-$%. Não use espaços, pontos ou letras maiúsculas no nome:
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ORG_ADMIN=orgAdmin@myCo.com
O comando:
- Cria a organização
- Associa a organização a um pod. Por padrão, é associado ao pod "gateway"
- Adiciona o usuário especificado como o administrador da organização. O usuário precisa já existir. Caso contrário, o script emite um erro.
<Error> <Code>organizations.OrganizationAlreadyExists</Code> <Message>Organization : test already exists</Message> <Contexts/> </Error>
Criar uma organização usando chamadas de API
Também é possível usar as seguintes chamadas de API para criar uma organização. A primeira chamada cria a organização:
curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \ -X POST http://ms-ip:8080/v1/organizations \ -d '<Organization name="org-name" type="paid"/>'
A próxima chamada associa a organização a um pod:
curl -H "Content-Type:application/x-www-form-urlencoded" \ -u sysAdminEmail:adminPasswd -X POST \ http://ms-ip:8080/v1/organizations/org-name/pods \ -d "region=default&pod=gateway"
É possível fazer essa chamada várias vezes para associar a organização a vários pods.
Na chamada final, um usuário é adicionado como administrador da organização:
curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \ -X POST http://ms-ip:8080/v1/organizations/org-name/users/user-email/userroles/ \ -d '<Roles><Role name="orgadmin"/></Roles>'
Se o usuário não existir, use a chamada a seguir para criar o usuário, conforme descrito em "Adicionar um usuário".
Criar um ambiente
Use o comando add-env
para
criar um ambiente em uma organização atual:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision add-env -f configFile
Este arquivo de configuração contém as informações necessárias para criar o ambiente e o host virtual:
APIGEE_ADMINPW=adminPword # If omitted, you are prompted for it. ORG_NAME=example # lowercase only, no spaces, underscores, or periods. ENV_NAME=prod VHOST_PORT=9001 VHOST_NAME=default VHOST_ALIAS="$IP1:9001" # Optionally configure TLS/SSL for virtual host. # VHOST_SSL=y # Set to "y" to enable TLS/SSL on the virtual host. # KEYSTORE_JAR= # JAR file containing the cert and private key. # KEYSTORE_NAME= # Name of the keystore. # KEYSTORE_ALIAS= # The key alias. # KEY_PASSWORD= # The key password, if it has one. # Optionally set the base URL displayed by the Edge UI for an # API proxy deployed to the virtual host. # VHOST_BASEURL="http://myCo.com" # AXGROUP=axgroup-001 # Default value is axgroup-001
O comando:
- Cria o ambiente
- cria um host virtual único para o ambiente;
- Associa o ambiente a todos os processadores de mensagens no pod associado à organização que contém o ambiente.
- Ativação da análise
Observação: se você ativar a análise para um ambiente em uma organização, precisará ativar a análise para todos os ambientes da organização.
Criar um ambiente usando chamadas de API
Também é possível usar as seguintes chamadas de API para criar um ambiente. A primeira chamada cria o ambiente:
curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \ -X POST http://ms-ip:8080/v1/organizations/org-name/environments \ -d '<Environment name="env-name"/>'
A próxima chamada associa o ambiente a um processador de mensagens. Faça essa chamada para cada processador de mensagens que você quer associar ao ambiente:
curl -H "Content-Type:application/x-www-form-urlencoded" \ -u sysAdminEmail:adminPasswd -X POST \ http://ms-ip:8080/v1/organizations/org-name/environments/env-name/servers \ -d "action=add&uuid=uuid"
Em que uuid é o UUID do processador de mensagens. Para conseguir o UUID, use o comando:
curl http://mp-ip:8082/v1/servers/self
em que mp-ip é o endereço IP do processador de mensagens.
A próxima chamada de API ativa o Google Analytics para um determinado ambiente. Ela valida a existência de servidores Qpid e Postgres nos PODs de todos os data centers. Em seguida, ele inicia a integração do Google Analytics da organização e do ambiente especificados.
/opt/apigee/apigee-service/bin/apigee-service apigee-provision enable-ax -f configFile
Esse arquivo de configuração contém:
ORG_NAME=orgName # lowercase only, no spaces, underscores, or periods. ENV_NAME=envName
curl -H "Content-Type:application/json" -u sysAdminEmail:adminPasswd -X POST http://ms-ip:8080/v1/organizations/org-name/environments/env-name/analytics/admin -d "@sample.json"
Em que sample.json contém o seguinte:
{ "properties" : { "samplingAlgo" : "reservoir_sampler", "samplingTables" : "10=ten;1=one;", "aggregationinterval" : "300000", "samplingInterval" : "300000", "useSampling" : "100", "samplingThreshold" : "100000" }, "servers" : { "postgres-server" : [ "1acff3a5-8a6a-4097-8d26-d0886853239c", "f93367f7-edc8-4d55-92c1-2fba61ccc4ab" ], "qpid-server" : [ "d3c5acf0-f88a-478e-948d-6f3094f12e3b", "74f67bf2-86b2-44b7-a3d9-41ff117475dd"] } }
A propriedade postgres-servers
contém uma lista separada por vírgulas dos UUIDs do Postgres, e a propriedade qpid-server
contém os UUIDs Qpid. Se você precisar
receber esses UUIDs, use os comandos a seguir.
Para Qpid, execute o comando:
curl -u sysAdminEmail:passwd http://ms-ip/v1/servers?pod=central
A saída desse comando é um objeto JSON. Para cada servidor Qpid, você verá a saída no formato:
"type" : [ "qpid-server" ], "uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"
No Postgres, execute o comando:
curl -u sysAdminEmail:passwd http://ms-ip/v1/servers?pod=analytics
A saída de cada servidor Postgres é exibida no formato:
"type" : [ "postgres-server" ], "uUID" : "d3c5acf0-f88a-478e-948d-6f3094f12e3b"
Criar um host virtual
É possível criar um host virtual em um ambiente atual de uma organização. Geralmente, um ambiente oferece suporte a vários hosts virtuais. Por exemplo, um host virtual aceita o protocolo HTTP, enquanto outro no mesmo ambiente oferece suporte ao protocolo HTTPS criptografado.
Use a seguinte chamada de API para criar hosts virtuais adicionais ou para um ambiente sem host virtual:
curl -H "Content-Type:application/xml" -u sysAdminEmail:adminPasswd \ -X POST http://ms-ip:8080/v1/organizations/org-name/environments/env-name/virtualhosts \ -d '<VirtualHost name="default"> \ <HostAliases> \ <HostAlias>myorg-test.apigee.net</HostAlias> \ </HostAliases> \ <Interfaces/> \ <Port>443</Port> \ </VirtualHost>'
Para uma descrição completa da criação de um host virtual, incluindo a criação de um host virtual seguro que usa TLS/SSL sobre HTTPS, consulte Como configurar o acesso TLS a uma API para a nuvem privada.