Perguntas frequentes sobre o AKS (serviço kubernetes do Azure)Frequently asked questions about Azure Kubernetes Service (AKS)

Este artigo aborda perguntas frequentes sobre o AKS (serviço kubernetes do Azure).This article addresses frequent questions about Azure Kubernetes Service (AKS).

Quais regiões do Azure atualmente fornecem AKS?Which Azure regions currently provide AKS?

Para obter uma lista completa das regiões disponíveis, consulte regiões e disponibilidade do AKS.For a complete list of available regions, see AKS regions and availability.

O AKS dá suporte ao dimensionamento automático de nós?Does AKS support node autoscaling?

Sim, a capacidade de dimensionar automaticamente os nós de agente horizontalmente no AKS está disponível atualmente na versão prévia.Yes, the ability to automatically scale agent nodes horizontally in AKS is currently available in preview. Consulte dimensionar automaticamente um cluster para atender às demandas de aplicativos no AKs para obter instruções.See Automatically scale a cluster to meet application demands in AKS for instructions. O dimensionamento automático do AKS é baseado no dimensionador automático do kubernetes.AKS autoscaling is based on the Kubernetes autoscaler.

Posso implantar o AKS em minha rede virtual existente?Can I deploy AKS into my existing virtual network?

Sim, você pode implantar um cluster AKS em uma rede virtual existente usando o recurso de rede avançado.Yes, you can deploy an AKS cluster into an existing virtual network by using the advanced networking feature.

Posso limitar quem tem acesso ao servidor de API do kubernetes?Can I limit who has access to the Kubernetes API server?

Sim, você pode limitar o acesso ao servidor de API kubernetes usando intervalos de IP autorizados do servidor de API, que está atualmente em versão prévia.Yes, you can limit access to the Kubernetes API server using API Server Authorized IP Ranges, which is currently in preview.

Posso tornar o servidor de API kubernetes acessível somente dentro da minha rede virtual?Can I make the Kubernetes API server accessible only within my virtual network?

Não neste momento, mas isso está planejado.Not at this time, but this is planned. Você pode acompanhar o progresso no repositório GitHub do AKS.You can track progress on the AKS GitHub repo.

Posso ter diferentes tamanhos de VM em um único cluster?Can I have different VM sizes in a single cluster?

Sim, você pode usar diferentes tamanhos de máquina virtual em seu cluster AKS criando vários pools de nós, que estão atualmente em visualização.Yes, you can use different virtual machine sizes in your AKS cluster by creating multiple node pools, which is currently in preview.

As atualizações de segurança são aplicadas aos nós do agente do AKS?Are security updates applied to AKS agent nodes?

O Azure aplica automaticamente patches de segurança aos nós do Linux em seu cluster em um agendamento noturno.Azure automatically applies security patches to the Linux nodes in your cluster on a nightly schedule. No entanto, você é responsável por garantir que esses nós do Linux sejam reinicializados conforme necessário.However, you are responsible for ensuring that those Linux nodes are rebooted as required. Você tem várias opções para reinicializar nós:You have several options for rebooting nodes:

  • Manualmente, por meio do portal do Azure ou do CLI do Azure.Manually, through the Azure portal or the Azure CLI.
  • Atualizando o cluster AKS.By upgrading your AKS cluster. O cluster atualiza os nós Cordon e dreno automaticamente e, em seguida, coloca um novo nó online com a imagem mais recente do Ubuntu e uma nova versão do patch ou uma versão secundária do kubernetes.The cluster upgrades cordon and drain nodes automatically and then bring a new node online with the latest Ubuntu image and a new patch version or a minor Kubernetes version. Para obter mais informações, consulte atualizar um cluster AKs.For more information, see Upgrade an AKS cluster.
  • Usando o Kured, um daemon de reinicialização de código aberto para kubernetes.By using Kured, an open-source reboot daemon for Kubernetes. Kured é executado como um daemonset e monitora cada nó para a presença de um arquivo que indica que uma reinicialização é necessária.Kured runs as a DaemonSet and monitors each node for the presence of a file that indicates that a reboot is required. No cluster, as reinicializações do sistema operacional são gerenciadas pelo mesmo processo de Cordon e drenagem como uma atualização de cluster.Across the cluster, OS reboots are managed by the same cordon and drain process as a cluster upgrade.

Para obter mais informações sobre como usar o kured, consulte aplicar segurança e atualizações de kernel a nós no AKs.For more information about using kured, see Apply security and kernel updates to nodes in AKS.

Nós do Windows ServerWindows Server nodes

