도메인 변경¶
주의
이전에 HTTPS를 활성화한 경우, 새 도메인의 인증서를 미리 준비해야 합니다. 이번 도메인 변경은 dataflux.cn을 guance.com로 대체한다고 가정합니다.
개요¶
이 문서에서는 Guance의 도메인을 변경하는 방법을 설명합니다. 주요 단계는 다음과 같습니다.
- Launcher에서 도메인 변경
- ConfigMap의 모든 도메인 변경
- 인증서 Secret 추가 (선택 사항)
- 모든 Ingress의 도메인 변경
- 서비스 재시작
영향 범위¶
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_VALUE 및 NEW_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



