Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

37.2. etcd 멤버 추가

Ansible 플레이북을 사용하거나 수동 단계를 통해 etcd 호스트를 추가할 수 있습니다.

37.2.1. Ansible을 사용하여 새 etcd 호스트 추가

프로시저
  1. Ansible 인벤토리 파일에서 [new_etcd]라는 새 그룹을 생성하고 새 호스트를 추가하십시오. 그런 다음 new_etcd 그룹을 [OSEv3] 그룹의 하위 그룹으로 추가하십시오.

    [OSEv3:children]
    masters
    nodes
    etcd
    new_etcd 1
    
    ... [OUTPUT ABBREVIATED] ...
    
    [etcd]
    master-0.example.com
    master-1.example.com
    master-2.example.com
    
    [new_etcd] 2
    etcd0.example.com 3
    1 2 3
    다음 라인을 추가하십시오.
    참고

    이전 etcd 호스트 항목을 인벤토리 파일의 새 etcd 호스트 항목으로 교체합니다. 이전 etcd 호스트 를 교체하는 동안 /etc/etcd/ca/ 디렉터리 사본을 생성해야 합니다. 또는 etcd 호스트 를 확장하기 전에 etcd ca 및 certs를 재배포할 수 있습니다.

  2. OpenShift Container Platform이 설치되어 있고 Ansible 인벤토리 파일을 호스팅하는 호스트에서 플레이북 디렉터리로 이동하여 etcd scaleup 플레이북을 실행하십시오.

    $ cd /usr/share/ansible/openshift-ansible
    $ ansible-playbook  playbooks/openshift-etcd/scaleup.yml
  3. 플레이북을 실행한 다음 새 etcd 호스트를 [new_etcd] 그룹에서 [etcd] 그룹으로 이동하여 현재 상태에 맞게 인벤토리 파일을 수정하십시오.

    [OSEv3:children]
    masters
    nodes
    etcd
    new_etcd
    
    ... [OUTPUT ABBREVIATED] ...
    
    [etcd]
    master-0.example.com
    master-1.example.com
    master-2.example.com
    etcd0.example.com
  4. Flannel을 사용하는 경우 새 etcd 호스트를 포함하도록 /etc/sysconfig/flanneld에 있는 모든 OpenShift Container Platform 호스트에서 flanneld 서비스 구성을 수정하십시오.

    FLANNEL_ETCD_ENDPOINTS=https://master-0.example.com:2379,https://master-1.example.com:2379,https://master-2.example.com:2379,https://etcd0.example.com:2379
  5. flanneld 서비스를 다시 시작하십시오.

    # systemctl restart flanneld.service