Para nós do Windows Server (atualmente em visualização no AKS), Windows Update não executa automaticamente e aplica as atualizações mais recentes.For Windows Server nodes (currently in preview in AKS), Windows Update does not automatically run and apply the latest updates. Em um cronograma regular em relação ao ciclo de liberação Windows Update e seu próprio processo de validação, você deve executar uma atualização no cluster e nos pools de nó do Windows Server no cluster AKS.On a regular schedule around the Windows Update release cycle and your own validation process, you should perform an upgrade on the cluster and the Windows Server node pool(s) in your AKS cluster. Esse processo de atualização cria nós que executam a imagem e os patches mais recentes do Windows Server e, em seguida, remove os nós mais antigos.This upgrade process creates nodes that run the latest Windows Server image and patches, then removes the older nodes. Para obter mais informações sobre esse processo, consulte atualizar um pool de nós no AKs.For more information on this process, see Upgrade a node pool in AKS.

Por que dois grupos de recursos são criados com o AKS?Why are two resource groups created with AKS?

Cada implantação do AKS abrange dois grupos de recursos:Each AKS deployment spans two resource groups:

  1. Você cria o primeiro grupo de recursos.You create the first resource group. Esse grupo contém apenas o recurso de serviço kubernetes.This group contains only the Kubernetes service resource. O provedor de recursos AKS cria automaticamente o segundo grupo de recursos durante a implantação.The AKS resource provider automatically creates the second resource group during deployment. Um exemplo do segundo grupo de recursos é MC_myResourceGroup_myAKSCluster_eastus.An example of the second resource group is MC_myResourceGroup_myAKSCluster_eastus. Para obter informações sobre como especificar o nome desse segundo grupo de recursos, consulte a próxima seção.For information on how to specify the name of this second resource group, see the next section.
  2. O segundo grupo de recursos, conhecido como grupo de recursos de nó, contém todos os recursos de infraestrutura associados ao cluster.The second resource group, known as the node resource group, contains all of the infrastructure resources associated with the cluster. Esses recursos incluem as VMs do nó kubernetes, a rede virtual e o armazenamento.These resources include the Kubernetes node VMs, virtual networking, and storage. Por padrão, o grupo de recursos de nó tem um nome como MC_myResourceGroup_myAKSCluster_eastus.By default, the node resource group has a name like MC_myResourceGroup_myAKSCluster_eastus. O AKS exclui automaticamente o recurso de nó sempre que o cluster é excluído, portanto, ele só deve ser usado para recursos que compartilham o ciclo de vida do cluster.AKS automatically deletes the node resource whenever the cluster is deleted, so it should only be used for resources which share the cluster's lifecycle.

Posso fornecer meu próprio nome para o grupo de recursos do nó AKS?Can I provide my own name for the AKS node resource group?

Sim.Yes. Por padrão, AKS nomeará o grupo de recursos do nó MC_resourcegroupname_clustername_location, mas você também poderá fornecer seu próprio nome.By default, AKS will name the node resource group MC_resourcegroupname_clustername_location, but you can also provide your own name.

Para especificar seu próprio nome de grupo de recursos, instale o AKs-preview CLI do Azure versão de extensão 0.3.2 ou posterior.To specify your own resource group name, install the aks-preview Azure CLI extension version 0.3.2 or later. Ao criar um cluster AKS usando o comando AZ AKs Create , use o parâmetro --node-Resource-Group e especifique um nome para o grupo de recursos.When you create an AKS cluster by using the az aks create command, use the --node-resource-group parameter and specify a name for the resource group. Se você usar um modelo de Azure Resource Manager para implantar um cluster AKs, poderá definir o nome do grupo de recursos usando a propriedade nodeResourceGroup .If you use an Azure Resource Manager template to deploy an AKS cluster, you can define the resource group name by using the nodeResourceGroup property.

  • O grupo de recursos secundário é criado automaticamente pelo provedor de recursos do Azure em sua própria assinatura.The secondary resource group is automatically created by the Azure resource provider in your own subscription.
  • Você pode especificar um nome de grupo de recursos personalizado somente quando estiver criando o cluster.You can specify a custom resource group name only when you're creating the cluster.

