コンテンツにスキップ

ドメイン名の切り替え

注意

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

フィードバック

このページは役に立ちましたか?