Installation for Azure Kubernetes
- Azure CLI
AZ_REPO=$(lsb_release -cs) echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | sudo tee /etc/apt/sources.list.d/azure-cli.list curl -L https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - sudo apt-get update && sudo apt-get install -y azure-cli |
- Login
az login |
- Inscrição para acesso a Azure Kubernetes NÃO PROD
az aks get-credentials --resource-group <XXX> --name <XXX> --subscription "XXX" |
Inscrição para acesso a Azure Kubernetes PROD
az aks get-credentials --resource-group <XXX> --name b2b-gb-aks-prod --subscription "XXX" |
Para verificar para qual ambiente está setado neste momento
kubectl config get-contexts |
Buscar por PODs
Todas as PODs do ambiente DEV que contenham no nome a string “item-service”
-- Find pods ids: kubectl logs -f <POD_ID> -n dev --since=1h |
Todas as PODs de um ambiente
–n
<environment>
Parâmetro para informar qual o ambiente
–f
<POD_ID>
Informa o nome da POD
--since
Informa o intervalo de tempo de busca do log
Comandos
Recuperar todas as PODs de DEV que contenham no nome o texto “item-service”:
kubectl get pods -n dev | grep item-service |
O comando AWK pega a primeira coluna do resultado obtido, no exemplo abaixo, ele usa a primeira coluna, “'{print $1}’”.
O $ é usado para transformar o conteúdo dentro do parênteses em uma variável.
kubectl logs $(kubectl get pods -n dev | grep item-service | awk '{print $1}') -n dev --since=1h |
Para ler os logs usando tipo “tail” usar o parâmetro -f logo após logs:
Para ler os logs de um módulo/app replicado em uma pod:
kubectl logs deployment/item-relay-service --all-containers=true -f -n uat |
Log das pods de desenvolvimento
O comando watch fica executando o comando dentro das aspas
kubectl logs -f $(kubectl get pods -n dev | grep item-service | awk '{print $1}') -n dev --since=1h |
-o wide : retorna algumas informações a mais
watch "kubectl get pods -n dev -o wide | grep item" |
Alterar a quantidade de PODs que estão ativas para um determinado micro serviço. O valor do parâmetro replica representa a quantidade final de PODs que estarão ativas. Inserindo o valor zero, força a finalização de todas as PODs.
kubectl scale deployment item-relay-service -n dev --replicas=2kubectl scale deployment item-service -n dev --replicas=0 |
Para editar o arquivo do kubernetes diretamente. O primeiro KUBE_EDITOR parâmetro força a utilização do editor NANO.
KUBE_EDITOR="nano" kubectl edit deployment item-service -n dev |
Executar algum comando dentro da pod de maneira interativa
kubectl exec -it item-consumer-service-54584f9567-nxs7x -n dev -- /bin/sh |
Para obter a versão de todos os micro serviços implantados no ambiente que você estiver logado
kubectl get pods --all-namespaces -o jsonpath="{..image}" |\tr -s '[[:space:]]' '\n' |\sort |\un |
Para obter a versão do Products-Service implantado no ambiente que você estiver logado
kubectl get pods -o jsonpath="{..image}" -l app=products-service |tr -s '[[:space:]]' '\n' |sort |uniq -c |