9.3. 기존 마스터를 etcd로 교체


시스템을 다른 데이터 센터로 마이그레이션하고 할당된 네트워크와 IP가 변경되는 경우 다음 단계를 따르십시오.

  1. 기본 etcd마스터 노드를 백업합니다.

    중요
  2. 교체할 마스터 수만큼 새 시스템을 프로비저닝합니다.
  3. 클러스터를 추가하거나 확장합니다. 예를 들어 etcd가 공동 배치된 마스터 3개를 추가하려면 마스터 노드 3개를 확장합니다.
중요

OpenShift Container Platform 버전 3.11의 초기 릴리스에서는 scaleup.yml 플레이북이 etcd를 확장하지 않습니다. 이는 OpenShift Container Platform 3.11.59 이상에서 해결되었습니다.

  1. 마스터 추가. 해당 프로세스의 3단계에서 [new_masters] 및 [new_nodes] 에 새 데이터 센터의 호스트를 추가하고 openshift_node_group.yml 플레이북을 실행하고 master scaleup.yml 플레이북을 실행합니다.
  2. 동일한 호스트를 etcd 섹션에 배치하고 openshift_node_group.yml 플레이북을 실행한 다음 etcd scaleup.yml 플레이북을 실행합니다.
  3. 호스트가 추가되었는지 확인합니다.

    # oc get nodes
  4. 마스터 호스트 IP가 추가되었는지 확인합니다.

    # oc get ep kubernetes
  5. etcd가 추가되었는지 확인합니다. ETCDCTL_API 값은 사용 중인 버전에 따라 다릅니다.

    # source /etc/etcd/etcd.conf
    # ETCDCTL_API=2 etcdctl --cert-file=$ETCD_PEER_CERT_FILE --key-file=$ETCD_PEER_KEY_FILE \
      --ca-file=/etc/etcd/ca.crt --endpoints=$ETCD_LISTEN_CLIENT_URLS member list
  6. /etc/origin/master/ca.serial.txt 디렉터리의 /etc/origin/master 디렉토리를 inventory 파일에 먼저 나열된 새 마스터 호스트로 복사합니다. 기본적으로 이는 /etc/ansible/hosts 입니다.

    1. etcd 호스트를 제거합니다.
  7. /etc/etcd/ca 디렉터리를 인벤토리 파일에 먼저 나열된 새 etcd 호스트로 복사합니다. 기본적으로 이는 /etc/ansible/hosts 입니다.
  8. master-config.yaml 파일에서 이전 etcd 클라이언트를 제거합니다.

    # grep etcdClientInfo -A 11 /etc/origin/master/master-config.yaml
  9. 마스터를 다시 시작하십시오.

    # master-restart api
    # master-restart controllers
  10. 클러스터에서 이전 etcd 멤버를 제거합니다. ETCDCTL_API 값은 사용 중인 버전에 따라 다릅니다.

    # source /etc/etcd/etcd.conf
    # ETCDCTL_API=2 etcdctl --cert-file=$ETCD_PEER_CERT_FILE --key-file=$ETCD_PEER_KEY_FILE \
      --ca-file=/etc/etcd/ca.crt --endpoints=$ETCD_LISTEN_CLIENT_URLS member list
  11. 위 명령의 출력에서 ID를 사용하고 ID를 사용하여 이전 멤버를 제거합니다.

    # etcdctl --cert-file=$ETCD_PEER_CERT_FILE --key-file=$ETCD_PEER_KEY_FILE \
      --ca-file=/etc/etcd/ca.crt --endpoints=$ETCD_LISTEN_CLIENT_URL member remove 1609b5a3a078c227
  12. etcd pod 정의를 제거하여 이전 etcd 호스트에서 etcd 서비스를 중지합니다.

    # mkdir -p /etc/origin/node/pods-stopped
    # mv /etc/origin/node/pods/* /etc/origin/node/pods-stopped/
    1. 정적 포드 dir /etc/origin/node/pods에서 정의 파일을 이동하여 이전 마스터 API 및 컨트롤러 서비스를 종료합니다.

      # mkdir -p /etc/origin/node/pods/disabled
      # mv /etc/origin/node/pods/controller.yaml /etc/origin/node/pods/disabled/:
    2. 기본 설치 프로세스 중 기본적으로 로드 밸런서 장치로 설치된 HA 프록시 구성에서 마스터 노드를 제거합니다.
    3. 시스템을 해제합니다.
  13. 포드 정의를 제거하고 호스트를 재부팅하여 마스터에서 노드 서비스를 중지합니다.

    # mkdir -p /etc/origin/node/pods-stopped
    # mv /etc/origin/node/pods/* /etc/origin/node/pods-stopped/
    # reboot
  14. 노드 리소스를 삭제합니다.

    # oc delete node
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.