Azure Kubernetes Services - AKS: referências gratuitas e dicas para solução de problemas comuns
Neste post 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 quando da utilização deste serviço.
Kubernetes - do Pod ao Deployment Automatizado (Slides)
Vídeos
O uso do Kubernetes já foi tema de 2 eventos online gratuitos do Canal .NET, com a gravação dos mesmos estando 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 este problema basta apenas 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 esta função foi desativado no Azure de forma a restringir o acesso a 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: