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가 생성된것으로 표시됩니다.$ 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 로 반환되면 디버그 Pod의 장치를 확인하여 노드에서 검증할 수 있습니다.