반응형
기존에 별도의 우분투로 설치된 문서 관리 서비스가 있었다.
outline 오픈소스로 되어 있었고 중간에 좀 복잡하게 인증서 처리를 했는데
바로 시놀로지 dsm 의 인증서와 역방향 프록시를 그대로 이용하는 것이었다.
그런데 이번에 망분리를 이용하면서 이용할수 없게 되었는데 k3s 에 설치한 certmanager 를 이용하여 인증서를 관리하고
ingress 를 이용하여 외부 서버로의 연결이 되도록 설정을 해봤다.
이미 k3s 에 certmanager 구성이 되어 있다고 가정한다.
k3s 서비스 구성
gglabadmin@k3s-node1:/k8s/apps/docs$ cat service.yaml
apiVersion: v1
kind: Service
metadata:
name: outline-external
namespace: default
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
---
apiVersion: discovery.k8s.io/v1
kind: EndpointSlice
metadata:
name: outline-external
namespace: default
labels:
kubernetes.io/service-name: outline-external
addressType: IPv4
ports:
- name: http
port: 80
protocol: TCP
endpoints:
- addresses:
- "10.34.1.155"
k3s ingress 구성
gglabadmin@k3s-node1:/k8s/apps/docs$ cat ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: outline-ingress
namespace: default
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
traefik.ingress.kubernetes.io/router.tls: "true"
traefik.ingress.kubernetes.io/websocket: "true"
spec:
ingressClassName: traefik
tls:
- hosts:
- docs.gglab.app
secretName: docs-tls
rules:
- host: docs.gglab.app
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: outline-external
port:
number: 80
참고로 웹소켓 기능이 있어서 그것도 true 로 넣어줬다.
traefik ingress 에의하여 docs.gglab.app 도메인으로 들어오는 모든 https 트래픽이 80 포트로 10.34.1.155 로 가도록 구성되었다.

잘된다.
반응형
'인프라 > Kubernetes' 카테고리의 다른 글
| k3s 에서 dnszi 유동아이피 연동 스케쥴 추가하기 (0) | 2025.11.30 |
|---|---|
| pfSense 와 CertManager 연동 오류 (0) | 2025.11.29 |
| (실전) k8s 설치부터 https 서비스 포팅까지 (0) | 2025.11.23 |
| (연습) k3s HA 구성 트래픽 흐름 구조 (0) | 2025.11.21 |
| (연습) k3s VIP 설정 (MetalLB) (0) | 2025.11.20 |
