4.5. 사용자 지정 br-ex 브리지를 포함하는 매니페스트 오브젝트 생성
configure-ovs.sh
쉘 스크립트를 사용하여 베어 메탈 플랫폼에서 br-ex
브리지를 설정하는 대신 NMState 구성 파일이 포함된 MachineConfig
오브젝트를 생성할 수 있습니다. NMState 구성 파일은 클러스터의 각 노드에 사용자 지정 br-ex
브리지 네트워크 구성을 생성합니다.
사용자 지정 br-ex
브리지가 포함된 매니페스트 오브젝트를 생성하는 다음 사용 사례를 고려하십시오.
-
OVS(Open vSwitch) 또는 OVN-Kubernetes
br-ex
브리지 네트워크 변경과 같은 브릿지를 사후 설치하려고 합니다.configure-ovs.sh
쉘 스크립트는 브리지를 사후 설치하도록 지원하지 않습니다. - 호스트 또는 서버 IP 주소에 사용 가능한 인터페이스와 다른 인터페이스에 브리지를 배포하려고 합니다.
-
configure-ovs.sh
쉘 스크립트에서 사용할 수 없는 고급 구성을 브리지에 설정하려고 합니다. 이러한 구성에 스크립트를 사용하면 브리지가 여러 네트워크 인터페이스를 연결하고 인터페이스 간 데이터 전달을 용이하게 할 수 있습니다.
단일 NIC(네트워크 인터페이스 컨트롤러) 및 기본 네트워크 설정이 있는 환경이 필요한 경우 configure-ovs.sh
쉘 스크립트를 사용합니다.
RHCOS(Red Hat Enterprise Linux CoreOS)를 설치하고 시스템을 재부팅하면 Machine Config Operator에서 클러스터의 각 노드에 Ignition 구성 파일을 삽입하여 각 노드가 br-ex
브리지 네트워크 구성을 수신하도록 합니다. 구성 충돌을 방지하기 위해 configure-ovs.sh
쉘 스크립트는 br-ex
브리지를 구성하지 않는 신호를 수신합니다.
사전 요구 사항
-
선택 사항: NMState 구성을 검증할 수 있도록
nmstate
API를 설치했습니다.
프로세스
사용자 지정
br-ex
브리지 네트워크에 대한 base64 정보를 디코딩한 NMState 구성 파일을 생성합니다.사용자 지정
br-ex
브리지 네트워크에 대한 NMState 구성의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow interfaces: - name: enp2s0 type: ethernet state: up ipv4: enabled: false ipv6: enabled: false - name: br-ex type: ovs-bridge state: up ipv4: enabled: false dhcp: false ipv6: enabled: false dhcp: false bridge: options: mcast-snooping-enable: true port: - name: enp2s0 - name: br-ex - name: br-ex type: ovs-interface state: up copy-mac-from: enp2s0 ipv4: enabled: true dhcp: true ipv6: enabled: false dhcp: false # ...
interfaces: - name: enp2s0
1 type: ethernet
2 state: up
3 ipv4: enabled: false
4 ipv6: enabled: false - name: br-ex type: ovs-bridge state: up ipv4: enabled: false dhcp: false ipv6: enabled: false dhcp: false bridge: options: mcast-snooping-enable: true port: - name: enp2s0
5 - name: br-ex - name: br-ex type: ovs-interface state: up copy-mac-from: enp2s0 ipv4: enabled: true dhcp: true ipv6: enabled: false dhcp: false # ...
cat
명령을 사용하여 NMState 구성의 내용을 base64로 인코딩합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat <nmstate_configuration>.yaml | base64
$ cat <nmstate_configuration>.yaml | base64
1 - 1
- &
lt;nmstate_configuration&
gt;을 NMState 리소스 YAML 파일의 이름으로 바꿉니다.
MachineConfig
매니페스트 파일을 생성하고 다음 예와 유사한 사용자 지정br-ex
브리지 네트워크 구성을 정의합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker name: 10-br-ex-worker spec: config: ignition: version: 3.2.0 storage: files: - contents: source: data:text/plain;charset=utf-8;base64,<base64_encoded_nmstate_configuration> mode: 0644 overwrite: true path: /etc/nmstate/openshift/cluster.yml # ...
apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker
1 name: 10-br-ex-worker
2 spec: config: ignition: version: 3.2.0 storage: files: - contents: source: data:text/plain;charset=utf-8;base64,<base64_encoded_nmstate_configuration>
3 mode: 0644 overwrite: true path: /etc/nmstate/openshift/cluster.yml # ...
- 1
- 클러스터의 각 노드에 대해 노드의 호스트 이름 경로와 머신 유형의 base-64로 인코딩된 Ignition 구성 파일 데이터를 지정합니다. 클러스터의 모든 노드에 적용하려는
/etc/nmstate/openshift/cluster.yml
구성 파일에 지정된 단일 글로벌 구성이 있는 경우 각 노드의 호스트 이름 경로를 지정할 필요가 없습니다.worker
역할은 클러스터의 노드의 기본 역할입니다.MachineConfig
매니페스트 파일의 각 노드 또는 모든 노드의 호스트 이름 경로를 지정할 때.yaml
확장이 작동하지 않습니다. - 2
- 정책의 이름입니다.
- 3
- 인코딩된 base64 정보를 지정된 경로에 씁니다.
4.5.1. 선택 사항: 각 머신 세트를 컴퓨팅 노드로 확장
OpenShift Container Platform 클러스터의 모든 컴퓨팅 노드에 사용자 지정 br-ex
브리지 구성을 적용하려면 MachineConfig
CR(사용자 정의 리소스)을 편집하고 해당 역할을 수정해야 합니다. 또한 호스트 이름, 인증 정보 등과 같은 베어 메탈 시스템에 대한 정보를 정의하는 BareMetalHost
CR을 생성해야 합니다.
이러한 리소스를 구성한 후 머신 세트가 각 컴퓨팅 노드에 리소스 구성을 적용하고 노드를 재부팅할 수 있도록 머신 세트를 확장해야 합니다.
사전 요구 사항
-
사용자 지정
br-ex
브리지 구성이 포함된MachineConfig
매니페스트 오브젝트를 생성했습니다.
프로세스
다음 명령을 입력하여
MachineConfig
CR을 편집합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit mc <machineconfig_custom_resource_name>
$ oc edit mc <machineconfig_custom_resource_name>
- CR에서 클러스터에 정의된 각 컴퓨팅 노드의 역할을 관리할 수 있도록 각 컴퓨팅 노드 구성을 CR에 추가합니다.
-
최소한의 고정 IP 구성이 있는
extraworker-secret
이라는Secret
오브젝트를 생성합니다. 다음 명령을 입력하여 클러스터의 각 노드에
extraworker-secret
시크릿을 적용합니다. 이 단계에서는 Ignition 구성 파일에 대한 각 컴퓨팅 노드 액세스를 제공합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f ./extraworker-secret.yaml
$ oc apply -f ./extraworker-secret.yaml
BareMetalHost
리소스를 생성하고preprovisioningNetworkDataName
매개변수에 네트워크 시크릿을 지정합니다.연결된 네트워크 시크릿을 사용하는
BareMetalHost
리소스의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: metal3.io/v1alpha1 kind: BareMetalHost spec: # ... preprovisioningNetworkDataName: ostest-extraworker-0-network-config-secret # ...
apiVersion: metal3.io/v1alpha1 kind: BareMetalHost spec: # ... preprovisioningNetworkDataName: ostest-extraworker-0-network-config-secret # ...
클러스터의
openshift-machine-api
네임스페이스에서BareMetalHost
오브젝트를 관리하려면 다음 명령을 입력하여 네임스페이스로 변경합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc project openshift-machine-api
$ oc project openshift-machine-api
머신 세트를 가져옵니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get machinesets
$ oc get machinesets
다음 명령을 입력하여 각 머신 세트를 스케일링합니다. 각 머신 세트에 대해 이 명령을 실행해야 합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc scale machineset <machineset_name> --replicas=<n>
$ oc scale machineset <machineset_name> --replicas=<n>
1 - 1
- 여기서
<machineset_name
>은 머신 세트의 이름이며 <n
>은 컴퓨팅 노드 수입니다.