Ao trabalhar com o grupo de recursos do nó, tenha em mente que não é possível:As you work with the node resource group, keep in mind that you cannot:

  • Especifique um grupo de recursos existente para o grupo de recursos do nó.Specify an existing resource group for the node resource group.
  • Especifique uma assinatura diferente para o grupo de recursos do nó.Specify a different subscription for the node resource group.
  • Altere o nome do grupo de recursos do nó depois que o cluster tiver sido criado.Change the node resource group name after the cluster has been created.
  • Especifique nomes para os recursos gerenciados dentro do grupo de recursos do nó.Specify names for the managed resources within the node resource group.
  • Modifique ou exclua marcas de recursos gerenciados dentro do grupo de recursos do nó.Modify or delete tags of managed resources within the node resource group. (Consulte informações adicionais na próxima seção.)(See additional information in the next section.)

Posso modificar marcas e outras propriedades dos recursos do AKS no grupo de recursos do nó?Can I modify tags and other properties of the AKS resources in the node resource group?

Se você modificar ou excluir as marcas criadas pelo Azure e outras propriedades de recurso no grupo de recursos do nó, poderá obter resultados inesperados, como o dimensionamento e a atualização de erros.If you modify or delete Azure-created tags and other resource properties in the node resource group, you could get unexpected results such as scaling and upgrading errors. AKS permite que você crie e modifique marcas personalizadas.AKS allows you to create and modify custom tags. Talvez você queira criar ou modificar marcas personalizadas, por exemplo, para atribuir uma unidade de negócios ou um centro de custo.You might want to create or modify custom tags, for example, to assign a business unit or cost center. Ao modificar os recursos no grupo de recursos do nó no cluster AKS, você interrompe o objetivo de nível de serviço (SLO).By modifying the resources under the node resource group in the AKS cluster, you break the service-level objective (SLO). Para obter mais informações, consulte o AKs oferece um contrato de nível de serviço?For more information, see Does AKS offer a service-level agreement?

Quais controladores de admissão kubernetes o AKS dá suporte?What Kubernetes admission controllers does AKS support? Os controladores de admissão podem ser adicionados ou removidos?Can admission controllers be added or removed?

O AKS dá suporte aos seguintes controladores de admissão:AKS supports the following admission controllers:

  • NamespaceLifecycleNamespaceLifecycle
  • LimitRangerLimitRanger
  • ServiceAccountServiceAccount
  • DefaultStorageClassDefaultStorageClass
  • DefaultTolerationSecondsDefaultTolerationSeconds
  • MutatingAdmissionWebhookMutatingAdmissionWebhook
  • ValidatingAdmissionWebhookValidatingAdmissionWebhook
  • ResourceQuotaResourceQuota
  • DenyEscalatingExecDenyEscalatingExec
  • AlwaysPullImagesAlwaysPullImages

No momento, não é possível modificar a lista de controladores de admissão no AKS.Currently, you can't modify the list of admission controllers in AKS.

O é Azure Key Vault integrado ao AKS?Is Azure Key Vault integrated with AKS?

Atualmente, o AKS não está integrado nativamente com Azure Key Vault.AKS isn't currently natively integrated with Azure Key Vault. No entanto, o projeto Azure Key Vault FlexVolume for kubernetes permite a integração direta do kubernetes pods com os segredos Key Vault.However, the Azure Key Vault FlexVolume for Kubernetes project enables direct integration from Kubernetes pods to Key Vault secrets.

Posso executar contêineres do Windows Server em AKS?Can I run Windows Server containers on AKS?

Sim, os contêineres do Windows Server estão disponíveis em versão prévia.Yes, Windows Server containers are available in preview. Para executar contêineres do Windows Server no AKS, você cria um pool de nós que executa o Windows Server como o sistema operacional convidado.To run Windows Server containers in AKS, you create a node pool that runs Windows Server as the guest OS. Os contêineres do Windows Server podem usar apenas o Windows Server 2019.Windows Server containers can use only Windows Server 2019. Para começar, consulte criar um cluster AKs com um pool de nós do Windows Server.To get started, see Create an AKS cluster with a Windows Server node pool.

O suporte do Windows Server para pool de nós inclui algumas limitações que fazem parte do Windows Server upstream no projeto kubernetes.Windows Server support for node pool includes some limitations that are part of the upstream Windows Server in Kubernetes project. Para obter mais informações sobre essas limitações, consulte contêineres do Windows Server em limitações do AKS.For more information on these limitations, see Windows Server containers in AKS limitations.

O AKS oferece um contrato de nível de serviço?Does AKS offer a service-level agreement?

