Skip to content

Commit cbb96b7

Browse files
authored
#521 K3s Traefik Ingress 설정 및 HTTP 리다이렉션 (#522)
* configure traefik & enable HTTPS * configure traefik & redirect http to https
1 parent 866ac88 commit cbb96b7

6 files changed

Lines changed: 55 additions & 1 deletion

File tree

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: networking.k8s.io/v1
2+
kind: Ingress
3+
metadata:
4+
name: frontend-ingress
5+
annotations:
6+
kubernetes.io/ingress.class: traefik
7+
traefik.ingress.kubernetes.io/router.tls.certresolver: default
8+
# NOTE: 호스트 및 경로 설정은 패치 파일에서 관리됩니다.

kubernetes/base/kustomization.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,8 @@ resources:
1818
- ./backend/deployment.yaml
1919
- ./frontend/deployment.yaml
2020

21+
# Ingress Resources
22+
- ./frontend/ingress.yaml
23+
2124
commonLabels:
2225
app.kubernetes.io/managed-by: kustomize

kubernetes/overlays/dev/frontend-deployment-patch.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ spec:
1212
- name: FORCE_HTTPS
1313
value: "0"
1414
- name: SERVER_NAME
15-
value: "code-place-dev.site"
15+
value: "k3s.code-place-dev.site" # NOTE: 임시 K3s 테스트용 도메인 주소입니다. 추후 수정 예정입니다. (Junwoo)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: networking.k8s.io/v1
2+
kind: Ingress
3+
metadata:
4+
name: frontend-ingress
5+
spec:
6+
rules:
7+
- host: k3s.code-place-dev.site
8+
http:
9+
paths:
10+
- path: /
11+
pathType: Prefix
12+
backend:
13+
service:
14+
name: frontend
15+
port:
16+
number: 80
17+
tls:
18+
- hosts:
19+
- k3s.code-place-dev.site

kubernetes/overlays/dev/kustomization.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ namespace: code-place-dev
1111
patches:
1212
- path: backend-deployment-patch.yaml
1313
- path: frontend-deployment-patch.yaml
14+
- path: frontend-ingress-patch.yaml
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
apiVersion: helm.cattle.io/v1
2+
kind: HelmChartConfig
3+
metadata:
4+
name: traefik
5+
namespace: kube-system
6+
spec:
7+
valuesContent: |-
8+
additionalArguments:
9+
- "--certificatesresolvers.default.acme.email=<EMAIL_ADDRESS>"
10+
- "--certificatesresolvers.default.acme.storage=/data/acme.json"
11+
- "--certificatesresolvers.default.acme.httpchallenge.entrypoint=web"
12+
ports:
13+
web:
14+
# NOTE: Traefik Helm Chart v34부터는 `redirections` 사용 (참고: https://newreleases.io/project/github/traefik/traefik-helm-chart/release/v34.0.0)
15+
redirections:
16+
# HTTP 요청을 HTTPS로 리디렉션
17+
entryPoint:
18+
to: websecure
19+
scheme: https
20+
permanent: true
21+
websecure:
22+
tls:
23+
enabled: true

0 commit comments

Comments
 (0)