Eventos
17 de mar., 21 - 21 de mar., 10
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Neste início rápido, você usará a extensão de cluster do Dapr em um cluster do Kubernetes habilitado para o AKS ou Arc. Você implanta um hello world
exemplo, que consiste em um aplicativo Python que gera mensagens e um aplicativo Node.js que consome e persiste as mensagens.
Clone o repositório Inícios rápidos do Dapr usando o comando git clone
.
git clone https://github.com/Azure-Samples/dapr-aks-extension-quickstart.git
Altere para o diretório dapr-aks-extension-quickstart
.
Abra o portal do Azure para iniciar o fluxo de criação do Cache do Azure para Redis.
xxxxxx.redis.cache.windows.net
.6380
.Na folha Autenticação, digite o nome da Identidade Gerenciada que você criou como um pré-requisito no campo na caixa de seleção Habilitar Autenticação do Microsoft Entra.
Verifique se sua identidade gerenciada foi adicionada como permissões da Política de Acesso do Proprietário de Dados atribuída pelo usuário redis.
Para esse cenário, o cache Redis usa o acesso à rede pública. Certifique-se de limpar os recursos quando terminar este início rápido.
Em redis.yaml
, o componente é configurado para usar a Autenticação de ID de Entra usando a identidade de carga de trabalho habilitada para o cluster do AKS. Nenhuma chave de acesso é necessária.
- name: useEntraID
value: "true"
- name: enableTLS
value: true
No editor de código preferido, navegue até o diretório deploy
no exemplo e abra redis.yaml
.
Para redisHost
, substitua o valor do espaço reservado <REDIS_HOST>:<REDIS_PORT>
pelo nome do host do cache Redis e pela porta SSL que você salvou anteriormente no portal do Azure.
- name: redisHost
value: <your-cache-name>.redis.cache.windows.net:6380
Aplique o arquivo redis.yaml
usando o comando kubectl apply
.
kubectl apply -f ./deploy/redis.yaml
Verifique se o armazenamento do estado foi configurado com êxito usando o comando kubectl get components.redis
.
kubectl get components.redis -o yaml
Saída esperada
component.dapr.io/statestore created
Em node.yaml
, a especificação do pod tem rótulo adicionado para usar a identidade da carga de trabalho:
labels:
app: node
azure.workload.identity/use: "true"
Navegue até o diretório deploy
e abra node.yaml
.
Substitua o valor do espaço reservado <SERVICE_ACCOUNT_NAME>
pelo serviceAccountName
com o nome da conta de serviço que você criou.
Aplique a implantação do aplicativo Node.js ao seu cluster com o comando kubectl apply
.
kubectl apply -f ./deploy/node.yaml
As implantações do Kubernetes são assíncronas, portanto, antes de passar para as próximas etapas, verifique se a implantação foi concluída com o seguinte comando:
kubectl rollout status deploy/nodeapp
Acesse seu serviço usando o comando kubectl get svc
.
kubectl get svc nodeapp
Anote o EXTERNAL-IP
na saída.
Usando curl
, chame o serviço com seu EXTERNAL-IP
.
curl $EXTERNAL_IP/ports
Saída de exemplo
{"DAPR_HTTP_PORT":"3500","DAPR_GRPC_PORT":"50001"}
Envie uma ordem para o aplicativo.
curl --request POST --data "@sample.json" --header Content-Type:application/json $EXTERNAL_IP/neworder
Confirme o pedido.
curl $EXTERNAL_IP/order
Saída esperada
{ "orderId": "42" }
Em python.yaml
, a especificação do pod tem rótulo adicionado para usar a identidade da carga de trabalho:
labels:
app: node
azure.workload.identity/use: "true"
Navegue até o diretório deploy
e abra python.yaml
.
Substitua o valor do espaço reservado <SERVICE_ACCOUNT_NAME>
pelo serviceAccountName
com o nome da conta de serviço que você criou.
Implemente o aplicativo Python em seu cluster do Kubernetes com o comando kubectl apply
.
kubectl apply -f ./deploy/python.yaml
As implantações do Kubernetes são assíncronas, portanto, antes de passar para as próximas etapas, verifique se a implantação foi concluída com o seguinte comando:
kubectl rollout status deploy/pythonapp
Agora que os aplicativos Node.js e Python estão implantados, você pode ver as mensagens serem enviadas.
Obtenha os logs do aplicativo Node.js usando o comando kubectl logs
.
kubectl logs --selector=app=node -c node --tail=-1
Saída esperada
Got a new order! Order ID: 1
Successfully persisted state
Got a new order! Order ID: 2
Successfully persisted state
Got a new order! Order ID: 3
Successfully persisted state
Usando curl
, chame o ponto de extremidade de pedido do aplicativo Node.js para obter o pedido mais recente.
curl $EXTERNAL_IP/order
Você deve ver a saída JSON mais recente na resposta.
Se você não planeja mais usar os recursos deste início rápido, poderá excluir todos os recursos associados removendo o grupo de recursos.
Remova o grupo de recursos, o cluster, o namespace e todos os recursos relacionados usando o comando az group delete.
az group delete --name MyResourceGroup
Comentários do Azure Kubernetes Service
O Azure Kubernetes Service é um projeto código aberto. Selecione um link para fornecer comentários:
Eventos
17 de mar., 21 - 21 de mar., 10
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraTreinamento
Módulo
Projeto guiado – Implantar aplicativos no Serviço de Kubernetes do Azure - Training
Boas-vindas a esta experiência interativa de validação de habilidades. A conclusão deste módulo ajudará a preparar você para a avaliação Implantar e gerenciar contêineres com o Serviço de Kubernetes do Azure.
Certificação
Microsoft Certified: Azure Developer Associate - Certifications
Crie soluções de ponta a ponta no Microsoft Azure para criar Funções do Azure, implementar e gerenciar aplicativos Web, desenvolver soluções utilizando o Armazenamento do Microsoft Azure e muito mais.