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.

Agente K3s

Nesta seção, você aprenderá como configurar o agente K3s.

Observe que os servidores também executam um agente, portanto, todas as opções listadas nesta página também são válidas para uso em servidores.

As opções estão documentadas nesta página como flags de CLI, mas também podem ser passadas como opções de arquivo de configuração. Consulte a documentação do Arquivo de Configuração para mais informações sobre como usar arquivos de configuração YAML.

Registro

Flag Default Descrição

-v valor

0

Número para a verbosidade do nível de log

--vmodule valor

N/A

Lista separada por vírgulas de configurações FILE_PATTERN=LOG_LEVEL para logging filtrado por arquivo

--log value, -l valor

N/A

Registrar em arquivo

--alsologtostderr

N/A

Registrar em stderr, bem como em arquivo (se configurado)

Opções do Cluster

Flag Variável de ambiente Descrição

--token value, -t valor

K3S_TOKEN

Token a ser usado para autenticação

--token-file valor

K3S_TOKEN_FILE

Arquivo de token a ser usado para autenticação

--server value, -s valor

K3S_URL

Servidor para o qual se conectar

Listener

Flag

Default

Descrição

--bind-address

0.0.0.0

endereço de ligação k3s

Dados

Flag Default Descrição

--data-dir value, -d valor

"/var/lib/rancher/k3s"

Pasta para manter o estado

Flag Variável de ambiente Descrição

--node-name valor

K3S_NODE_NAME

Nome do nó

--with-node-id

N/A

Adicionar ID ao nome do nó

--node-label valor

N/A

Registrando e iniciando o kubelet com um conjunto de rótulos

--node-taint valor

N/A

Registrando o kubelet com um conjunto de taints

--protect-kernel-defaults

N/A

Comportamento de ajuste do kernel. Se definido, gera erro se os tunables do kernel forem diferentes dos padrões do kubelet.

--selinux

K3S_SELINUX

Habilitar SELinux no containerd

--lb-server-port valor

K3S_LB_SERVER_PORT

Porta local para o balanceador de carga do cliente supervisor. Se o supervisor e o apiserver não estiverem colocados juntos, uma porta adicional 1 a menos que esta porta também será usada para o balanceador de carga do cliente apiserver. (padrão: 6444)

Runtime

Flag Default Descrição

--container-runtime-endpoint

N/A

Desabilitar o containerd embutido e usar o socket CRI no caminho dado; quando usado com --docker, isso define o caminho do socket docker

--default-runtime

N/A

Definir o tempo de execução padrão no containerd

--image-service-endpoint

N/A

Desabilitar o serviço de imagem do containerd embutido e usar o socket do serviço de imagem remoto no caminho dado. Se não especificado, o padrão é --container-runtime-endpoint.

--pause-image valor

"docker.io/rancher/pause:3.1"

Imagem de pausa personalizada para containerd ou para o sandbox docker

--private-registry valor

"/etc/rancher/k3s/registries.yaml"

Arquivo de configuração do registro privado

Projeto de Rede

Flag Variável de ambiente Descrição

--node-ip value, -i valor

N/A

Endereço IP a ser anunciado para o nó

--node-external-ip valor

N/A

Endereço IP externo a ser anunciado para o nó

--node-internal-dns

N/A

endereços DNS internos a serem anunciados para o nó

--node-external-dns

N/A

endereços DNS externos a serem anunciados para o nó

--resolv-conf valor

K3S_RESOLV_CONF

arquivo resolv.conf do Kubelet

--flannel-iface valor

N/A

Substituir a interface padrão do flannel

--flannel-conf valor

N/A

Substituir o arquivo de configuração padrão do flannel

--flannel-cni-conf valor

N/A

Substituir o arquivo de configuração CNI padrão do flannel

Flags personalizadas

Flag Descrição

--kubelet-arg valor

Flag personalizada para o processo kubelet

--kube-proxy-arg valor

Flag personalizada para o processo kube-proxy

Experimental

Flag Descrição

--rootless

Executar sem root

--docker

Usar cri-dockerd em vez de containerd

--enable-pprof

Habilitar o endpoint pprof na porta do supervisor

--prefer-bundled-bin

Preferir binários de espaço de usuário empacotados em vez de binários do host

--disable-default-registry-endpoint

Veja "Fallback de Endpoint Padrão"

--vpn-auth

Veja "Integração com o provedor de VPN Tailscale"

--vpn-auth-file

Veja "Integração com o provedor de VPN Tailscale"

Itens desativados

Flag Variável de ambiente Descrição

--no-flannel

N/A

Use --flannel-backend=none

--cluster-secret valor

K3S_CLUSTER_SECRET

Use --token

Rótulos e Taints de Nó para Agentes

Os agentes K3s podem ser configurados com as opções --node-label e --node-taint que adicionam um rótulo e um taint ao kubelet. As duas opções apenas adicionam rótulos e/ou taints no momento do registro, portanto, podem ser adicionadas apenas uma vez e não podem ser alteradas novamente após isso executando comandos do K3s.

Abaixo está um exemplo mostrando como adicionar rótulos e um taint:

     --node-label foo=bar \
     --node-label hello=world \
     --node-taint key1=value1:NoExecute

Se você quiser alterar rótulos e taints de nó após o registro do nó, deve usar kubectl. Consulte a documentação oficial do Kubernetes para detalhes sobre como adicionar taints e rótulos de nó.

