DEV Community

Nicolas de Souza
Nicolas de Souza

Posted on • Originally published at nicolasdesouza.com

Kubernetes + RabbitMQ

Instalação do cluster operator

  • Instalação de toda estrutura necessária para utilizar o RabbitMQ (services, imagens...)
 kubectl apply -f "https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml"
Enter fullscreen mode Exit fullscreen mode

Instalação do plugin krew

  • krew é utilizado para instalar plugins no cluster para facilitar a interação através de plugins
(
  set -x; cd "$(mktemp -d)" &&
  OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
  ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
  KREW="krew-${OS}_${ARCH}" &&
  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
  tar zxvf "${KREW}.tar.gz" &&
  ./"${KREW}" install krew
)
Enter fullscreen mode Exit fullscreen mode

É necessário salvar no arquivo .zshrc

nano .zshrc   
Enter fullscreen mode Exit fullscreen mode
  • No final do arquivo adicionamos a seguinte linha:
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
Enter fullscreen mode Exit fullscreen mode

Instalação do plugin rabbitmq

 kubectl krew install rabbitmq
Enter fullscreen mode Exit fullscreen mode

Utilizando o plugin rabbitmq

  • Este plugin fornece uma interface para operar a instância do RabbitMQ instalada no cluster
 kubectl rabbitmq create <nome_da_instancia>
Enter fullscreen mode Exit fullscreen mode
kubectl rabbitmq get <nome_da_instancia> 
Enter fullscreen mode Exit fullscreen mode
 kubectl rabbitmq delete <nome_da_instancia> 
Enter fullscreen mode Exit fullscreen mode

Obtendo os dados de acesso

kubectl rabbitmq secrets <nome_da_instancia> 
Enter fullscreen mode Exit fullscreen mode

Acessando a Manager UI

 kubectl rabbitmq manage <nome_da_instancia> 
Enter fullscreen mode Exit fullscreen mode
  • Será solicitado os dados de login obtidos com o comando secrets

Para acessar via APP

  • Necessário fazer o roteamento para que consigamos acessar
  • O serviço de mensagens funciona na porta 5672
  • O serviço de UI funciona na porta 15672
 kubectl port-forward <servico> 5672:5672
 kubectl port-forward <servico> 15672:15672
Enter fullscreen mode Exit fullscreen mode
  • Foi necessário passar os dados de acesso
user: default_user_dOjGazQi6DE0u23JWCu
password: 25j4FKb0ESJQc4cYUJzJvbbmZNelOWnJ
Enter fullscreen mode Exit fullscreen mode

Top comments (0)