{"id":20965,"date":"2025-10-10T09:19:10","date_gmt":"2025-10-10T15:19:10","guid":{"rendered":"https:\/\/sada.services\/?p=20965"},"modified":"2025-10-10T10:39:11","modified_gmt":"2025-10-10T16:39:11","slug":"okd-error-de-memoria","status":"publish","type":"post","link":"https:\/\/sada.services\/?p=20965","title":{"rendered":"OKD: Error de memoria"},"content":{"rendered":"\n<ul class=\"wp-block-list\">\n<li>Si se presenta el error<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"740\" height=\"258\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1541.png\" alt=\"\" class=\"wp-image-20966\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1541.png 740w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1541-300x105.png 300w\" sizes=\"(max-width: 740px) 100vw, 740px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Este error se presenta por okd reserva memoria RAM para el sistema y kuberlet<\/li>\n\n\n\n<li>Ingresamos a provisioner<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh cgi@10.0.2.244<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cargamos la lla SSH y la config <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>eval \"$(ssh-agent -s)\"\nIdentity added: \/home\/cgi\/.ssh\/id_ed25519_openshift (cgi@okd-provisioner)\nexport KUBECONFIG=\/home\/cgi\/okd-install\/auth\/kubeconfig<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora si obtenemos la kuberletConfig<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get kubeletconfig -o yaml<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Podemos observar que tenemos <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: v1\nitems:\n- apiVersion: machineconfiguration.openshift.io\/v1\n  kind: KubeletConfig\n  metadata:\n    annotations:\n      kubectl.kubernetes.io\/last-applied-configuration: |\n        {\"apiVersion\":\"machineconfiguration.openshift.io\/v1\",\"kind\":\"KubeletConfig\",\"metadata\":{\"annotations\":{},\"name\":\"increased-memory-reserve\"},\"spec\":{\"kubeletConfig\":{\"kubeReserved\":{\"cpu\":\"500m\",\"memory\":\"2Gi\"},\"systemReserved\":{\"cpu\":\"500m\",\"memory\":\"2Gi\"}},\"machineConfigPoolSelector\":{\"matchLabels\":{\"custom-kubelet\":\"true\"}}}}\n    creationTimestamp: \"2025-10-09T22:32:59Z\"\n    generation: 1\n    name: increased-memory-reserve\n    resourceVersion: \"2305345\"\n    uid: 1e2e9da8-d719-49e8-9954-8b0ec3cf603e\n  spec:\n    kubeletConfig:\n      kubeReserved:\n        cpu: 500m\n        memory: 2Gi\n      systemReserved:\n        cpu: 500m\n        memory: 2Gi\n    machineConfigPoolSelector:\n      matchLabels:\n        custom-kubelet: \"true\"\n  status:\n    conditions:\n    - lastTransitionTime: \"2025-10-10T15:06:20Z\"\n      message: 'Error: could not find any MachineConfigPool set for KubeletConfig'\n      status: \"False\"\n      type: Failure\n    observedGeneration: 1\nkind: List\nmetadata:\n  resourceVersion: \"\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Principalmete esta parte que nos indica que tiene 2GB de memor\u00eda reservada<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"428\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1543-1-1024x428.png\" alt=\"\" class=\"wp-image-20968\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1543-1-1024x428.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1543-1-300x125.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1543-1-768x321.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1543-1-1536x642.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1543-1.png 1917w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Entonces si nos metemos al nodo con <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc debug node\/cp3.okd.una.ac.cr<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nos abre una shell donde si consultamos la memoria RAM<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>free -h<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"944\" height=\"286\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1544.png\" alt=\"\" class=\"wp-image-20969\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1544.png 944w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1544-300x91.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1544-768x233.png 768w\" sizes=\"(max-width: 944px) 100vw, 944px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Podemos ver que tenemos 330GB libres entonces por memoria real existente no es el problema<\/li>\n\n\n\n<li>salimos 2 veces<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>exit\nexit<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"158\" height=\"104\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1545.png\" alt=\"\" class=\"wp-image-20970\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Entonces para modificar la memoria dentro del directorio okd-install creamos el archivo<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano kubeletconfig-memory.yaml<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y le agregamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: machineconfiguration.openshift.io\/v1\nkind: KubeletConfig\nmetadata:\n  name: increased-memory-reserve\nspec:\n  machineConfigPoolSelector:\n    matchLabels:\n      custom-kubelet: \"true\"\n  kubeletConfig:\n    systemReserved:\n      cpu: 500m\n      memory: 2Gi\n    kubeReserved:\n      cpu: 500m\n      memory: 2Gi<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Esto le asigna un total de 4GB\n<ul class=\"wp-block-list\">\n<li>2GB: sistema<\/li>\n\n\n\n<li>2GB: Kuberlet<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"531\" height=\"387\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1546.png\" alt=\"\" class=\"wp-image-20971\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1546.png 531w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1546-300x219.png 300w\" sizes=\"(max-width: 531px) 100vw, 531px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora en el archivos vemos que tenemos <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>spec:\n  machineConfigPoolSelector:\n    matchLabels:\n      custom-kubelet: \"true\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Esto indica que le aplique la configuraci\u00f3n a los pools etiquetas con custom-kubelet: \u00abtrue\u00bb<\/li>\n\n\n\n<li>entonces primero vemos que tenemos 2 pools<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get machineconfigpool<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Los master y los workers<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"53\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1551-1024x53.png\" alt=\"\" class=\"wp-image-20977\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1551-1024x53.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1551-300x16.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1551-768x40.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1551-1536x79.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1551.png 1836w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Entonces si deseamos solo aplicar alguno o a todos les agregamos las etiquetas<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Solo master\noc label machineconfigpool master custom-kubelet=true\n\n# Solo workers\noc label machineconfigpool worker custom-kubelet=true\n\n# Los dos\noc label machineconfigpool master custom-kubelet=true\noc label machineconfigpool worker custom-kubelet=true<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Revisamos que la etiqueta se aplico<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get machineconfigpool master -o yaml | grep custom-kubelet -C2<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"140\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1552-1024x140.png\" alt=\"\" class=\"wp-image-20978\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1552-1024x140.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1552-300x41.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1552-768x105.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1552.png 1035w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y luego la aplicamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc apply -f kubeletconfig-memory.yaml<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Entonces podemos ver si la reserva se aplico obteniendo los valores d ela configuraci\u00f3n<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get kubeletconfig -o yaml<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"438\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1547-1024x438.png\" alt=\"\" class=\"wp-image-20974\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1547-1024x438.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1547-300x128.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1547-768x329.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1547-1536x658.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1547.png 1892w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y ejecutamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get kubeletconfig increased-memory-reserve -o yaml<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y podemos observar que se aplic\u00f3 correctamente<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"906\" height=\"694\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1553.png\" alt=\"\" class=\"wp-image-20979\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1553.png 906w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1553-300x230.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1553-768x588.png 768w\" sizes=\"(max-width: 906px) 100vw, 906px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Podemos ejecutar<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get machineconfigpool<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y ver que se esta actualizando<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"68\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1555-1024x68.png\" alt=\"\" class=\"wp-image-20981\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1555-1024x68.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1555-300x20.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1555-768x51.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1555-1536x102.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1555.png 1821w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Aqui podemos ver que ya actualizo uno por que se secuencial <\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"58\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1556-1024x58.png\" alt=\"\" class=\"wp-image-20982\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1556-1024x58.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1556-300x17.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1556-768x44.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1556-1536x87.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1556.png 1834w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Comprobamos hasta que tengamos los 3 nodos actualizados<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"52\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1557-1024x52.png\" alt=\"\" class=\"wp-image-20983\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1557-1024x52.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1557-300x15.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1557-768x39.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1557-1536x78.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1557.png 1783w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>podriamos obtener directamente<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get kubeletconfig<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y ver que ya se aumento<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"583\" height=\"77\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1554.png\" alt=\"\" class=\"wp-image-20980\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1554.png 583w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1554-300x40.png 300w\" sizes=\"(max-width: 583px) 100vw, 583px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>o ejecutar y ver que ya tenemos 4Gb<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc adm top node<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"772\" height=\"162\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1549.png\" alt=\"\" class=\"wp-image-20976\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1549.png 772w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1549-300x63.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1549-768x161.png 768w\" sizes=\"(max-width: 772px) 100vw, 772px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>As\u00ed desaparece la notificaci\u00f3n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"473\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1558-1024x473.png\" alt=\"\" class=\"wp-image-20984\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1558-1024x473.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1558-300x138.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1558-768x354.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1558-1536x709.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1558.png 1627w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-20965","post","type-post","status-publish","format-standard","hentry","category-sin-categoria"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/20965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=20965"}],"version-history":[{"count":3,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/20965\/revisions"}],"predecessor-version":[{"id":20985,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/20965\/revisions\/20985"}],"wp:attachment":[{"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=20965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=20965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=20965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}