27.3.4.2.8. 예: 애플리케이션, 레지스트리, 로깅 및 메트릭을 위한 통합 모드
인벤토리 파일에서
[OSEv3:vars]
섹션 아래에 다음 변수를 설정하고 구성에 필요한 대로 조정합니다.[OSEv3:vars] ... openshift_hosted_registry_storage_kind=glusterfs 1 openshift_hosted_registry_storage_volume_size=5Gi openshift_hosted_registry_selector='node-role.kubernetes.io/infra=true' openshift_metrics_install_metrics=true openshift_metrics_hawkular_nodeselector={"node-role.kubernetes.io/infra": "true"} 2 openshift_metrics_cassandra_nodeselector={"node-role.kubernetes.io/infra": "true"} 3 openshift_metrics_heapster_nodeselector={"node-role.kubernetes.io/infra": "true"} 4 openshift_metrics_storage_kind=dynamic openshift_metrics_storage_volume_size=10Gi openshift_metrics_cassandra_pvc_storage_class_name="glusterfs-registry-block" 5 openshift_logging_install_logging=true openshift_logging_kibana_nodeselector={"node-role.kubernetes.io/infra": "true"} 6 openshift_logging_curator_nodeselector={"node-role.kubernetes.io/infra": "true"} 7 openshift_logging_es_nodeselector={"node-role.kubernetes.io/infra": "true"} 8 openshift_logging_storage_kind=dynamic openshift_logging_es_pvc_size=10Gi 9 openshift_logging_elasticsearch_storage_type=pvc 10 openshift_logging_es_pvc_storage_class_name="glusterfs-registry-block" 11 openshift_storage_glusterfs_namespace=app-storage openshift_storage_glusterfs_storageclass=true openshift_storage_glusterfs_storageclass_default=false openshift_storage_glusterfs_block_deploy=true openshift_storage_glusterfs_block_host_vol_size=100 12 openshift_storage_glusterfs_block_storageclass=true openshift_storage_glusterfs_block_storageclass_default=false openshift_storage_glusterfs_registry_namespace=infra-storage openshift_storage_glusterfs_registry_block_deploy=true openshift_storage_glusterfs_registry_block_host_vol_size=100 openshift_storage_glusterfs_registry_block_storageclass=true openshift_storage_glusterfs_registry_block_storageclass_default=false
- 1 2 3 4 6 7 8
- 인프라 노드에서 통합된 OpenShift Container Registry, Logging 및 Metrics를 실행하는 것이 좋습니다. 인프라 노드는 관리자가 OpenShift Container Platform 클러스터에 서비스를 제공하기 위해 배포한 애플리케이션을 실행하는 전용 노드입니다.
- 5 11
- 로깅 및 지표에 사용할 StorageClass를 지정합니다. 이 이름은 대상 GlusterFS 클러스터의 이름(예:
glusterfs-<name>-block
)에서 생성됩니다. 이 예에서<name>
은 기본값은registry
입니다. - 9
- OpenShift Logging에는 PVC 크기를 지정해야 합니다. 제공된 값은 권장 사항이 아닌 예시일 뿐입니다.
- 10
- 영구 Elasticsearch 스토리지를 사용하는 경우 스토리지 유형을
pvc
로 설정합니다. - 12
- glusterblock 볼륨을 호스팅하도록 자동으로 생성되는 GlusterFS 볼륨의 크기(GB)입니다. 이 변수는 glusterblock volume create 요청에 사용할 수 있는 공간이 충분하지 않은 경우에만 사용됩니다. 이 값은 더 큰 GlusterFS 블록 호스팅 볼륨을 수동으로 생성하지 않는 한 glusterblock 볼륨 크기에 대한 상한을 나타냅니다.
[OSEv3:children]
섹션에glusterfs
및 glusterfs_registry
를 추가하여[glusterfs]
및[glusterfs_registry]
그룹을 활성화합니다.[OSEv3:children] ... glusterfs glusterfs_registry
GlusterFS 스토리지를 호스트할 각 스토리지 노드에 대한 항목이 있는
[glusterfs]
및 [glusterfs_registry]glusterfs_devices
를 GlusterFS 클러스터의 일부로 완전히 관리되는 원시 블록 장치 목록으로 설정합니다. 장치가 하나 이상 나열되어야 합니다. 각 장치는 파티션 또는 LVM PV가 없는 베어 상태여야 합니다. 변수를 지정하려면 다음 형식을 사용합니다.<hostname_or_ip> glusterfs_devices='[ "</path/to/device1/>", "</path/to/device2>", ... ]'
예를 들면 다음과 같습니다.
[glusterfs] node11.example.com glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]' node12.example.com glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]' node13.example.com glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]' [glusterfs_registry] node14.example.com glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]' node15.example.com glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]' node16.example.com glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]'
[glusterfs] 및
에 나열된 호스트를[glusterfs
_registry][nodes]
그룹에 추가합니다.[nodes] ... node11.example.com openshift_node_group_name='node-config-compute' 1 node12.example.com openshift_node_group_name='node-config-compute' 2 node13.example.com openshift_node_group_name='node-config-compute' 3 node14.example.com openshift_node_group_name='node-config-infra'" 4 node15.example.com openshift_node_group_name='node-config-infra'" 5 node16.example.com openshift_node_group_name='node-config-infra'" 6
참고앞의 단계에서는 인벤토리 파일에 추가해야 하는 일부 옵션만 제공합니다. 전체 인벤토리 파일을 사용하여 Red Hat Gluster Storage를 배포합니다.
플레이북 디렉터리로 변경하고 설치 플레이북을 실행합니다. 인벤토리 파일의 상대 경로를 옵션으로 제공합니다.
새로운 OpenShift Container Platform 설치의 경우 다음을 수행합니다.
$ cd /usr/share/ansible/openshift-ansible $ ansible-playbook -i <path_to_inventory_file> playbooks/prerequisites.yml $ ansible-playbook -i <path_to_inventory_file> playbooks/deploy_cluster.yml
기존 OpenShift Container Platform 클러스터에 설치하려면 다음을 수행합니다.
$ cd /usr/share/ansible/openshift-ansible $ ansible-playbook -i <path_to_inventory_file> playbooks/openshift-glusterfs/config.yml