35.3. Ramp 노드를 사용하여 터널 설정
이전 솔루션은 가능한 경우도 있습니다. 예를 들어 F5®는 호환되지 않는 사용자 지정 Linux 커널 및 배포를 사용하기 때문에 F5 BIG-IP ® 호스트에서 OpenShift Container Platform 노드 인스턴스 또는 OpenShift Container Platform SDN을 실행할 수 없습니다.
대신 F5 BIG-IP® 가 Pod에 도달할 수 있도록 클러스터 네트워크 내에서 기존 노드를 확대 노드로 선택하고 F5 BIG-IP® 호스트와 지정된 확장 노드 간에 터널을 설정할 수 있습니다. 그렇지 않으면 일반 OpenShift Container Platform 노드이므로 확장 노드에는 클러스터 네트워크의 모든 노드에 있는 모든 Pod로 트래픽을 라우팅하는 데 필요한 구성이 있습니다. 따라서 확장 노드는 F5 BIG-IP® 호스트가 전체 클러스터 네트워크에 액세스할 수 있는 게이트웨이의 역할을 가정합니다.
다음은 F5 BIG-IP® 호스트와 지정된 확장 노드 간에 ipip 터널을 설정하는 예입니다.
F5 BIG-IP® 호스트에서 다음을 수행합니다.
다음 변수를 설정합니다.
F5_IP=10.3.89.66 RAMP_IP=10.3.89.89 TUNNEL_IP1=10.3.91.216 CLUSTER_NETWORK=10.128.0.0/14
# F5_IP=10.3.89.66
1 # RAMP_IP=10.3.89.89
2 # TUNNEL_IP1=10.3.91.216
3 # CLUSTER_NETWORK=10.128.0.0/14
4 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 경로, 자체, 터널 및 SNAT 풀을 삭제합니다.
tmsh delete net route $CLUSTER_NETWORK || true tmsh delete net self SDN || true tmsh delete net tunnels tunnel SDN || true tmsh delete ltm snatpool SDN_snatpool || true
# tmsh delete net route $CLUSTER_NETWORK || true # tmsh delete net self SDN || true # tmsh delete net tunnels tunnel SDN || true # tmsh delete ltm snatpool SDN_snatpool || true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 터널, 셀프, 경로 및 SNAT 풀을 생성하고 가상 서버에서 SNAT 풀을 사용합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
업그레이드 노드에서 다음을 수행합니다.
다음은 지속되지 않는 구성을 만듭니다. 즉, 확대기 노드 또는 openvswitch 서비스를 다시 시작하면 설정이 사라집니다.
다음 변수를 설정합니다.
F5_IP=10.3.89.66 TUNNEL_IP1=10.3.91.216 TUNNEL_IP2=10.3.91.217 CLUSTER_NETWORK=10.128.0.0/14
# F5_IP=10.3.89.66 # TUNNEL_IP1=10.3.91.216 # TUNNEL_IP2=10.3.91.217
1 # CLUSTER_NETWORK=10.128.0.0/14
2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 터널을 삭제합니다.
ip tunnel del tun1 || true
# ip tunnel del tun1 || true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 적합한 L2 연결 인터페이스(예 : eth0)를 사용하여 확장기 노드에서 ipip 터널을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SDN 서브넷에서 사용하지 않는 IP를 사용하여 터널 IP를 조정합니다.
source /run/openshift-sdn/config.env tap1=$(ip -o -4 addr list tun0 | awk '{print $4}' | cut -d/ -f1 | head -n 1) subaddr=$(echo ${OPENSHIFT_SDN_TAP1_ADDR:-"$tap1"} | cut -d "." -f 1,2,3) export RAMP_SDN_IP=${subaddr}.254
# source /run/openshift-sdn/config.env # tap1=$(ip -o -4 addr list tun0 | awk '{print $4}' | cut -d/ -f1 | head -n 1) # subaddr=$(echo ${OPENSHIFT_SDN_TAP1_ADDR:-"$tap1"} | cut -d "." -f 1,2,3) # export RAMP_SDN_IP=${subaddr}.254
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이
RAMP_SDN_IP
를 tun0 (로컬 SDN의 게이트웨이)에 추가 주소로 할당합니다.ip addr add ${RAMP_SDN_IP} dev tun0
# ip addr add ${RAMP_SDN_IP} dev tun0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SNAT에 대한 OVS 규칙을 수정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택적으로 고가용성으로 확장기 노드를 구성하지 않으려는 경우, 업그레이드 노드를 예약할 수 없음으로 표시합니다. 다음 섹션을 따르고 고가용성 확장 노드 생성을 계획하는 경우 이 단계를 건너뜁니다.
oc adm manage-node <ramp_node_hostname> --schedulable=false
$ oc adm manage-node <ramp_node_hostname> --schedulable=false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
35.3.1. 가용성이 높은 Ramp 노드 구성 링크 복사링크가 클립보드에 복사되었습니다!
keepalived 를 내부적으로 사용하는 OpenShift Container Platform의 ipfailover 기능을 사용하여 확장 노드를 F5 BIG-IP®의 관점에서 고가용성으로 사용할 수 있습니다. 이를 위해 먼저 동일한 L2 서브넷에서 두 개의 노드(예: ramp-node-1 및 ramp-node-2) 를 가져옵니다.
그런 다음 가상 IP 또는 VIP 에 사용할 동일한 서브넷 내에서 할당되지 않은 일부 IP 주소를 선택합니다. F5 BIG- IP®에서 터널을 구성할 RAMP_
IP 변수로 설정됩니다.
예를 들어 10.20.30.0/24 서브넷을 확대 노드에 사용하고 있고 10.20.30.2 를 ramp-node-1 및 10.20.30.3 으로 할당했다고 가정합니다. VIP의 경우 동일한 10.20.30.0/24 서브넷에서 할당되지 않은 주소를 선택합니다(예: 10.20.30.4). 그런 다음 ipfailover 를 구성하려면 f5rampnode 와 같은 레이블을 사용하여 두 노드를 모두 표시합니다.
oc label node ramp-node-1 f5rampnode=true oc label node ramp-node-2 f5rampnode=true
$ oc label node ramp-node-1 f5rampnode=true
$ oc label node ramp-node-2 f5rampnode=true
ipfailover 설명서 의 지침과 유사하게 서비스 계정을 생성하여 권한이 있는 SCC에 추가해야 합니다. 먼저 f5ipfailover 서비스 계정을 생성합니다.
oc create serviceaccount f5ipfailover -n default
$ oc create serviceaccount f5ipfailover -n default
다음으로 f5ipfailover 서비스를 권한 있는 SCC에 추가할 수 있습니다. 기본 네임스페이스의 f5ipfailover 를 권한 있는 SCC에 추가하려면 다음을 실행합니다.
oc adm policy add-scc-to-user privileged system:serviceaccount:default:f5ipfailover
$ oc adm policy add-scc-to-user privileged system:serviceaccount:default:f5ipfailover
마지막으로 선택한 VIP(RAM P_IP
변수) 및 f5ipfailover 서비스 계정을 사용하여 ip failover 를 구성하고 이전에 설정한 f5rampnode 레이블을 사용하여 VIP를 두 노드에 할당합니다.
- 1
RAMP_IP
를 구성해야 하는 인터페이스입니다.
위의 설정을 사용하면 현재 할당되어 있는 업그레이드 노드 호스트가 실패하면 VIP(RAM P_IP
변수)가 자동으로 다시 할당됩니다.