6.13. 고급 네트워크 구성 지정
네트워크 플러그인의 고급 네트워크 구성을 사용하여 클러스터를 기존 네트워크 환경에 통합할 수 있습니다. 클러스터를 설치하기 전에만 고급 네트워크 구성을 지정할 수 있습니다.
설치 프로그램에서 생성한 OpenShift Container Platform 매니페스트 파일을 수정하여 네트워크 구성을 사용자 정의하는 것은 지원되지 않습니다. 다음 절차에서와 같이 생성한 매니페스트 파일을 적용할 수 있습니다.
사전 요구 사항
-
install-config.yaml
파일을 생성하고 수정 작업을 완료했습니다.
프로세스
설치 프로그램이 포함된 디렉터리로 변경하고 매니페스트를 생성합니다.
$ ./openshift-install create manifests --dir <installation_directory> 1
- 1
<installation_directory>
는 클러스터의install-config.yaml
파일이 포함된 디렉터리의 이름을 지정합니다.
<installation_directory>/ manifests/
디렉토리에cluster-network-03-config.yml
이라는 stub 매니페스트 파일을 만듭니다.apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec:
다음과 같이
cluster-network-03-config.yml
파일에서 클러스터의 고급 네트워크 구성을 지정합니다.OpenShift SDN 네트워크 공급자에 대한 다른 VXLAN 포트 지정
apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: defaultNetwork: openshiftSDNConfig: vxlanPort: 4800
OVN-Kubernetes 네트워크 공급자의 IPsec 활성화
apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: defaultNetwork: ovnKubernetesConfig: ipsecConfig: {}
-
선택사항:
manifests/cluster-network-03-config.yml
파일을 백업합니다. 설치 프로그램은 Ignition 구성 파일을 생성할 때manifests/
디렉터리를 사용합니다. 컨트롤 플레인 시스템을 정의하는 Kubernetes 매니페스트 파일을 제거하고 machineSets를 컴퓨팅합니다.
$ rm -f openshift/99_openshift-cluster-api_master-machines-*.yaml openshift/99_openshift-cluster-api_worker-machineset-*.yaml
이러한 리소스는 사용자가 직접 생성하고 관리하기 때문에 초기화할 필요가 없습니다.
- 시스템 API로 MachineSet 파일을 보존하여 컴퓨팅 시스템을 생성할 수 있지만 사용자 환경과 일치하도록 해당 참조를 업데이트해야 합니다.
6.13.1. 네트워크에 여러 서브넷 지정
vSphere 호스트에 OpenShift Container Platform 클러스터를 설치하기 전에 vSphere 클라우드 컨트롤러 관리자(CCM)가 지정된 네트워킹 상황에 적절한 서브넷을 선택할 수 있도록 네트워킹 구현에 여러 서브넷을 지정할 수 있습니다. vSphere는 클러스터에서 Pod 및 서비스를 관리하는 데 서브넷을 사용할 수 있습니다.
이 구성의 경우 vSphere CCM 구성에서 internal 및 external Classless Inter-Domain Routing (CIDR) 구현을 지정해야 합니다. 각 CIDR 구현에는 CCM이 내부 및 외부 네트워크의 트래픽과 상호 작용하는 서브넷을 결정하는 데 사용하는 IP 주소 범위가 나열됩니다.
vSphere CCM 구성에서 내부 및 외부 CIDR 구현을 구성하지 못하면 vSphere CCM이 잘못된 서브넷을 선택할 수 있습니다. 이 경우 다음과 같은 오류가 발생합니다.
ERROR Bootstrap failed to complete: timed out waiting for the condition ERROR Failed to wait for bootstrapping to complete. This error usually happens when there is a problem with control plane hosts that prevents the control plane operators from creating the control plane.
이 구성으로 인해 새 노드가 node.cloudprovider.kubernetes.io/uninitialized
테인트를 수신하므로 단일 서브넷과 MachineSet
오브젝트와 연결된 새 노드를 사용할 수 없게 될 수 있습니다. 이러한 상황에서는 Kubernetes API 서버와의 통신 문제가 발생하여 클러스터 설치에 실패할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 클러스터에 대한 Kubernetes 매니페스트 파일을 생성하셨습니다.
프로세스
-
OpenShift Container Platform 클러스터 매니페스트 파일을 저장하는 디렉터리에서
manifests/cluster-infrastructure-02-config.yml
매니페스트 파일을 엽니다. 파일에
nodeNetworking
오브젝트를 추가하고 오브젝트에 대한 내부 및 외부 네트워크 서브넷 CIDR 구현을 지정합니다.작은 정보대부분의 네트워킹 상황에서는 표준 multiple-subnet 구성을 설정하는 것이 좋습니다. 이 구성을 사용하려면
nodeNetworking.internal.networkSubnetCidr
및nodeNetworking.external.networkSubnetCidr
매개변수에서 동일한 IP 주소 범위를 설정해야 합니다.구성된
cluster-infrastructure-02-config.yml
매니페스트 파일의 예apiVersion: config.openshift.io/v1 kind: Infrastructure metadata: name: cluster spec: cloudConfig: key: config name: cloud-provider-config platformSpec: type: VSphere vsphere: failureDomains: - name: generated-failure-domain ... nodeNetworking: external: networkSubnetCidr: - <machine_network_cidr_ipv4> - <machine_network_cidr_ipv6> internal: networkSubnetCidr: - <machine_network_cidr_ipv4> - <machine_network_cidr_ipv6> # ...