22.2.3. OpenShift Container Platform 사전 요구 사항
OpenShift Container Platform을 성공적으로 배포하려면 많은 사전 요구 사항이 필요합니다. Ansible을 사용하여 OpenShift Container Platform을 실제로 설치하기 전에 인프라 및 호스트 구성 단계 집합으로 구성됩니다. 다음 후속 섹션에서는 OpenStack 환경의 OpenShift Container Platform에 필요한 사전 요구 사항 및 구성 변경 사항에 대한 자세한 내용은 자세히 설명합니다.
이 참조 환경의 모든 OpenStack CLI 명령은 director 노드의 다른 노드 내에서 CLI openstack
명령을 사용하여 실행됩니다. 명령은 패키지가 Ansible 버전 2.6 이상과 충돌하지 않도록 다른 노드에서 실행됩니다. 지정된 리포지토리에 다음 패키지를 설치해야 합니다.
예제:
Set Up Repositories 에서 rhel-7-server-openstack-13-tools-rpms 및 필요한 OpenShift Container Platform 리포지토리를 활성화합니다.
$ sudo subscription-manager repos \ --enable rhel-7-server-openstack-{rhosp_version}-tools-rpms \ --enable rhel-7-server-openstack-14-tools-rpms $ sudo subscription-manager repo-override --repo=rhel-7-server-openstack-14-tools-rpms --add=includepkgs:"python2-openstacksdk.* python2-keystoneauth1.* python2-os-service-types.*" $ sudo yum install -y python2-openstackclient python2-heatclient python2-octaviaclient ansible
패키지가 최소한 다음 버전인지 확인합니다( rpm -q <package_name>
사용).
-
python2-openstackclient
-3.14.1.-1
-
python2-heatclient
1.14.0-1
-
python2-octaviaclient
1.4.0-1
-
python2-openstacksdk
0.17.2
22.2.3.1. Octavia 활성화: LBaaS(OpenStack Load Balancing as a Service)
Octavia는 외부 들어오는 트래픽을 로드하고 애플리케이션에 대한 OpenShift Container Platform 마스터 서비스의 단일 보기를 제공하기 위해 OpenShift Container Platform과 함께 사용하는 것이 권장되는 지원되는 로드 밸런서 솔루션입니다.
Octavia를 활성화하려면 OpenStack overcloud 설치 중에 Octavia 서비스를 포함하거나 오버클라우드가 이미 존재하는 경우 업그레이드해야 합니다. 다음 단계에서는 Octavia 활성화의 기본 사용자 지정되지 않은 단계를 제공하고 오버클라우드 정리 또는 오버클라우드 업데이트에 모두 적용합니다.
다음 단계는 Octavia를 처리할 때 OpenStack 배포 중에 필요한 주요 부분만 다룹니다. 자세한 내용은 OpenStack 설치 설명서를 참조하십시오. 레지스트리 방법도 다를 수 있습니다. 자세한 내용은 레지스트리 메서드 설명서를 참조하십시오. 이 예에서는 로컬 레지스트리 방법을 사용했습니다.
로컬 레지스트리를 사용하는 경우 이미지를 레지스트리에 업로드할 템플릿을 생성합니다. 아래에 표시된 예.
(undercloud) $ openstack overcloud container image prepare \ -e /usr/share/openstack-tripleo-heat-templates/environments/services-docker/octavia.yaml \ --namespace=registry.access.redhat.com/rhosp13 \ --push-destination=<local-ip-from-undercloud.conf>:8787 \ --prefix=openstack- \ --tag-from-label {version}-{release} \ --output-env-file=/home/stack/templates/overcloud_images.yaml \ --output-images-file /home/stack/local_registry_images.yaml
생성된 local_registry_images.yaml 에 Octavia 이미지가 포함되어 있는지 확인합니다.
로컬 레지스트리 파일의 Octavia 이미지
... - imagename: registry.access.redhat.com/rhosp13/openstack-octavia-api:13.0-43 push_destination: <local-ip-from-undercloud.conf>:8787 - imagename: registry.access.redhat.com/rhosp13/openstack-octavia-health-manager:13.0-45 push_destination: <local-ip-from-undercloud.conf>:8787 - imagename: registry.access.redhat.com/rhosp13/openstack-octavia-housekeeping:13.0-45 push_destination: <local-ip-from-undercloud.conf>:8787 - imagename: registry.access.redhat.com/rhosp13/openstack-octavia-worker:13.0-44 push_destination: <local-ip-from-undercloud.conf>:8787
Octavia 컨테이너 버전은 설치된 특정 Red Hat OpenStack Platform 릴리스에 따라 달라집니다.
다음 단계에서는 registry.redhat.io
에서 언더클라우드 노드로 컨테이너 이미지를 가져옵니다. 이 프로세스는 네트워크 및 Undercloud 디스크의 속도에 따라 다소 시간이 걸릴 수 있습니다.
(undercloud) $ sudo openstack overcloud container image upload \ --config-file /home/stack/local_registry_images.yaml \ --verbose
OpenShift API에 액세스하는 데 Octavia 로드 밸런서를 사용하므로 연결에 대한 리스너 기본 시간 초과를 늘려야 합니다. 기본 제한 시간은 50초입니다. 다음 파일을 오버클라우드 배포 명령에 전달하여 시간 초과를 20분으로 늘립니다.
(undercloud) $ cat octavia_timeouts.yaml parameter_defaults: OctaviaTimeoutClientData: 1200000 OctaviaTimeoutMemberData: 1200000
이는 Red Hat OpenStack Platform 14 이상에서는 필요하지 않습니다.
Octavia를 사용하여 오버클라우드 환경을 설치하거나 업데이트합니다.
openstack overcloud deploy --templates \ . . . -e /usr/share/openstack-tripleo-heat-templates/environments/services-docker/octavia.yaml \ -e octavia_timeouts.yaml . . .
위의 명령에는 Octavia와 연결된 파일만 포함됩니다. 이 명령은 OpenStack의 특정 설치에 따라 달라집니다. 자세한 내용은 공식 OpenStack 설명서를 참조하십시오. Octavia 설치 사용자 지정에 대한 자세한 내용은 Director를 사용하여 Octavia 설치를 참조하십시오.
Kuryr SDN을 사용하는 경우 Neutron에서 오버클라우드 설치에 "trunk" 확장 기능을 활성화해야 합니다. 이 기능은 기본적으로 Director 배포에서 활성화됩니다. Neutron 백엔드가 ML2/OVS인 경우 기본 ovs-hybrid 대신 openvswitch 방화벽을 사용합니다. 백엔드가 ML2/OVN인 경우에는 수정하지 않아도 됩니다.