k3s Cert-Manager 에서 외부 서비스로 Proxy
·
인프라/Kubernetes
기존에 별도의 우분투로 설치된 문서 관리 서비스가 있었다.outline 오픈소스로 되어 있었고 중간에 좀 복잡하게 인증서 처리를 했는데바로 시놀로지 dsm 의 인증서와 역방향 프록시를 그대로 이용하는 것이었다.그런데 이번에 망분리를 이용하면서 이용할수 없게 되었는데 k3s 에 설치한 certmanager 를 이용하여 인증서를 관리하고ingress 를 이용하여 외부 서버로의 연결이 되도록 설정을 해봤다. 이미 k3s 에 certmanager 구성이 되어 있다고 가정한다.k3s 서비스 구성gglabadmin@k3s-node1:/k8s/apps/docs$ cat service.yaml apiVersion: v1kind: Servicemetadata: name: outline-external namespac..
k3s 에서 dnszi 유동아이피 연동 스케쥴 추가하기
·
인프라/Kubernetes
기존에 서버에서는 crontab 을 사용해서 내가 사용하던 서버중 하나를 이용해 crontab 작업을 했다.k3s 로 옮기면서 이 작업을 변경할 필요가 있었는데 k3s 를 사용하니까 역시 pod로 만들 방법을 gpt 에 물어보니 깔끔하게 잘된다. 설정/k8s/common/dnszi 디렉토리를 만들고 안에 다음 두 파일을 만들었다. 1. URL 들을 저장하는 yaml2. 이것을 반복해서 스케쥴 돌려주는 conjob 용 yamlgglabadmin@k3s-node1:/k8s/common/dnszi$ lltotal 16drwxr-xr-x 2 root root 4096 Nov 29 21:51 ./drwxr-xr-x 5 root root 4096 Nov 29 21:46 ../-rw-r--r-- 1 root root..
pfSense 와 CertManager 연동 오류
·
인프라/Kubernetes
집안의 홈서버에서 k3s 3node 를 이용한 HA 구성 연습을 하면서..일주일동안 진전이 없던 부분이 있었다.바로 traefik 기본 설정된 ACME 에서는 HA 구성이 안된다는 것을 알고 별도의 CertManager 를 이용하는 것이었는데..아무리 해도 동작이 안되었다. 검색해본 모든 포스트를 해보고 각종 AI 의 솔루션들을 모두 적용해본것 같다.Lets Encrypt 에서 내 도메인으로 인증시 .well-known/~~~ 주소로 들어와서 확인을 하게 되는데이 부분이 지속적으로 404 에러와 함께 동작하지 않았다. 그 부분을 기록으로 남겨보려고 한다. 상황내 서버는 일단 pfSense 가 공인아이피를 받아서 내부ip로 NAT 를 하는 구조이다.또한 그 밑에는 k3s 3개 노드가 존재한다.아이피는 10..
(실전) k8s 설치부터 https 서비스 포팅까지
·
인프라/Kubernetes
배경최근 몇가지 실험과 실습을 통해 내가 서비스하고 있는 docker image 하나를 올려보았다.그동안 docker 만 이용해 봤는데 꽤 재미 있다.중간에 시행 착오가 있었는데 이 글을 통해 전체 흐름을 한번에 정리해서 처음부터 끝까지 다시 해보려고 한다. 목표 흐름구성 요소위치/타입IP 주소 및 포트주요 기능 및 역할HA (고가용성) 역할1. pfSense외부 방화벽/라우터공인 IP → 10.34.1.150외부 트래픽을 내부 K8s 클러스터의 VIP로 포워딩하는 관문 역할.외부에서 클러스터로 들어오는 트래픽의 단일 진입점 제공.2. MetalLBK8s 애드온 (Speaker)10.34.1.150 (VIP)K8s LoadBalancer Service에 외부 접근 가능한 VIP를 할당하고, ARP/NDP..
(연습) k3s HA 구성 트래픽 흐름 구조
·
인프라/Kubernetes
k3s 3개 노드로 구성하고 나서 가만히 보니 뭔가 부족해 보였다.실제 샘플 pod 를 띄우고 강제로 node 를 하나씩 죽여다가 살려봤는데 살아나지 않는 경우도 있고..뭔가 이상해서 찾아봤다 결론적으로 master node 의 HA 구성이 안된것이다.보통 3개를 설치하면 3개 노드 모두 master 를 설치하여 그들간의 고가용성을 유지한다고 하는데 빠져 있었다.이미 설치가 완료된 k3s 클러스터를 한번 바꿔보려고 한다. root@k3s-node1:~# kubectl get nodesNAME STATUS ROLES AGE VERSIONk3s-node1 Ready control-plane,master 45h v1.33.5+k3s1k3s-no..