|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
Trabalhando com Taints e Tolerations
"Tainting" de um nó Kubernetes faz com que os pods evitem ser executados nesse nó.
A menos que os pods possuam um toleration para o taint desse nó, eles serão executados em outros nós do cluster.
Taints e tolerâncias podem funcionar em conjunto com o nodeSelector campo dentro do PodSpec, o que possibilita o efeito oposto de um taint.
Usar nodeSelector dá aos pods uma afinidade por certos nós.
Ambos oferecem a possibilidade de escolher em quais nós o pod será executado.
Implementação Padrão na Pilha de Logging do Rancher
Por padrão, o Rancher aplica um taint a todos os nós Linux com cattle.io/os=linux, e não aplica taints aos nós Windows.
Os pods da pilha de logging têm tolerations para esse taint, o que permite que sejam executados em nós Linux.
Além disso, a maioria dos pods da pilha de logging é executada apenas em Linux e tem um nodeSelector adicionado para garantir que sejam executados em nós Linux.
Este exemplo de arquivo YAML de Pod mostra um nodeSelector sendo usado com uma tolerância:
apiVersion: v1
kind: Pod
# metadata...
spec:
# containers...
tolerations:
- key: cattle.io/os
operator: "Equal"
value: "linux"
effect: NoSchedule
nodeSelector:
kubernetes.io/os: linux
No exemplo acima, garantimos que nosso pod seja executado apenas em nós Linux, e adicionamos um toleration para o taint que temos em todos os nossos nós Linux.
Você pode fazer o mesmo com os taints existentes do Rancher, ou com os seus próprios personalizados.
Adicionando Configurações de NodeSelector e Tolerâncias para Taints Personalizados
Se você gostaria de adicionar suas próprias configurações de nodeSelector, ou se gostaria de adicionar tolerations para taints adicionais, você pode passar o seguinte para os valores do gráfico.
tolerations:
# insert tolerations...
nodeSelector:
# insert nodeSelector...
Esses valores adicionarão ambas as configurações aos contêineres fluentd, fluentbit e logging-operator.
Essencialmente, essas são configurações globais para todos os pods na pilha de logging.
No entanto, se você gostaria de adicionar tolerâncias para apenas o contêiner fluentbit, você pode adicionar o seguinte aos valores do gráfico.
fluentbit_tolerations:
# insert tolerations list for fluentbit containers only...