ドメイン名の切り替え¶
注意
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



