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 "네임스페이스 $i의 Ingress $ing가 HTTPS를 사용하도록 업데이트되었습니다."
else
echo "네임스페이스 $i의 Ingress $ing에는 이미 HTTPS가 구성되어 있습니다. 건너뜁니다."
fi
fi
done
3단계: Guance 프론트엔드 설정 수정¶
- Launcher 오른쪽 상단의 설정을 엽니다.
- 「애플리케이션 설정 수정」을 클릭합니다.
- 「네임스페이스: forethought-webclient」-「frontWeb(User Frontend)」 및 「managementWeb(Management Platform Frontend)」를 수정하여 http를 https로 변경합니다.
롤백 방법¶
- 프론트엔드 설정을 원래대로 되돌립니다.
- 백업한 Ingress YAML을 적용합니다.




