9.2. 기존 클러스터에 etcd 호스트 추가
etcd 확장 플레이북을 실행하여 클러스터에 새 etcd 호스트를 추가할 수 있습니다. 이 플레이북은 마스터를 쿼리하고 새 호스트에 대한 새 인증서를 생성 및 배포한 다음 새 호스트에서만 구성 플레이북을 실행합니다. etcd scaleup.yml 플레이북을 실행하기 전에 사전 요구 사항 호스트 준비 단계를 모두 완료합니다.
이러한 단계는 Ansible 인벤토리의 설정을 클러스터와 동기화합니다. 로컬 변경 사항이 Ansible 인벤토리에 표시되는지 확인합니다.
기존 클러스터에 etcd 호스트를 추가하려면 다음을 수행합니다.
openshift-ansible 패키지를 업데이트하여 최신 플레이북이 있는지 확인합니다.
# yum update openshift-ansible
/etc/ansible/hosts 파일을 편집하고 new_<host_type> 을 [OSEv3:children] 그룹에 추가하고 new_<host_type> 그룹 아래에 호스트를 추가합니다. 예를 들어 새 etcd를 추가하려면 new_etcd 를 추가합니다.
[OSEv3:children] masters nodes etcd new_etcd [etcd] etcd1.example.com etcd2.example.com [new_etcd] etcd3.example.com
플레이북 디렉터리로 변경하고 openshift_node_group.yml 플레이북을 실행합니다. 인벤토리 파일이 기본값 /etc/ansible/hosts 이외의 위치에 있는 경우
-i
옵션을 사용하여 위치를 지정합니다.$ cd /usr/share/ansible/openshift-ansible $ ansible-playbook [-i /path/to/file] \ playbooks/openshift-master/openshift_node_group.yml
이렇게 하면 새 노드 그룹에 대한 ConfigMap이 생성되고 궁극적으로 호스트에서 노드의 구성 파일이 생성됩니다.
참고openshift_node_group.yaml 플레이북을 실행하면 새 노드만 업데이트됩니다. 클러스터의 기존 노드를 업데이트하기 위해 실행할 수 없습니다.
etcd scaleup.yml 플레이북을 실행합니다. 인벤토리 파일이 기본값 /etc/ansible/hosts 이외의 위치에 있는 경우
-i
옵션을 사용하여 위치를 지정합니다.$ ansible-playbook [-i /path/to/file] \ playbooks/openshift-etcd/scaleup.yml
- 플레이북이 성공적으로 완료되면 설치를 확인합니다.