--- apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: annotations: machineconfiguration.openshift.io/generated-by-controller-version: 4929be38a15cf61a9f9ddeaf1ba89d185aa72611 creationTimestamp: "2025-10-11T10:29:28Z" generation: 1 labels: machineconfiguration.openshift.io/role: worker managedFields: - apiVersion: machineconfiguration.openshift.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:machineconfiguration.openshift.io/generated-by-controller-version: {} f:labels: .: {} f:machineconfiguration.openshift.io/role: {} f:ownerReferences: .: {} k:{"uid":"4c9ec2ff-bc16-488b-aa8d-62799c3a2ed2"}: {} f:spec: .: {} f:baseOSExtensionsContainerImage: {} f:config: .: {} f:ignition: .: {} f:version: {} f:storage: .: {} f:files: {} f:systemd: .: {} f:units: {} f:fips: {} f:kernelArguments: {} f:kernelType: {} f:osImageURL: {} manager: machine-config-controller operation: Update time: "2025-10-11T10:29:28Z" name: 01-worker-kubelet ownerReferences: - apiVersion: machineconfiguration.openshift.io/v1 blockOwnerDeletion: true controller: true kind: ControllerConfig name: machine-config-controller uid: 4c9ec2ff-bc16-488b-aa8d-62799c3a2ed2 resourceVersion: "9140" uid: 2d98a434-286d-4201-be88-dbb2c3c3ec0d spec: baseOSExtensionsContainerImage: "" config: ignition: version: 3.4.0 storage: files: - contents: source: data:, mode: 420 overwrite: true path: /etc/kubernetes/cloud.conf - contents: source: data:,authorization%3A%0A%20%20static%3A%0A%20%20%20%20-%20resourceRequest%3A%20false%0A%20%20%20%20%20%20path%3A%20%2Fmetrics%0A%20%20%20%20%20%20verb%3A%20get%0A%20%20%20%20%20%20user%3A%0A%20%20%20%20%20%20%20%20name%3A%20system%3Aserviceaccount%3Aopenshift-monitoring%3Aprometheus-k8s mode: 420 overwrite: true path: /etc/kubernetes/crio-metrics-proxy.cfg - contents: source: data:,apiVersion%3A%20v1%0Akind%3A%20Pod%0Ametadata%3A%0A%20%20name%3A%20kube-rbac-proxy-crio%0A%20%20namespace%3A%20openshift-machine-config-operator%0A%20%20annotations%3A%0A%20%20%20%20target.workload.openshift.io%2Fmanagement%3A%20'%7B%22effect%22%3A%20%22PreferredDuringScheduling%22%7D'%0A%20%20%20%20openshift.io%2Frequired-scc%3A%20privileged%0Aspec%3A%0A%20%20volumes%3A%0A%20%20-%20name%3A%20etc-kube%0A%20%20%20%20hostPath%3A%0A%20%20%20%20%20%20path%3A%20%22%2Fetc%2Fkubernetes%22%0A%20%20-%20name%3A%20var-lib-kubelet%0A%20%20%20%20hostPath%3A%0A%20%20%20%20%20%20path%3A%20%22%2Fvar%2Flib%2Fkubelet%22%0A%20%20hostNetwork%3A%20true%0A%20%20priorityClassName%3A%20system-cluster-critical%0A%20%20initContainers%3A%0A%20%20-%20name%3A%20setup%0A%20%20%20%20terminationMessagePolicy%3A%20FallbackToLogsOnError%0A%20%20%20%20image%3A%20quay.io%2Fopenshift-release-dev%2Focp-v4.0-art-dev%40sha256%3Af22b65e5c744a32d3955dd7c36d809e3114a8aa501b44c00330dfda886c21169%0A%20%20%20%20imagePullPolicy%3A%20IfNotPresent%0A%20%20%20%20volumeMounts%3A%0A%20%20%20%20-%20name%3A%20var-lib-kubelet%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fvar%22%0A%20%20%20%20%20%20mountPropagation%3A%20HostToContainer%0A%20%20%20%20command%3A%20%5B'%2Fbin%2Fbash'%2C%20'-ec'%5D%0A%20%20%20%20args%3A%0A%20%20%20%20-%20%7C%0A%20%20%20%20%20%20echo%20-n%20%22Waiting%20for%20kubelet%20key%20and%20certificate%20to%20be%20available%22%0A%20%20%20%20%20%20while%20%5B%20-n%20%22%24(test%20-e%20%2Fvar%2Flib%2Fkubelet%2Fpki%2Fkubelet-server-current.pem)%22%20%5D%20%3B%20do%0A%20%20%20%20%20%20%20%20echo%20-n%20%22.%22%0A%20%20%20%20%20%20%20%20sleep%201%0A%20%20%20%20%20%20%20%20((%20tries%20%2B%3D%201%20))%0A%20%20%20%20%20%20%20%20if%20%5B%5B%20%22%24%7Btries%7D%22%20-gt%2010%20%5D%5D%3B%20then%0A%20%20%20%20%20%20%20%20%20%20echo%20%22Timed%20out%20waiting%20for%20kubelet%20key%20and%20cert.%22%0A%20%20%20%20%20%20%20%20%20%20exit%201%0A%20%20%20%20%20%20%20%20fi%0A%20%20%20%20%20%20done%0A%20%20%20%20securityContext%3A%0A%20%20%20%20%20%20privileged%3A%20true%0A%20%20%20%20resources%3A%0A%20%20%20%20%20%20requests%3A%0A%20%20%20%20%20%20%20%20memory%3A%2050Mi%0A%20%20%20%20%20%20%20%20cpu%3A%205m%0A%20%20containers%3A%0A%20%20-%20name%3A%20kube-rbac-proxy-crio%0A%20%20%20%20image%3A%20quay.io%2Fopenshift-release-dev%2Focp-v4.0-art-dev%40sha256%3Af22b65e5c744a32d3955dd7c36d809e3114a8aa501b44c00330dfda886c21169%0A%20%20%20%20securityContext%3A%0A%20%20%20%20%20%20privileged%3A%20true%0A%20%20%20%20ports%3A%0A%20%20%20%20-%20containerPort%3A%209637%0A%20%20%20%20args%3A%0A%20%20%20%20-%20--secure-listen-address%3D%3A9637%0A%20%20%20%20-%20--config-file%3D%2Fetc%2Fkubernetes%2Fcrio-metrics-proxy.cfg%0A%20%20%20%20-%20--client-ca-file%3D%2Fetc%2Fkubernetes%2Fkubelet-ca.crt%0A%20%20%20%20-%20--logtostderr%3Dtrue%0A%20%20%20%20-%20--kubeconfig%3D%2Fvar%2Flib%2Fkubelet%2Fkubeconfig%0A%20%20%20%20-%20--tls-cipher-suites%3DTLS_AES_128_GCM_SHA256%2CTLS_AES_256_GCM_SHA384%2CTLS_CHACHA20_POLY1305_SHA256%2CTLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256%2CTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256%2CTLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384%2CTLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384%2CTLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256%2CTLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256%20%0A%20%20%20%20-%20--tls-min-version%3DVersionTLS12%0A%20%20%20%20-%20--upstream%3Dhttp%3A%2F%2F127.0.0.1%3A9537%0A%20%20%20%20-%20--tls-cert-file%3D%2Fvar%2Flib%2Fkubelet%2Fpki%2Fkubelet-server-current.pem%0A%20%20%20%20-%20--tls-private-key-file%3D%2Fvar%2Flib%2Fkubelet%2Fpki%2Fkubelet-server-current.pem%0A%20%20%20%20resources%3A%0A%20%20%20%20%20%20requests%3A%0A%20%20%20%20%20%20%20%20cpu%3A%2020m%0A%20%20%20%20%20%20%20%20memory%3A%2050Mi%0A%20%20%20%20terminationMessagePolicy%3A%20FallbackToLogsOnError%0A%20%20%20%20volumeMounts%3A%0A%20%20%20%20-%20name%3A%20etc-kube%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fetc%2Fkubernetes%22%0A%20%20%20%20%20%20mountPropagation%3A%20HostToContainer%0A%20%20%20%20%20%20readOnly%3A%20true%0A%20%20%20%20-%20name%3A%20var-lib-kubelet%0A%20%20%20%20%20%20mountPath%3A%20%22%2Fvar%2Flib%2Fkubelet%22%0A%20%20%20%20%20%20mountPropagation%3A%20HostToContainer%0A%20%20%20%20%20%20readOnly%3A%20true mode: 420 overwrite: true path: /etc/kubernetes/manifests/criometricsproxy.yaml - contents: source: data:,kind%3A%20KubeletConfiguration%0AapiVersion%3A%20kubelet.config.k8s.io%2Fv1beta1%0Aauthentication%3A%0A%20%20x509%3A%0A%20%20%20%20clientCAFile%3A%20%2Fetc%2Fkubernetes%2Fkubelet-ca.crt%0A%20%20anonymous%3A%0A%20%20%20%20enabled%3A%20false%0AcgroupDriver%3A%20systemd%0AcgroupRoot%3A%20%2F%0AclusterDNS%3A%0A%20%20-%20172.30.0.10%0AclusterDomain%3A%20cluster.local%0AcontainerLogMaxSize%3A%2050Mi%0AenableSystemLogQuery%3A%20true%0AmaxPods%3A%20250%0AkubeAPIQPS%3A%2050%0AkubeAPIBurst%3A%20100%0ApodPidsLimit%3A%204096%0AprotectKernelDefaults%3A%20true%0ArotateCertificates%3A%20true%0AserializeImagePulls%3A%20false%0AstaticPodPath%3A%20%2Fetc%2Fkubernetes%2Fmanifests%0AsystemCgroups%3A%20%2Fsystem.slice%0AnodeStatusUpdateFrequency%3A%2010s%0AnodeStatusReportFrequency%3A%205m%0AserverTLSBootstrap%3A%20true%0AtlsMinVersion%3A%20VersionTLS12%0AtlsCipherSuites%3A%0A%20%20%20%20-%20TLS_AES_128_GCM_SHA256%0A%20%20%20%20-%20TLS_AES_256_GCM_SHA384%0A%20%20%20%20-%20TLS_CHACHA20_POLY1305_SHA256%0A%20%20%20%20-%20TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256%0A%20%20%20%20-%20TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256%0A%20%20%20%20-%20TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384%0A%20%20%20%20-%20TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384%0A%20%20%20%20-%20TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256%0A%20%20%20%20-%20TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256%0A mode: 420 overwrite: true path: /etc/kubernetes/kubelet.conf - contents: source: data:,%23!%2Fbin%2Fsh%0Aif%20%5B%20-x%20%2Fusr%2Fbin%2Fkubensenter%20%5D%3B%20then%0A%20%20exec%20%2Fusr%2Fbin%2Fkubensenter%20%22%24%40%22%0Aelse%0A%20%20exec%20%22%24%40%22%0Afi%0A mode: 493 overwrite: true path: /usr/local/bin/kubenswrapper systemd: units: - contents: | [Unit] Description=Kubernetes Kubelet After Reboot Cleanup Before=kubelet.service [Service] Type=oneshot ExecStart=/bin/rm -f /var/lib/kubelet/cpu_manager_state ExecStart=/bin/rm -f /var/lib/kubelet/memory_manager_state ExecStart=-/bin/rm -f /var/lib/kubelet/dra_manager_state [Install] WantedBy=multi-user.target enabled: true name: kubelet-cleanup.service - contents: | [Unit] Description=Kubernetes Kubelet Requires=crio.service kubelet-dependencies.target After=kubelet-dependencies.target After=ostree-finalize-staged.service [Service] Type=notify ExecStartPre=/bin/mkdir --parents /etc/kubernetes/manifests ExecStartPre=-/usr/sbin/restorecon -ri /var/lib/kubelet/pod-resources /usr/local/bin/kubenswrapper /usr/bin/kubensenter Environment="KUBELET_NODE_IP=0.0.0.0" EnvironmentFile=/etc/os-release EnvironmentFile=-/etc/kubernetes/kubelet-workaround EnvironmentFile=-/etc/kubernetes/kubelet-env EnvironmentFile=/etc/node-sizing.env ExecStart=/usr/local/bin/kubenswrapper \ /usr/bin/kubelet \ --config=/etc/kubernetes/kubelet.conf \ --bootstrap-kubeconfig=/etc/kubernetes/kubeconfig \ --kubeconfig=/var/lib/kubelet/kubeconfig \ --container-runtime-endpoint=/var/run/crio/crio.sock \ --runtime-cgroups=/system.slice/crio.service \ --node-labels=node-role.kubernetes.io/worker,node.openshift.io/os_id=${ID} \ --node-ip=${KUBELET_NODE_IP} \ --minimum-container-ttl-duration=6m0s \ --volume-plugin-dir=/etc/kubernetes/kubelet-plugins/volume/exec \ --cloud-provider= \ \ --hostname-override=${KUBELET_NODE_NAME} \ --provider-id=${KUBELET_PROVIDERID} \ --pod-infra-container-image=quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:2d66b9dbe1d071d7372c477a78835fb65b48ea82db00d23e9086af5cfcb194ad \ --system-reserved=cpu=${SYSTEM_RESERVED_CPU},memory=${SYSTEM_RESERVED_MEMORY},ephemeral-storage=${SYSTEM_RESERVED_ES} \ --v=${KUBELET_LOG_LEVEL} Restart=always RestartSec=10 [Install] WantedBy=multi-user.target enabled: true name: kubelet.service fips: false kernelArguments: null kernelType: "" osImageURL: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:4431f570d3d5dbb6157357bd67ce446399eaf6a7fab484350d14b5b290a438ec