Ajuda do CLI do Agente K3s

Se uma opção aparecer entre colchetes abaixo, por exemplo [$K3S_URL], isso significa que a opção pode ser passada como uma variável de ambiente com esse nome.

NAME:
   k3s agent - Run node agent

USAGE:
   k3s agent [OPTIONS]

OPTIONS:
   --config FILE, -c FILE                     (config) Load configuration from FILE (default: "/etc/rancher/k3s/config.yaml") [$K3S_CONFIG_FILE]
   --debug                                    (logging) Turn on debug logs [$K3S_DEBUG]
   -v value                                   (logging) Number for the log level verbosity (default: 0)
   --vmodule value                            (logging) Comma-separated list of FILE_PATTERN=LOG_LEVEL settings for file-filtered logging
   --log value, -l value                      (logging) Log to file
   --alsologtostderr                          (logging) Log to standard error as well as file (if set)
   --token value, -t value                    (cluster) Token to use for authentication [$K3S_TOKEN]
   --token-file value                         (cluster) Token file to use for authentication [$K3S_TOKEN_FILE]
   --server value, -s value                   (cluster) Server to connect to [$K3S_URL]
   --data-dir value, -d value                 (agent/data) Folder to hold state (default: "/var/lib/rancher/k3s") [$K3S_DATA_DIR]
   --node-name value                          (agent/node) Node name [$K3S_NODE_NAME]
   --with-node-id                             (agent/node) Append id to node name
   --node-label value                         (agent/node) Registering and starting kubelet with set of labels
   --node-taint value                         (agent/node) Registering kubelet with set of taints
   --image-credential-provider-bin-dir value  (agent/node) The path to the directory where credential provider plugin binaries are located (default: "/var/lib/rancher/credentialprovider/bin")
   --image-credential-provider-config value   (agent/node) The path to the credential provider plugin config file (default: "/var/lib/rancher/credentialprovider/config.yaml")
   --selinux                                  (agent/node) Enable SELinux in containerd [$K3S_SELINUX]
   --lb-server-port value                     (agent/node) Local port for supervisor client load-balancer. If the supervisor and apiserver are not colocated an additional port 1 less than this port will also be used for the apiserver client load-balancer. (default: 6444) [$K3S_LB_SERVER_PORT]
   --protect-kernel-defaults                  (agent/node) Kernel tuning behavior. If set, error if kernel tunables are different than kubelet defaults.
   --container-runtime-endpoint value         (agent/runtime) Disable embedded containerd and use the CRI socket at the given path; when used with --docker this sets the docker socket path
   --default-runtime value                    (agent/runtime) Set the default runtime in containerd
   --image-service-endpoint value             (agent/runtime) Disable embedded containerd image service and use remote image service socket at the given path. If not specified, defaults to --container-runtime-endpoint.
   --pause-image value                        (agent/runtime) Customized pause image for containerd or docker sandbox (default: "rancher/mirrored-pause:3.6")
   --snapshotter value                        (agent/runtime) Override default containerd snapshotter (default: "overlayfs")
   --private-registry value                   (agent/runtime) Private registry configuration file (default: "/etc/rancher/k3s/registries.yaml")
   --disable-default-registry-endpoint        (agent/containerd) Disables containerd fallback default registry endpoint when a mirror is configured for that registry
   --nonroot-devices                          (agent/containerd) Allows non-root pods to access devices by setting device_ownership_from_security_context=true in the containerd CRI config
   --node-ip value, -i value                  (agent/networking) IPv4/IPv6 addresses to advertise for node
   --bind-address value                       (listener) k3s bind address (default: 0.0.0.0)
   --node-external-ip value                   (agent/networking) IPv4/IPv6 external IP addresses to advertise for node
   --node-internal-dns value                  (agent/networking) internal DNS addresses to advertise for node
   --node-external-dns value                  (agent/networking) external DNS addresses to advertise for node
   --resolv-conf value                        (agent/networking) Kubelet resolv.conf file [$K3S_RESOLV_CONF]
   --flannel-iface value                      (agent/networking) Override default flannel interface
   --flannel-conf value                       (agent/networking) Override default flannel config file
   --flannel-cni-conf value                   (agent/networking) Override default flannel cni config file
   --kubelet-arg value                        (agent/flags) Customized flag for kubelet process
   --kube-proxy-arg value                     (agent/flags) Customized flag for kube-proxy process
   --enable-pprof                             (experimental) Enable pprof endpoint on supervisor port
   --rootless                                 (experimental) Run rootless
   --prefer-bundled-bin                       (experimental) Prefer bundled userspace binaries over host binaries
   --docker                                   (agent/runtime) (experimental) Use cri-dockerd instead of containerd
   --vpn-auth value                           (agent/networking) (experimental) Credentials for the VPN provider. It must include the provider name and join key in the format name=<vpn-provider>,joinKey=<key>[,controlServerURL=<url>][,extraArgs=<args>] [$K3S_VPN_AUTH]
   --vpn-auth-file value                      (agent/networking) (experimental) File containing credentials for the VPN provider. It must include the provider name and join key in the format name=<vpn-provider>,joinKey=<key>[,controlServerURL=<url>][,extraArgs=<args>] [$K3S_VPN_AUTH_FILE]
   --disable-apiserver-lb                     (agent/networking) (experimental) Disable the agent client-side load-balancer and connect directly to the configured server address