Em um SLA (contrato de nível de serviço), o provedor concorda em reembolsar o cliente pelo custo do serviço se o nível de serviço publicado não for atendido.In a service-level agreement (SLA), the provider agrees to reimburse the customer for the cost of the service if the published service level isn't met. Como o AKS é gratuito, nenhum custo está disponível para reembolsar, portanto, o AKS não tem SLA formal.Since AKS is free, no cost is available to reimburse, so AKS has no formal SLA. No entanto, o AKS busca manter a disponibilidade de pelo menos 99,5 por cento para o servidor de API do kubernetes.However, AKS seeks to maintain availability of at least 99.5 percent for the Kubernetes API server.

É importante reconhecer a distinção entre a disponibilidade do serviço AKS, que se refere ao tempo de atividade do plano de controle kubernetes e à disponibilidade de sua carga de trabalho específica que está sendo executada em máquinas virtuais do Azure.It is important to recognize the distinction between AKS service availability which refers to uptime of the Kubernetes control plane and the availability of your specific workload which is running on Azure Virtual Machines. Embora o plano de controle possa ficar indisponível se o plano de controle não estiver pronto, suas cargas de trabalho de cluster em execução nas VMs do Azure ainda poderão funcionar.Although the control plane may be unavailable if the control plane is not ready, your cluster workloads running on Azure VMs can still function. Dadas as VMs do Azure são recursos pagos que são apoiados por um SLA financeiro.Given Azure VMs are paid resources they are backed by a financial SLA. Leia aqui para obter mais detalhes sobre o SLA de VM do Azure e como aumentar essa disponibilidade com recursos como zonas de disponibilidade.Read here for more details on the Azure VM SLA and how to increase that availability with features like Availability Zones.

Por que não posso definir maxPods abaixo de 30?Why can't I set maxPods below 30?

No AKs, você pode definir o maxPods valor ao criar o cluster usando os modelos CLI do Azure e Azure Resource Manager.In AKS, you can set the maxPods value when you create the cluster by using the Azure CLI and Azure Resource Manager templates. No entanto, Kubenet e CNI do Azure exigem um valor mínimo (validado no momento da criação):However, both Kubenet and Azure CNI require a minimum value (validated at creation time):

RedesNetworking MínimoMinimum MáximoMaximum
Azure CNIAzure CNI 3030 250250
KubenetKubenet 3030 110110

