2.8.5.2. 기능 개선
- 이번 개선된 기능을 통해 Kuryr SDN을 사용할 때 공용 네트워크 ID가 구성되지 않은지 확인하기 위해 사전 요구 사항에서 OpenShift-on-OpenStack 플레이북 실행이 실패합니다. (BZ#1579414)
이제 OpenStack 클라우드 프로비저닝을 위한 유동 IP 주소 할당을 제어할 수 있습니다. OpenStack 가상 서버를 생성하는 플레이북은 항상 각 가상 시스템(각 OpenShift 노드)과 유동 IP 주소를 연결합니다. 여기에는 두 가지 부정적인 영향이 있습니다.
- OpenShift 클러스터 크기는 OpenStack 사용자가 사용할 수 있는 유동 IP 수로 제한되었습니다.
모든 OpenShift 노드는 외부에서 직접 액세스할 수 있어 잠재적인 공격 면적이 늘어났습니다.
유동 IP를 가져오는 노드를 제어하고 아직 도입되지 않는 역할 기반 제어. 이는 다음 인벤토리 변수로 제어합니다.
-
openshift_openstack_master_floating_ip
-
openshift_openstack_infra_floating_ip
-
openshift_openstack_compute_floating_ip
openshift_openstack_load_balancer_floating_ip
모두 부울이며 기본값은
true입니다
. 이를 통해 다음과 같은 사용 사례가 허용됩니다.- 모든 마스터 및 인프라 노드에 유동 IP가 있지만 계산 노드가 없는 클러스터입니다.
노드에 유동 IP가 없지만 로드 밸런서 장치가 수행하는 클러스터(로드 밸런서를 통해 OpenShift를 사용하지만 직접 액세스할 수 있는 노드가 없습니다).
일부 노드에 유동 IP가 없는 경우(openshift
_openstack_compute_floating_ip = false로
설정) 노드 네트워크 내부에서 openshift-ansible 플레이북을 실행해야 합니다. 유동 IP가 없는 서버는 네트워크에 있는 네트워크에서만 액세스할 수 있기 때문입니다. 이 작업을 수행하는 일반적인 방법은 노드 네트워크와 서브넷을 미리 생성하고, 여기에 "bastion" 호스트를 생성하고, 여기에서 Ansible을 실행하는 것입니다.$ openstack network create openshift $ openstack subnet create --subnet-range 192.168.0.0/24 --dns-nameserver 10.20.30.40 --network openshift openshift $ openstack router create openshift-router $ openstack router set --external-gateway public openshift-router $ openstack router add subnet openshift-router openshift $ openstack server create --wait --image RHEL7 --flavor m1.medium --key-name openshift --network openshift bastion $ openstack floating ip create public $ openstack server add floating ip bastion 172.24.4.10 $ ping 172.24.4.10 $ ssh cloud-user@172.24.4.10
그런 다음 openshift-ansible을 설치하고 다음을 인벤토리(inventory/group_vars/all.yml)에 추가합니다.
openshift_openstack_node_network_name: openshift openshift_openstack_router_name: openshift-router openshift_openstack_node_subnet_name: openshift openshift_openstack_master_floating_ip: false openshift_openstack_infra_floating_ip: false openshift_openstack_compute_floating_ip: false openshift_openstack_load_balancer_floating_ip: false