9.3. 기존 마스터를 etcd로 교체
시스템을 다른 데이터 센터로 마이그레이션하고 할당된 네트워크와 IP가 변경되는 경우 다음 단계를 따르십시오.
OpenShift Container Platform 버전 3.11의 초기 릴리스에서는 scaleup.yml 플레이북이 etcd를 확장하지 않습니다. 이는 OpenShift Container Platform 3.11.59 이상에서 해결되었습니다.
-
마스터 추가. 해당 프로세스의 3단계에서
[new_masters] 및
에 새 데이터 센터의 호스트를 추가하고 openshift_node_group.yml 플레이북을 실행하고 master scaleup.yml 플레이북을 실행합니다.[new_nodes]
- 동일한 호스트를 etcd 섹션에 배치하고 openshift_node_group.yml 플레이북을 실행한 다음 etcd scaleup.yml 플레이북을 실행합니다.
호스트가 추가되었는지 확인합니다.
# oc get nodes
마스터 호스트 IP가 추가되었는지 확인합니다.
# oc get ep kubernetes
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
/etc/origin/master/ca.serial.txt 디렉터리의 /etc/origin/master 디렉토리를 inventory 파일에 먼저 나열된 새 마스터 호스트로 복사합니다. 기본적으로 이는 /etc/ansible/hosts 입니다.
- etcd 호스트를 제거합니다.
- /etc/etcd/ca 디렉터리를 인벤토리 파일에 먼저 나열된 새 etcd 호스트로 복사합니다. 기본적으로 이는 /etc/ansible/hosts 입니다.
master-config.yaml 파일에서 이전 etcd 클라이언트를 제거합니다.
# grep etcdClientInfo -A 11 /etc/origin/master/master-config.yaml
마스터를 다시 시작하십시오.
# master-restart api # master-restart controllers
클러스터에서 이전 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
위 명령의 출력에서 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
etcd pod 정의를 제거하여 이전 etcd 호스트에서 etcd 서비스를 중지합니다.
# mkdir -p /etc/origin/node/pods-stopped # mv /etc/origin/node/pods/* /etc/origin/node/pods-stopped/
정적 포드 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/:
- 기본 설치 프로세스 중 기본적으로 로드 밸런서 장치로 설치된 HA 프록시 구성에서 마스터 노드를 제거합니다.
- 시스템을 해제합니다.
포드 정의를 제거하고 호스트를 재부팅하여 마스터에서 노드 서비스를 중지합니다.
# mkdir -p /etc/origin/node/pods-stopped # mv /etc/origin/node/pods/* /etc/origin/node/pods-stopped/ # reboot
노드 리소스를 삭제합니다.
# oc delete node