Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: AKS no Windows Server
Este artigo descreve como criar e usar um DaemonSet do Kubernetes no AKS no Windows Server para garantir que uma cópia de um pod esteja sempre disponível em cada nó de trabalho em um cluster. Você pode usar um DaemonSet para melhorar o desempenho do cluster, garantindo que um aplicativo seja executado em todos os nós de trabalhadores e para implantar pods que fazem manutenção e fornecem serviços de suporte para os nós.
Visão geral de DaemonSets
Um DaemonSet é um objeto do Kubernetes que garante que uma cópia de um pod definido na configuração esteja sempre disponível em cada nó de trabalho em um cluster. Assim que um novo nó é adicionado a um cluster, o DaemonSet aloca automaticamente o pod nesse nó.
Da mesma forma, quando um nó é excluído, o pod que está em execução no nó também é excluído e não é reprogramado em outro nó (como no caso de ReplicaSets). Isso permite que você supere as limitações de agendamento do Kubernetes e certifique-se de que um aplicativo específico seja implantado em todos os nós do cluster.
DaemonSets pode melhorar o desempenho geral do cluster. Por exemplo, você pode usá-los para implantar pods destinados à execução de tarefas de manutenção e fornecimento de serviços de suporte para cada nó.
- Execute um daemon de coleta de logs, como
Fluentd
eLogstash
. - Execute um daemon de monitoramento de nó, como
Prometheus
. - Execute um daemon de armazenamento de cluster, como
glusterd
ouceph
.
Embora DaemonSets crie um pod em cada nó por padrão, você pode limitar o número de nós aceitáveis predefinindo o campo seletor de nó no arquivo YAML. O controlador DaemonSet só cria pods em nós que correspondem ao "node selector".
Normalmente, um DaemonSet implanta um tipo de daemon em todos os nós, mas é possível que vários DaemonSets controlem um tipo de daemon usando rótulos diferentes. Um rótulo do Kubernetes especifica regras de implantação com base nas características de nós individuais.
Para obter mais informações sobre como usar DaemonSets, consulte Kubernetes DaemonSets.
Criar um DaemonSet
Você descreve um DaemonSet usando um arquivo YAML e, em seguida, cria-o usando os kubectl create
comandos or kubectl apply
(por exemplo, kubectl create –f example-daemon.yaml
).
O exemplo a seguir descreve os recursos de um arquivo de configuração do DaemonSet usando uma imagem nginx:
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
labels:
app: nginx
name: example-daemon
spec:
template:
metadata: null
labels:
app: nginx
containers: null
name: nginx
image: nginx
Para exibir o estado atual do DaemonSet, use o kubectl describe
comando (por exemplo, kubectl describe daemonset example-daemon
).
Limitar DaemonSet a nós específicos
Por padrão, DaemonSets criam pods em todos os nós de um cluster, mas com seletores de nós, é possível configurá-los para criar pods apenas em nós específicos. Se você quiser limitar um DaemonSet a nós específicos, use o kubectl label
comando.
Atualizar um DaemonSet
Você pode atualizar um DaemonSet usando o kubectl edit ds<NAME>
comando. No entanto, é recomendável editar o arquivo de configuração original e usar o kubectl apply
comando quando ele foi criado inicialmente. Depois de aplicar uma atualização, você pode exibir o status da atualização usando o kubectl rollout status ds <daemonset-name>
comando.
Excluir um DaemonSet
Para remover um DaemonSet, use o kubectl delete
comando (por exemplo, kubectl delete –f example-daemon.yaml -n monitoring
). Você deve ter cautela ao especificar o nome do arquivo DaemonSet, pois a exclusão de um DaemonSet remove todos os pods que ele implantou.