5.3. 영구 명명 규칙 만들기
어떤 경우에는 재부팅 후 장치 이름이 유지되지 않습니다. 예를 들어, R760xa 시스템에서 Mellanox 장치의 이름은 재부팅 후에 변경될 수 있습니다. MachineConfig를 사용하여 지속성을 설정하면 이 문제를 피할 수 있습니다.
프로세스
노드의 작업자 노드에서 MAC 주소 이름을 파일로 수집하고 지속되어야 하는 인터페이스의 이름을 제공합니다. 이 예제에서는
70-persistent-net.rules파일을 사용하고 그 안에 세부 정보를 저장합니다.$ cat <<EOF > 70-persistent-net.rules SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="b8:3f:d2:3b:51:28",ATTR{type}=="1",NAME="ibs2f0" SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="b8:3f:d2:3b:51:29",ATTR{type}=="1",NAME="ens8f0np0" SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="b8:3f:d2:f0:36:d0",ATTR{type}=="1",NAME="ibs2f0" SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="b8:3f:d2:f0:36:d1",ATTR{type}=="1",NAME="ens8f0np0" EOF해당 파일을 줄 바꿈 없는 base64 문자열로 변환하고 출력을
PERSIST변수로 설정합니다.$ PERSIST=`cat 70-persistent-net.rules| base64 -w 0`$ echo $PERSISTU1VCU1lTVEVNPT0ibmV0IixBQ1RJT049PSJhZGQiLEFUVFJ7YWRkcmVzc309PSJiODozZjpkMjozYjo1MToyOCIsQVRUUnt0eXBlfT09IjEiLE5BTUU9ImliczJmMCIKU1VCU1lTVEVNPT0ibmV0IixBQ1RJT049PSJhZGQiLEFUVFJ7YWRkcmVzc309PSJiODozZjpkMjozYjo1MToyOSIsQVRUUnt0eXBlfT09IjEiLE5BTUU9ImVuczhmMG5wMCIKU1VCU1lTVEVNPT0ibmV0IixBQ1RJT049PSJhZGQiLEFUVFJ7YWRkcmVzc309PSJiODozZjpkMjpmMDozNjpkMCIsQVRUUnt0eXBlfT09IjEiLE5BTUU9ImliczJmMCIKU1VCU1lTVEVNPT0ibmV0IixBQ1RJT049PSJhZGQiLEFUVFJ7YWRkcmVzc309PSJiODozZjpkMjpmMDozNjpkMSIsQVRUUnt0eXBlfT09IjEiLE5BTUU9ImVuczhmMG5wMCIK다음 명령을 실행하여 머신 구성을 만들고 사용자 정의 리소스 파일에 base64 인코딩을 설정합니다.
$ cat <<EOF > 99-machine-config-udev-network.yamlapiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker name: 99-machine-config-udev-network spec: config: ignition: version: 3.2.0 storage: files: - contents: source: data:text/plain;base64,$PERSIST filesystem: root mode: 420 path: /etc/udev/rules.d/70-persistent-net.rules다음 명령을 실행하여 클러스터에서 머신 구성을 만듭니다. 명령을 실행한 후 예상되는 출력은
machineconfig.machineconfiguration.openshift.io/99-machine-config-udev-network created입니다.$ oc create -f 99-machine-config-udev-network.yamlget mcp명령을 사용하여 머신 구성 상태를 확인하세요.$ oc get mcp출력 예
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-9adfe851c2c14d9598eea5ec3df6c187 True False False 1 1 1 0 6h21m worker rendered-worker-4568f1b174066b4b1a4de794cf538fee False True False 2 0 0 0 6h21m
노드가 재부팅되고 업데이트 필드가 false 로 돌아가면 디버그 포드에서 장치를 살펴보아 노드에서 유효성을 검사할 수 있습니다.