Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Helm é uma ferramenta de empacotamento de código aberto que ajuda você a instalar e gerenciar o ciclo de vida dos aplicativos Kubernetes. Semelhante aos gerenciadores de pacotes Linux como APT e Yum, o Helm gerencia gráficos Kubernetes, que são pacotes de recursos Kubernetes pré-configurados.
Neste início rápido, você usa o Helm para empacotar e executar um aplicativo no AKS. Para obter informações sobre como instalar um aplicativo existente usando o Helm, consulte Instalar aplicativos existentes com o Helm no AKS.
Prerequisites
- Uma assinatura do Azure. Se não tiver uma subscrição do Azure, pode criar uma conta gratuita.
- CLI do Azure ou Azure PowerShell instalado.
- Helm v3 instalado.
Criar um Registo de Contentores do Azure
Você precisa armazenar suas imagens de contêiner em um Registro de Contêiner do Azure (ACR) para executar seu aplicativo em seu cluster AKS usando o Helm. Seu nome do Registro deve ser exclusivo no Azure e conter de 5 a 50 caracteres alfanuméricos. Apenas caracteres minúsculos são permitidos. O SKU básico é um ponto de entrada com custo otimizado para fins de desenvolvimento que fornece um equilíbrio entre armazenamento e taxa de transferência.
- Azure CLI
- Azure PowerShell
Crie um grupo de recursos do Azure usando o comando az group create . O exemplo seguinte cria um grupo de recursos com o nome myResourceGroup na localização eastus.
az group create --name myResourceGroup --location eastusCrie um Registro de Contêiner do Azure com um nome exclusivo chamando o comando az acr create . O exemplo a seguir cria um ACR chamado myhelmacr com a SKU básica .
az acr create --resource-group myResourceGroup --name myhelmacr --sku BasicSua saída deve ser semelhante à saída de exemplo condensada a seguir. Anote o valor do seu loginServer para utilização pelo seu ACR num passo posterior.
{ "adminUserEnabled": false, "creationDate": "2023-12-26T22:36:23.998425+00:00", "id": "/subscriptions/<ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myhelmacr", "location": "eastus", "loginServer": "myhelmacr.azurecr.io", "name": "myhelmacr", "networkRuleSet": null, "provisioningState": "Succeeded", "resourceGroup": "myResourceGroup", "sku": { "name": "Basic", "tier": "Basic" }, "status": null, "storageAccount": null, "tags": {}, "type": "Microsoft.ContainerRegistry/registries" }
Criar um cluster do AKS
O seu novo cluster AKS precisa de aceder ao seu ACR para obter as imagens de contentor e executá-las.
- Azure CLI
- Azure PowerShell
Crie um cluster AKS usando o comando az aks create com o
--attach-acrparâmetro para conceder ao cluster acesso ao seu ACR. O exemplo a seguir cria um cluster AKS chamado myAKSCluster e concede acesso ao ACR myhelmacr . Certifique-se de substituirmyhelmacrpelo nome do seu ACR.az aks create --resource-group myResourceGroup --name myAKSCluster --location eastus --attach-acr myhelmacr --generate-ssh-keys
Conecte-se ao cluster AKS
Para conectar um cluster Kubernetes localmente, use o cliente de linha de comando Kubernetes, kubectl.
kubectl já está instalado se você usar o Azure Cloud Shell.
- Azure CLI
- Azure PowerShell
Instale
kubectllocalmente usando o comando az aks install-cli.az aks install-cliConfigure
kubectlpara se conectar ao cluster Kubernetes usando o comando az aks get-credentials. O comando a seguir obtém credenciais para o cluster AKS chamado myAKSCluster em myResourceGroup.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Baixe o aplicativo de exemplo
Este guia de início rápido usa a aplicação Azure Vote.
Clone o aplicativo do GitHub usando o
git clonecomando.git clone https://github.com/Azure-Samples/azure-voting-app-redis.gitNavegue até o
azure-votediretório usando ocdcomando.cd azure-voting-app-redis/azure-vote/
Crie e envie o aplicativo de exemplo para o ACR
Crie e envie a imagem para o seu ACR usando o comando az acr build . O exemplo a seguir cria uma imagem chamada azure-vote-front:v1 e a envia por push para o ACR myhelmacr . Certifique-se de substituir
myhelmacrpelo nome do seu ACR.az acr build --image azure-vote-front:v1 --registry myhelmacr --file Dockerfile .
Note
Você também pode importar gráficos Helm para seu ACR. Para obter mais informações, consulte Enviar e puxar gráficos de leme para um registro de contêiner do Azure.
Cria o teu Helm chart
Gere o Helm chart usando o comando
helm create.helm create azure-vote-frontAtualize azure-vote-front/Chart.yaml para adicionar uma dependência para o gráfico redis do
https://charts.bitnami.com/bitnamirepositório de gráficos e atualizeappVersionparav1, conforme mostrado no exemplo a seguir:Note
As versões de imagem de contêiner mostradas neste guia foram testadas para funcionar com este exemplo, mas podem não ser a versão mais recente disponível.
apiVersion: v2 name: azure-vote-front description: A Helm chart for Kubernetes dependencies: - name: redis version: 17.3.17 repository: https://charts.bitnami.com/bitnami ... # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. appVersion: v1Atualize as dependências do gráfico Helm usando o
helm dependency updatecomando.helm dependency update azure-vote-frontAtualize azure-vote-front/values.yaml com as seguintes alterações.
- Adicione uma seção redis para definir os detalhes da imagem, a porta do contêiner e o nome da implantação.
- Adicione um backendName para conectar a parte frontal à implementação do redis.
- Altere image.repository para
<loginServer>/azure-vote-front. - Altere image.tag para
v1. - Altere service.type para LoadBalancer.
Por exemplo:
replicaCount: 1 backendName: azure-vote-backend-master redis: image: registry: mcr.microsoft.com repository: oss/bitnami/redis tag: 6.0.8 fullnameOverride: azure-vote-backend auth: enabled: false image: repository: myhelmacr.azurecr.io/azure-vote-front pullPolicy: IfNotPresent tag: "v1" ... service: type: LoadBalancer port: 80 ...Adicione uma
envseção a azure-vote-front/templates/deployment.yaml para passar o nome da implantação do redis .... containers: - name: {{ .Chart.Name }} securityContext: {{- toYaml .Values.securityContext | nindent 12 }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} env: - name: REDIS value: {{ .Values.backendName }} ...
Execute seu gráfico Helm
Instale seu aplicativo usando o gráfico Helm usando o
helm installcomando.helm install azure-vote-front azure-vote-front/Leva alguns minutos para o serviço retornar um endereço IP público. Monitore o progresso usando o
kubectl get servicecomando com o--watchargumento.kubectl get service azure-vote-front --watchQuando o serviço estiver pronto, o
EXTERNAL-IPvalor muda de<pending>para um endereço IP. PressioneCTRL+Cpara parar o processo dekubectlmonitorização.NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE azure-vote-front LoadBalancer 10.0.18.228 <pending> 80:32021/TCP 6s ... azure-vote-front LoadBalancer 10.0.18.228 52.188.140.81 80:32021/TCP 2m6sNavegue até o balanceador de carga do seu aplicativo em um navegador usando o
<EXTERNAL-IP>para ver o aplicativo de exemplo.
Eliminar o cluster
- Azure CLI
- Azure PowerShell
Remova seu grupo de recursos, cluster AKS, registro de contêiner do Azure, imagens de contêiner armazenadas no ACR e todos os recursos relacionados usando o comando az group delete com o parâmetro para confirmar a
--yesexclusão e o--no-waitparâmetro para retornar ao prompt de comando sem esperar a conclusão da operação.az group delete --name myResourceGroup --yes --no-wait
Note
Se você criou seu cluster AKS com uma identidade gerenciada atribuída ao sistema (a opção de identidade padrão neste início rápido), a identidade é gerenciada pela plataforma e não requer remoção.
Se você criou seu cluster AKS com uma entidade de serviço, a entidade de serviço não será removida quando você excluir o cluster. Para remover o principal de serviço, consulte Considerações e exclusão do principal de serviço AKS.
Próximos passos
Para obter mais informações sobre como usar o Helm, consulte a documentação do Helm.