Neste artigo trago diversas referências gratuitas (artigos, vídeos, slides, projetos de exemplo) que produzi sobre o Azure Kubernetes Service (AKS), alternativa que permite a utilização do Kubernetes a partir do Microsoft Azure.
Além disso, incluí aqui alguns problemas comuns que podem acontecer ao utilizarmos o serviço.
Artigos
- ASP.NET Core + Azure + Kubernetes: orquestração de containers na nuvem – Parte 01
- ASP.NET Core + Azure + Kubernetes: orquestração de containers na nuvem – Parte 02
Kubernetes – do Pod ao Deployment Automatizado (slides)
Vídeos
O uso do Kubernetes já foi tema de dois eventos online e gratuitos do Canal .NET, com a gravação disponível no YouTube e abordando desde os primeiros passos ao deployment automatizado via Azure DevOps (antigo VSTS):
Erro ao tentar executar o comando az aks get-credentials
Ao tentar conceder acesso via PowerShell ou bash para utilização de um cluster criado via Azure Kubernetes Service através do comando (considerando um grupo de recursos chamado TesteKubernetes, assim como um recurso do AKS denominado ContagemService):
az aks get-credentials --resource-group TesteKubernetes --name ContagemService
Poderá ser exibido o erro “A different object named <NOME DO RECURSO> already exists in clusters”, como indicado na próxima imagem (provavelmente um recurso com o mesmo nome foi criado antes e posteriormente excluído):
Para resolver esse problema, basta acrescentar o parâmetro –overwrite-existing ao comando mencionado anteriormente:
az aks get-credentials --resource-group TesteKubernetes --name ContagemService --overwrite-existing
É o que demonstra a imagem a seguir:
Erros de acesso ao Dashboard do Kubernetes
Com o comando a seguir (az aks browse
), temos acesso ao Dashboard do Kubernetes:
az aks browse -g TesteKubernetes -n ContagemService
Recentemente, no entanto, o acesso a essa função foi desativado no Azure, de forma a restringir o acesso ao cluster. Assim, é comum que sejam apresentados erros como os descritos nas próximas imagens:
A instrução a seguir permitirá que se libere o acesso ao Dashboard do Kubernetes:
kubectl create clusterrolebinding kubernetes-dashboard -n kube-system --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard
Finalmente teremos sucesso ao acessar o Dashboard do Kubernetes: