이전 포스팅에서 말했듯 여러개의 자원들에 공통적으로 보안 적용이 필요할 때 ingress에 tls를 적용하는 것이 관리 측면에서 유리하게 작용힌다.
보안 키 생성
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt
tls타입의 시크릿 생성
kubectl create secret tls tls-secret --key tls.key --cert tls.crt
Ingress에 Secret 적용
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
tls:
- secretName: tls-secret # secret 적용
rules:
- http:
paths:
- pathType: ImplementationSpecific
path: /test1(/|$)(.*)
backend:
service:
name: test1-service
port:
number: 80
- pathType: ImplementationSpecific
path: /test2(/|$)(.*)
backend:
service:
name: test2-service
port:
number: 80
https로 접근할 때도 정상적으로 작동이 되는데, 인그레스에 SSL/TLS가 적용 됐을 때 자동으로 https로 리다이렉트 된다.
'Kubernetes' 카테고리의 다른 글
7-1. Kubernetes Ingress (0) | 2024.08.20 |
---|---|
6. Kubernetes Secret (0) | 2024.08.13 |
5. Kubernetes Configmap (0) | 2024.08.13 |
4. Kubernetes Service (0) | 2024.08.07 |
3. Kubernetes Deployment (0) | 2024.08.07 |