HTTPS アクセスへの切り替え¶
概要¶
ここでは、すでにデプロイされている Guance を http アクセスから https に対応させる方法について説明します。
前提条件¶
- 操作前に SSL 証明書の有効性と、Ingress プラグインが https に対応していることを確認してください。
- Guance がデプロイされ、正常にアクセスできていること。
- Guance クラスターへの権限。
- Guance Launcher ページ。
影響範囲¶
Guance Studio が一時的にアクセスできなくなります。
操作手順¶
手順 1:Launcher でドメイン名と証明書名を変更する¶
- Launcher 右上の設定を開く。
- 「外部ドメイン TLS 証明書の更新」をクリックする。
- 証明書情報を追加し、TLS 証明書を更新する。
- 確認
dataflux.cn を例とします。
kubectl get secret -A | grep dataflux.cn
forethought-core dataflux.cn kubernetes.io/tls 2 8d
forethought-kodo dataflux.cn kubernetes.io/tls 2 8d
forethought-webclient dataflux.cn kubernetes.io/tls 2 8d
func2 dataflux.cn kubernetes.io/tls 2 8d
middleware dataflux.cn kubernetes.io/tls 2 8d
utils dataflux.cn kubernetes.io/tls 2 8d
手順 2:Ingress に TLS を追加する¶
- 以下のスクリプトを実行してバックアップを取ることができます。
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
- 以下のスクリプトを実行してアドレスを変更します。
注意
SecretName の変数は、ご自身のドメインの secret name に置き換える必要があります。
SecretName="dataflux.cn"
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
# 检查 Ingress 是否已经配置了 TLS
TLS_EXISTS=$(kubectl get ing "$ing" -n "$i" -o jsonpath='{.spec.tls}')
if [ -z "$TLS_EXISTS" ]; then
# 提取当前 Ingress 的 hosts
HOSTS=$(kubectl get ing "$ing" -n "$i" -o jsonpath='{.spec.rules[*].host}')
# 使用 kubectl patch 命令更新每个 Ingress
kubectl patch ingress "$ing" -n "$i" --type='json' -p="[
{
\"op\": \"add\",
\"path\": \"/spec/tls\",
\"value\": [
{
\"hosts\": [$HOSTS],
\"secretName\": \"$SecretName\"
}
]
}
]"
echo "Updated Ingress $ing in namespace $i to use HTTPS."
else
echo "Ingress $ing in namespace $i already has HTTPS configured. Skipping."
fi
done
done
手順 3:Guance フロントエンド設定を変更する¶
- Launcher 右上の設定を開く。
- 「アプリケーション設定の変更」をクリックする。
- 「名前空間: forethought-webclient」-「frontWeb( User Frontend )」と「 managementWeb( Management Platform Frontend )」を変更し、http を https に変更する。
ロールバック方法¶
- フロントエンド設定を元に戻す。
- バックアップした Ingress YAML を適用する。




