Reserve Recursos para Kubelet e Daemons de Sistema Operacional nos Nós do Oracle Cloud Infrastructure Kubernetes Engine
Introdução
Ao executar cargas de trabalho do Kubernetes no Oracle Cloud Infrastructure Kubernetes Engine (OKE), é essencial garantir que OS nós de trabalho tenham recursos reservados para OS componentes de controle do Kubernetes e daemons do sistema operacional (SO). A reserva adequada evita a contenção de recursos, reduz a pressão da memória e aumenta a estabilidade do cluster. Isso é especialmente importante em ambientes multitenant, cargas de trabalho de alta densidade ou ao solucionar problemas de pressão do nó. Neste tutorial, você aprenderá a configurar essas reservas usando um script cloud-init
personalizado aplicado na criação do pool de nós. Utilizando o cloud-init
, você pode padronizar essas configurações nos nós do cluster com o mínimo de esforço.
Configuração do Recurso Kubelet
O Kubelet, o agente de nó principal no Kubernetes, suporta o gerenciamento de recursos por meio de flags ou arquivos de configuração. É possível definir:
- kubeReserved: Reserva recursos para daemons do Kubernetes como
kubelet
ekube-proxy
. - systemReserved: Reserva recursos para serviços no nível do SO, como
journald
ousshd
.
Objetivos
-
Entenda como reservar CPU e memória para daemons do Kubernetes e do SO usando
kubeReserved
esystemReserved
. -
Implante um pool de nós gerenciados com um script
cloud-init
personalizado para aplicar a configuração do Kubelet na inicialização.
Pré-requisitos
-
Acesso a uma conta da Oracle Cloud Infrastructure (OCI) com permissão para criar clusters e pools de nós do OKE.
-
Um cluster existente do OKE (ou você pode criar um novo).
-
Familiaridade básica com o Kubernetes e a CLI do OCI (Command Line Interface) do Oracle Cloud Infrastructure.
Etapa 1: Escreva o Script cloud-init
O script cloud-init
a seguir cria um arquivo de configuração do Kubelet que reserva CPU, memória e armazenamento efêmero e define limites de remoção.
#!/bin/bash
curl --fail -H "Authorization: Bearer Oracle" -L0 http://169.254.169.254/opc/v2/instance/metadata/oke_init_script | base64 --decode >/var/run/oke-init.sh
bash /var/run/oke-init.sh --kubelet-extra-args "--kube-reserved=cpu=500m,memory=1Gi --system-reserved=cpu=100m,memory=100Mi"
Etapa 2: Criar um Pool de Nós com o Script cloud-init
-
Vá para a Console do OCI e navegue até o cluster do OKE.
-
Selecione Pools de nós e, em seguida, clique em Adicionar pool de nós para criar um novo ou clique em Editar para modificar um Pool de Nós existente.
-
Defina seu pool de nós com suas preferências para Nome, Compartimento, Posicionamento de nós, Forma e Rede.
-
Em Mostrar opções avançadas, clique em Colar Script Cloud-init e cole seu script personalizado.
-
Conclua o restante das definições do pool de nós e clique em Adicionar.
Depois que os nós são provisionados, o script é executado na inicialização e aplica as restrições de recursos automaticamente.
Observação: Se você estiver automatizando a configuração com o Terraform, poderá informar o script no bloco
node_config_details.cloud_init_script
ao criar o recurso do pool de nós.
Confirmações
- Autor - JP Santana (Arquiteto Mestre em Nuvem)
Mais Recursos de Aprendizado
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Reserve Resources for Kubelet and Operating System Daemons on Oracle Cloud Infrastructure Kubernetes Engine Nodes
G38635-01
Copyright ©2025, Oracle and/or its affiliates.