콘텐츠로 이동

도메인 변경

주의

이전에 HTTPS를 활성화한 경우, 새 도메인의 인증서를 미리 준비해야 합니다. 이번 도메인 변경은 dataflux.cnguance.com로 대체한다고 가정합니다.

개요

이 문서에서는 Guance의 도메인을 변경하는 방법을 설명합니다. 주요 단계는 다음과 같습니다.

  1. Launcher에서 도메인 변경
  2. ConfigMap의 모든 도메인 변경
  3. 인증서 Secret 추가 (선택 사항)
  4. 모든 Ingress의 도메인 변경
  5. 서비스 재시작

영향 범위

Guance Studio를 사용할 수 없게 됩니다. 약 15~30분 동안 접속이 불가능합니다.

작업 단계

1단계: Launcher에서 도메인 및 인증서 이름 변경

  • Launcher 우측 상단의 설정을 엽니다.
  • 도메인을 클릭합니다.
  • 도메인을 수정하고 저장합니다.

2단계: ConfigMap의 모든 도메인 변경

  • 다음 스크립트를 실행하여 백업할 수 있습니다.
NAMESPACE="forethought-core forethought-kodo forethought-webclient func2 middleware utils launcher"

for i in $NAMESPACE;
do
  for o in $(kubectl get cm  -n $i --no-headers 2>/dev/null |awk {'print $1'});
  do
  filename=cm-$i-$o.yaml
  kubectl get cm $o -n $i -o yaml > $filename
  echo $i $o
  done
done
  • 다음 스크립트를 실행하여 주소를 변경합니다.
주의

OLD_VALUENEW_VALUE 변수를 바꿔야 합니다.

# 교체할 키-값 쌍 설정
OLD_VALUE="dataflux.cn"
NEW_VALUE="guance.com"
NAMESPACE="forethought-core forethought-kodo forethought-webclient func2 middleware utils launcher"

for i in $NAMESPACE;
do
  for configmap in $(kubectl get configmaps -o name -n $i 2>/dev/null |awk {'print $1'});
  do
  #echo $configmap
  # kubectl get $configmap -n $i -o yaml |grep $OLD_VALUE
  if [[ `kubectl get $configmap -n $i -o yaml |grep $OLD_VALUE` ]]; then
     echo "$i $configmap$(kubectl get configmaps -n $i -o yaml |grep -c $OLD_VALUE) 개 발견됨"
     kubectl get $configmap -n $i -o yaml | \
       sed "s/${OLD_VALUE}/${NEW_VALUE}/g" | \
       kubectl apply -f -
  fi
  done
done

3단계: 인증서 Secret 추가 (선택 사항)

  • Launcher 우측 상단의 설정을 엽니다.
  • 도메인 TLS 인증서 업데이트를 클릭합니다.
  • TLS 인증서를 수정하고 저장합니다.

4단계: 모든 Ingress의 도메인 변경

주의

호스트 모드로 설치된 DataWay의 경우, DataWay의 remote_host 파라미터를 수정해야 합니다.

다음 스크립트를 실행하여 백업할 수 있습니다.

NAMESPACE="forethought-core forethought-kodo forethought-webclient func2 middleware utils launcher"

for i in $NAMESPACE;
do
  for ing in $(kubectl get ing -n $i -o jsonpath='{.items[*].metadata.name}');
  do
  filename=ing-$i-$ing.yaml
  kubectl get ing $ing -n $i -o yaml > $filename
  done
done

다음 스크립트를 실행하여 주소를 변경합니다.

OLD_VALUE="dataflux.cn"
NEW_VALUE="guance.com"
NAMESPACE="forethought-core forethought-kodo forethought-webclient func2 middleware utils launcher"

for i in $NAMESPACE;
do
  for ing in $(kubectl get ing -n $i -o jsonpath='{.items[*].metadata.name}');
  do
  if [[ `kubectl get ing $ing -n $i -o yaml |grep $OLD_VALUE` ]]; then
     echo "$i $ing$(kubectl get ing $ing -n $i -o yaml |grep -c $OLD_VALUE) 개 발견됨"
     kubectl get ing $ing -n $i -o yaml | \
       sed "s/${OLD_VALUE}/${NEW_VALUE}/g" | \
       kubectl apply -f -
  fi
  done
done

5단계: 서비스 재시작

kubectl delete pods --all -n forethought-core 
kubectl delete pods --all -n forethought-webclient  
kubectl delete pods --all -n func2

문서 평가

이 페이지가 도움이 되었나요?