Edge para nuvem privada v4.19.01
Se você encontrar um erro durante uma atualização para o Edge 4.19.01, reverta o componente que causou o erro e tente atualizar novamente.
É possível reverter o Edge 4.19.01 para as seguintes versões de lançamento do recurso:
- Versão 4.18.05
- Versão 4.18.01
- Versão 4.17.09*
* Para reverter da versão 4.19.01 para 4.17.09, é necessário reverter o Postgres, além de reverter os componentes em cada nó. Se você reverter para a versão 4.18.01 ou 4.18.05, não será necessário reverter o Postgres, porque o processo de upgrade não incluía uma atualização do Postgres.
Há dois cenários em que convém realizar uma reversão:
- Reverter para uma versão anterior do recurso. Por exemplo, de 4.19.01 a 4.18.05.
- Reverter para uma versão atualizada anterior na mesma versão. Por exemplo, de 4.19.01.02 a 4.19.01.01.
Para mais informações, consulte o processo de lançamento do Apigee Edge.
Quem pode realizar uma reversão
O usuário que executa uma reversão precisa ser o mesmo que atualizou o Edge originalmente ou um usuário que está executando como raiz.
Por padrão, os componentes do Edge são executados como o usuário "apigee". Em alguns casos, é possível executar componentes do Edge como usuários diferentes. Por exemplo, se o roteador tiver que acessar portas privilegiadas, como as abaixo de 1.000, execute o roteador como raiz ou como um usuário com acesso a essas portas. Ou você pode executar um componente como um usuário e outro componente como outro usuário.
Componentes com código comum
Os componentes do Edge a seguir compartilham um código comum. Portanto, para reverter qualquer um desses componentes em um nó, é preciso reverter todos os componentes que estão nesse nó.
edge-management-server
(servidor de gerenciamento)edge-message-processor
(processador de mensagens)edge-router
(roteador)edge-postgres-server
(servidor Postgres)edge-qpid-server
(servidor Qpid)
Por exemplo, se você tiver o servidor de gerenciamento, o roteador e o processador de mensagens instalados no nó, será necessário reverter os três para reverter qualquer um deles.
Reverter para uma versão anterior de um recurso
Para reverter da versão 4.19.01 para 4.17.09, é preciso reverter o Postgres, além de reverter os componentes em cada nó. Se você reverter a versão 4.18.01 ou 4.18.05, não será necessário reverter o Postgres, porque o processo de upgrade não incluía uma atualização do Postgres.
Para reverter para uma versão anterior do recurso, faça o seguinte em cada nó que hospeda o componente:
-
Faça o download do arquivo
bootstrap.sh
para a versão que você quer reverter:- Para reverter para a versão 4.18.05, faça o download de
bootstrap_4.18.05.sh
:curl https://software.apigee.com/bootstrap_4.18.05.sh -o /tmp/bootstrap_4.18.05.sh
- Para reverter para a versão 4.18.01, faça o download de
bootstrap_4.18.01.sh
:curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh
- Para reverter para a versão 4.17.09, faça o download de
bootstrap_4.17.09.sh
:curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh
- Para reverter para a versão 4.18.05, faça o download de
- Interrompa o componente para a reversão:
- Para reverter qualquer um dos componentes com código comum no
nó, é preciso interromper todos eles, como mostra o exemplo a seguir:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
- Para reverter outro componente no nó, interrompa apenas esse componente:
/opt/apigee/apigee-service/bin/apigee-service component stop
- Para reverter qualquer um dos componentes com código comum no
nó, é preciso interromper todos eles, como mostra o exemplo a seguir:
- Se você estiver revertendo a monetização, desinstale-a de todos os nós do servidor de gerenciamento e do processador de mensagens:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- Desinstale o componente para reverter o nó:
- Para reverter qualquer um dos componentes com código comum no
nó, desinstale todos eles desinstalando o grupo de componentes
edge-gateway
, conforme o exemplo a seguir:/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- Para reverter qualquer outro componente no nó, desinstale apenas esse componente, como mostra o exemplo a seguir:
/opt/apigee/apigee-service/bin/apigee-service component uninstall
Em que component é o nome do componente.
- Para reverter o roteador de borda, exclua o conteúdo do
arquivo
/opt/nginx/conf.d
, além de desinstalar o grupo de componentesedge-gateway
:cd /opt/nginx/conf.d
rm -rf *
- Para reverter qualquer um dos componentes com código comum no
nó, desinstale todos eles desinstalando o grupo de componentes
- Desinstale a versão 4.19.01 de
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Instale a versão 4.18.05, 4.18.01 ou 4.17.09 do utilitário
apigee-service
e as dependências dele. O exemplo a seguir instala a versão 4.17.09 daapigee-service
:sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord
Em que uName e pWord são o nome de usuário e a senha que você recebeu da Apigee. Se você omitir o campo pWord, será necessário inseri-lo.
Se você receber um erro, faça o download do arquivo
bootstrap.sh
na etapa 1. - Instale
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Instale a versão mais antiga do componente:
/opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
Em que component é o componente a ser instalado e configFile é o arquivo de configuração para a versão mais antiga.
- Se você estiver revertendo o Qpid, limpe o iptables:
sudo iptables -F
- Repita esse processo para cada nó que hospeda o componente que você está revertendo.
Para reverter da versão 4.19.01 para 4.17.09, é preciso reverter o Postgres, além de reverter os componentes em cada nó. Se você reverter a versão 4.18.01 ou 4.18.05, não será necessário reverter o Postgres, porque o processo de upgrade não incluía uma atualização do Postgres.
Reverter para uma versão de atualização anterior
Para reverter um componente para uma versão específica de uma versão, faça o seguinte em cada nó que hospeda o componente:
- Faça o download da versão do componente específico:
/opt/apigee/apigee-service/bin/apigee-service component_version install
Em que component_version é o componente e a versão da atualização a ser instalada. Por exemplo:
/opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-0.0.3749 install
Se você estiver usando o repositório on-line da Apigee, poderá determinar as versões dos componentes disponíveis usando o seguinte comando:
yum --showduplicates list comp
Exemplo:
yum --showduplicates list edge-ui
- Use
apigee-setup
para instalar o componente:/opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
Exemplo:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
Observe que você só especifica o nome do componente ao instalá-lo, não a versão.
- Repita esse processo para cada nó que hospeda o componente que você está revertendo.
Para reverter da versão 4.19.01 para 4.17.09, é preciso reverter o Postgres, além de reverter os componentes em cada nó. Se você reverter a versão 4.18.01 ou 4.18.05, não será necessário reverter o Postgres, porque o processo de upgrade não incluía uma atualização do Postgres.
Reverter a atualização do Postgres 9.6
Se você fez upgrade da versão 4.17.09 para a 4.19.01, é necessário reverter a atualização do Postgres, além dos componentes do Edge.
Para reverter a atualização do Postgres ao atualizar o Postgres em uma configuração mestre em espera:
- Promova o novo nó de espera para se tornar o mestre do Postgres. O novo mestre do Postgres terá a mesma versão da instalação anterior do Edge.
- Configure o nó de espera antigo para ser um nó de espera do novo mestre. O antigo nó de espera será a mesma da instalação anterior do Edge.
- Registre os novos nós mestre e de espera com os grupos de análise e consumidor.
Quando a reversão for concluída, o nó mestre antigo não será mais necessário. Em seguida, desative o nó mestre antigo.
- Verifique se o novo nó do Postgres em espera está em execução:
/opt/apigee/apigee-service/bin/apigee-all status
Inicie o Postgres se ele não estiver em execução:
/opt/apigee/apigee-service/bin/apigee-all start
- Verifique se o Postgres está interrompido no nó mestre antigo e no nó de espera antigo:
/opt/apigee/apigee-service/bin/apigee-all status
Se o Postgres estiver em execução, interrompa-o:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Se instalado, inicie o Qpid no nó de espera antigo:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- Promova o novo nó de espera como mestre do Postgres:
- Promova o novo nó de espera para ser o novo mestre:
apigee-service apigee-postgresql promote-standby-to-master new_standby_IP
Se solicitado, digite a senha do Postgres para o usuário "apigee", que tem como padrão "postgres".
- Edite o arquivo de configuração usado para instalar a versão atual do Edge para especificar
o seguinte:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Configure o novo mestre:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- Promova o novo nó de espera para ser o novo mestre:
- Recrie o antigo nó de espera:
- Edite o arquivo de configuração usado para instalar a versão atual do Edge para especificar
o seguinte:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Remova o diretório de dados do nó de espera antigo:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Reconfigure o antigo nó de espera para ser um nó de espera do novo mestre:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Verifique se o Postgres está sendo executado no nó de espera antigo:
/opt/apigee/apigee-service/bin/apigee-all status
Se ele não estiver em execução, inicie-o:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
- Edite o arquivo de configuração usado para instalar a versão atual do Edge para especificar
o seguinte:
- Verifique se o novo nó de espera foi adicionado visualizando o arquivo
/opt/apigee/apigee-postgresql/conf/pg_hba.conf
no novo mestre. - Visualize as informações atuais de análise e grupo de consumidores executando o seguinte comando
no servidor de gerenciamento:
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Esse comando retorna o nome do grupo de análise no campo
name
e o nome do grupo de consumidores no camponame
emconsumer-groups
. Ela também retorna os UUIDs dos nós mestres e de espera do Postgres antigos nos campospostgres-server
edatastores
. Você verá a saída no formato:{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test", "sgilson~prod" ], "uuids" : { "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ], "postgres-server" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ], "datastores" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ], "properties" : { } } ], "data-processors" : { } }
- Consiga o endereço UUID do mestre antigo executando o seguinte comando
curl
no nó mestre antigo:curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self
Você verá o UUID do nó no final da saída, no formato:
"type" : [ "postgres-server" ], "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
- Repita a etapa anterior para conseguir os endereços IP do antigo nó de espera e do novo mestre.
- Remova os nós mestre e de espera antigos do grupo de consumidores:
curl -u sysAdminEmail:password -X DELETE \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v
Em que axgroup-001 e consumer-group-001 são os nomes padrão dos grupos de análises e consumidores. masterUUID,standbyUUID estão na mesma ordem em que apareceram acima, quando você visualizou a análise atual e as informações do grupo de consumidores acima. Talvez seja necessário especificá-los como standbyUUID,masterUUID.
A propriedade
datastores
paraconsumer-groups
agora precisa estar vazia. - Remova os nós mestre e de espera antigos do grupo de análise:
curl -u sysAdminEmail:password -X DELETE \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
A propriedade
postgres-server
emuuids
agora estará vazia. - Registre os novos nós mestres e de espera da PG com os grupos de análise e consumidor:
curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
- Valide o grupo de análise:
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Você verá os UUIDs dos novos nós mestre e de espera listados no grupo de análise e no grupo de consumidores.
- Reinicie o Servidor de Gerenciamento de Borda:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Reinicie todos os servidores Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Reinicie todos os servidores Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Verifique o status da replicação emitindo os seguintes scripts nos dois servidores. O sistema precisa exibir resultados idênticos nos dois servidores para garantir uma replicação bem-sucedida:
No novo mestre, execute:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Confirme se ele indica que é o mestre. No antigo nó de espera:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Confirme se ele diz que é o de espera.
- Repita a etapa anterior depois de fazer várias solicitações de API para garantir que os nós estejam sincronizados.
- Desative o mestre antigo do Postgres usando o procedimento em
Atualizar o Apigee Edge
4.16.01/4.16.05 para 4.17.09.
Como alternativa, você pode desinstalar o Qpid do mestre antigo e instalar o Qpid no novo nó mestre. Depois de desinstalar o Qpid, desative o nó mestre antigo.
Desinstalar o Qpid do mestre antigo e instalar o Qpid no novo mestre
Para desinstalar o Qpid do mestre antigo e instalá-lo no novo mestre:
- Bloqueie o acesso dos processadores de mensagens à porta 5672 do Qpid no mestre antigo
executando o seguinte comando em todos os processadores de mensagens:
iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
- Execute o comando a seguir para verificar se a fila de mensagens do Qpid está vazia. Não é possível
desinstalar o Qpid até que ele tenha processado todas as mensagens pendentes:
qpid-stat -q
Esse comando exibe uma tabela contendo uma contagem de
msg, msgIn, and msgOut
. Todas as mensagens terão sido processadas quandomsg=0
emsgIn=msgOut
. - Determine o UUID do servidor Qpid no mestre antigo executando o comando a seguir
nele. Salve estas informações para depois no procedimento:
curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- Pare o Qpid no mestre antigo:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- Desinstale o servidor Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
- Remova o antigo servidor Qpid dos grupos de análise e consumidor:
curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
curl -u sysAdminEmail:password -X DELETE \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
- Remova o antigo servidor Qpid do Zookeeper:
curl -u sysAdminEmail:password -X DELETE \ http://ms_IP:8080/v1/servers/qpid_UUID
- Instale o Qpid no novo mestre:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
- Determine o UUID do servidor Qpid no novo mestre executando o comando a seguir
nele. Salve estas informações para depois no procedimento:
curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
- Registre o novo servidor Qpid com os grupos de análise e consumidor:
curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d '' \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers?uuid=qpid_UUID" -v
- Reinicie todos os processadores de mensagens:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Execute o seguinte comando no novo servidor Qpid para verificar se as filas foram criadas:
qpid-stat -q
Verifique se
msg
,msgIn
emsgOut
são atualizados enquanto o servidor Qpid processa mensagens.
Entre em contato com o suporte do Apigee Edge se tiver problemas ao reverter.