Como o AKS é um serviço gerenciado, implantamos e gerenciamos Complementos e pods como parte do cluster.Because AKS is a managed service, we deploy and manage add-ons and pods as part of the cluster. No passado, os usuários podiam definir um maxPods valor menor do que o valor que o pods gerenciado exigia executar (por exemplo, 30).In the past, users could define a maxPods value lower than the value that the managed pods required to run (for example, 30). O AKS agora calcula o número mínimo de pods usando esta fórmula: ((maxPods ou (maxPods * vm_count)) > mínimo de pods de complemento gerenciado.AKS now calculates the minimum number of pods by using this formula: ((maxPods or (maxPods * vm_count)) > managed add-on pods minimum.

Os usuários não podem substituir maxPods a validação mínima.Users can't override the minimum maxPods validation.

Posso aplicar descontos de reserva do Azure aos meus nós de agente do AKS?Can I apply Azure reservation discounts to my AKS agent nodes?

Os nós de agente AKS são cobrados como máquinas virtuais padrão do Azure. portanto, se você comprou as reservas do Azure para o tamanho da VM que você está usando em AKs, esses descontos serão aplicados automaticamente.AKS agent nodes are billed as standard Azure virtual machines, so if you've purchased Azure reservations for the VM size that you are using in AKS, those discounts are automatically applied.

Posso mover/migrar meu cluster entre locatários do Azure?Can I move/migrate my cluster between Azure tenants?

O az aks update-credentials comando pode ser usado para mover um cluster AKs entre locatários do Azure.The az aks update-credentials command can be used to move an AKS cluster between Azure tenants. Siga as instruções em escolher para atualizar ou criar uma entidade de serviço e, em seguida, atualize o cluster AKs com novas credenciais.Follow the instructions in Choose to update or create a service principal and then update aks cluster with new credentials.

Posso mover/migrar meu cluster entre assinaturas?Can I move/migrate my cluster between subscriptions?

No momento, não há suporte para a movimentação de clusters entre assinaturas.Movement of clusters between subscriptions is currently unsupported.

Posso mover meus clusters do AKS da assinatura atual do Azure para outra?Can I move my AKS clusters from the current azure subscription to another?

Não há suporte para mover o cluster AKS e os recursos associados entre as assinaturas do Azure.Moving your AKS cluster and it's associated resources between Azure subscriptions is not supported.

Por que minha exclusão de cluster está demorando tanto tempo?Why is my cluster delete taking so long?

A maioria dos clusters é excluída mediante solicitação do usuário; em alguns casos, especialmente onde os clientes estão trazendo seu próprio grupo de recursos, ou fazer a exclusão de tarefas de RG cruzada pode levar mais tempo ou falhar.Most clusters are deleted upon user request; in some cases, especially where customers are bringing their own Resource Group, or doing cross-RG tasks deletion can take additional time or fail. Se você tiver um problema com as exclusões, verifique se você não tem bloqueios no RG, se todos os recursos fora do RG estão desassociados do RG, etc.If you have an issue with deletes, double-check that you do not have locks on the RG, that any resources outside of the RG are disassociated from the RG, etc.

Se eu tiver Pod/implantações no estado ' NodeLost ' ou ' Unknown ', ainda posso atualizar o meu cluster?If I have pod / deployments in state 'NodeLost' or 'Unknown' can I still upgrade my cluster?

Você pode, mas AKS não recomenda isso.You can, but AKS does not recommend this. As atualizações devem idealmente ser executadas quando o estado do cluster for conhecido e íntegro.Upgrades should ideally be performed when the state of the cluster is known and healthy.

Se eu tiver um cluster com um ou mais nós em um estado não íntegro ou for desligado, posso executar uma atualização?If I have a cluster with one or more nodes in an Unhealthy state or shut down, can I perform an upgrade?

Não, exclua/remova todos os nós em um estado de falha ou removidos do cluster antes de atualizar.No, please delete/remove any nodes in a failed state or otherwise removed from the cluster prior to upgrading.

Executei uma exclusão de cluster, mas veja o erro[Errno 11001] getaddrinfo failedI ran a cluster delete, but see the error [Errno 11001] getaddrinfo failed

Normalmente, isso é causado por usuários que têm um ou mais NSGs (grupos de segurança de rede) que ainda estão em uso e associados ao cluster.Most commonly, this is caused by users having one or more Network Security Groups (NSGs) still in use and associated with the cluster. Remova-os e tente excluir novamente.Please remove them and attempt the delete again.

Eu executei uma atualização, mas agora meus pods estão em loops de falha, e as investigações de prontidão falham?I ran an upgrade, but now my pods are in crash loops, and readiness probes fail?

Confirme se sua entidade de serviço não expirou.Please confirm your service principal has not expired. Consulte: Entidade de serviço AKs e credenciais de atualização AKs.Please see: AKS service principal and AKS update credentials.

Meu cluster estava funcionando, mas repentinamente não pode provisionar balanceadores de carga, PVCs de montagem, etc.?My cluster was working, but suddenly can not provision LoadBalancers, mount PVCs, etc.?

Confirme se sua entidade de serviço não expirou.Please confirm your service principal has not expired. Consulte: Entidade de serviço AKs e credenciais de atualização AKs.Please see: AKS service principal and AKS update credentials.

Posso usar as APIs do conjunto de dimensionamento de máquinas virtuais para dimensionar manualmente?Can I use the virtual machine scale set APIs to scale manually?

Não, não há suporte para operações de escala usando as APIs do conjunto de dimensionamento de máquinas virtuais.No, scale operations by using the virtual machine scale set APIs aren't supported. Use as APIs AKS (az aks scale).Use the AKS APIs (az aks scale).

Posso usar conjuntos de dimensionamento de máquinas virtuais para dimensionar manualmente para 0 nós?Can I use virtual machine scale sets to manually scale to 0 nodes?

Não, não há suporte para operações de escala usando as APIs do conjunto de dimensionamento de máquinas virtuais.No, scale operations by using the virtual machine scale set APIs aren't supported.

Posso parar ou desalocar todas as minhas VMs?Can I stop or de-allocate all my VMs?

Embora o AKS tenha mecanismos de resiliência para resistir a essa configuração e recuperá-la, essa não é uma configuração recomendada.While AKS has resilience mechanisms to withstand such a config and recover from it, this is not a recommended configuration.

Posso usar extensões de VM personalizadas?Can I use custom VM extensions?

Nenhum AKS é um serviço gerenciado e não há suporte para a manipulação dos recursos de IaaS.No AKS is a managed service, and manipulation of the IaaS resources is not supported. Para instalar componentes personalizados, etc.To install custom components, etc. Aproveite as APIs e os mecanismos do kubernetes.please leverage the kubernetes APIs and mechanisms. Por exemplo, aproveite o DaemonSets para instalar os componentes necessários.For example, leverage DaemonSets to install required components.