Ingress에 TLS를 적용해야 하는 이유
TLS(Transport Layer Security)는 인터넷 통신을 암호화하여 데이터가 중간에 가로채이는 것을 방지하는 기술입니다. Ingress에 TLS를 적용하면 다음과 같은 중요한 이점을 얻을 수 있습니다.
- 데이터 암호화: 웹사이트 방문자와 서버 간에 오가는 모든 데이터를 암호화하여 민감한 정보(로그인 정보, 결제 정보 등)를 안전하게 보호합니다.
- 통합 관리: 쿠버네티스 Ingress 컨트롤러를 통해 여러 개의 서비스에 대한 TLS 인증서 관리를 한 곳에서 처리할 수 있습니다. 각 서비스에 개별적으로 인증서를 설정할 필요가 없어 관리가 매우 편리해집니다.
- 신뢰성 확보: 유효한 인증서는 웹사이트의 신뢰도를 높여 사용자에게 안전한 환경을 제공합니다.
단계 1: TLS 인증서 및 키 생성
먼저 테스트용으로 사용할 TLS 인증서와 개인 키를 생성합니다. openssl 명령어를 사용하면 간단하게 만들 수 있습니다.
# openssl 명령어 설명
# req: 인증서 서명 요청 관리
# -x509: 자체 서명 인증서 생성 (테스트용)
# -nodes: 비밀번호 없이 키 생성
# -days 365: 인증서 유효 기간을 365일로 설정
# -newkey rsa:2048: 2048비트 RSA 개인 키 생성
# -keyout tls.key: 개인 키를 tls.key 파일로 저장
# -out tls.crt: 인증서를 tls.crt 파일로 저장
# -subj: 인증서의 주제(Subject) 정보 지정
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout tls.key -out tls.crt -subj "/CN=your-domain.com/O=your-organization"
- 참고: CN (Common Name)과 O (Organization)에는 실제 사용할 도메인 정보를 입력해야 합니다.
단계 2: 쿠버네티스 시크릿 생성
생성한 인증서 파일(tls.crt)과 개인 키 파일(tls.key)을 쿠버네티스가 사용할 수 있도록 Secret 리소스로 저장합니다. kubectl create secret tls 명령어를 사용하면 TLS 타입의 시크릿을 쉽게 만들 수 있습니다.
# 'web-cert'라는 이름의 TLS 시크릿 생성
kubectl create secret tls web-cert --key tls.key --cert tls.crt
단계 3: Ingress 매니페스트 설정
이제 Ingress 매니페스트 파일에 TLS 설정을 추가합니다. spec.tls 섹션에 Secret 이름을 지정하여, Ingress 컨트롤러가 해당 인증서를 사용하도록 지시합니다.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: tls-example-ingress
spec:
# TLS 설정
tls:
- hosts:
# 암호화를 적용할 도메인
- your-domain.com
# 위에서 생성한 시크릿 이름
secretName: web-cert
# HTTP 라우팅 규칙
rules:
- host: your-domain.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: service1
port:
number: 80
- 참고: tls.hosts와 rules.host에는 위에서 인증서를 생성할 때 입력한 실제 도메인을 동일하게 입력해야 합니다.
마무리
이렇게 Ingress에 TLS를 설정하면, https://your-domain.com으로 들어오는 트래픽이 Ingress 컨트롤러에서 암호 해독된 후, 내부 서비스(service1)로 전달됩니다.
'k8s > CKS' 카테고리의 다른 글
| [CKS] AppArmor (0) | 2025.09.11 |
|---|---|
| [CKS] BOM 툴 trivy -2 (0) | 2025.09.10 |
| [CKS] k8s TLS 설정 (0) | 2025.09.09 |
| [CKS] 쿠버네티스 API 서버 보안 강화: 익명 접근 차단 (0) | 2025.09.09 |
| [CKS] BOM 툴 trivy -1 (0) | 2025.09.09 |
