4.3. 管理节点
OpenShift Container Platform 使用 KubeletConfig 自定义资源来管理节点配置。通过创建 KubeletConfig 实例来创建受管 MachineConfig,从而覆盖节点上的设置。
不支持为更改配置而登录远程机器。
4.3.1. 修改节点
要对集群或 MachinePool 进行配置更改,您必须创建自定义资源定义或 KubeletConfig 实例。OpenShift Container Platform 使用 Machine Config Controller 来监控是否通过 CRD 进行了任何更改,并将更改应用于集群。
流程
为您要配置的节点类型,获取与静态 CRD (Machine Config Pool) 关联的标签。执行以下步骤之一:
检查所需 machineconfigpool 的当前标签。
例如:
$ oc get machineconfigpool --show-labels NAME CONFIG UPDATED UPDATING DEGRADED LABELS master rendered-master-e05b81f5ca4db1d249a1bf32f9ec24fd True False False operator.machineconfiguration.openshift.io/required-for-upgrade= worker rendered-worker-f50e78e1bc06d8e82327763145bfcf62 True False False
为所需的 machineconfigpool 添加自定义标签。
例如:
$ oc label machineconfigpool worker custom-kubelet=enabled
为您的配置更改创建 KubeletConfig 自定义资源 (CR)。
例如:
custom-config CR 配置示例
apiVersion: machineconfiguration.openshift.io/v1 kind: KubeletConfig metadata: name: custom-config 1 spec: machineConfigPoolSelector: matchLabels: custom-kubelet: enabled 2 kubeletConfig: 3 podsPerCore: 10 maxPods: 250 systemReserved: cpu: 1000m memory: 500Mi kubeReserved: cpu: 1000m memory: 500Mi
创建 CR 对象。
$ oc create -f <file-name>
例如:
$ oc create -f master-kube-config.yaml
大多数 KubeletConfig 选项可由用户设置。不允许覆盖下列选项:
- CgroupDriver
- ClusterDNS
- ClusterDomain
- RuntimeRequestTimeout
- StaticPodPath