(연습) postgresql 이중화 (Failover)
·
DB/Postgresql
이전에 작성한 연습글을 보면 이중화까지 완료를 했다.patroni 를 이용하여 master / slave 설정이 끝났다.그럼 한번 master 에 데이터베이스를 만들고 동기화가 잘되는지 보자.일단 현재 설정을 확인해보자. 가상환경에서 실행했으니 가상환경을 띄우고 아래와 같이 해보면gglabadmin@postgresql2:/opt/patroni_venv/venv_patroni$ sudo source venv_patroni/bin/activategglabadmin@postgresql2:/opt/patroni_venv/venv_patroni$ patronictl -c /etc/patroni/patroni.yaml list postgres-cluster+ Cluster: postgres-cluster (7580..
(연습) postgreSQL 이중화 (consul, patroni)
·
DB/Postgresql
postgresql 을 이전에 이중화를 해보려고 글을 쓴적이 있다.당시.. pgpool2 로 진행하다가 실패했다.성공을 못한건 아니었지만 운영을 해보았더니.. 자동 failover 가 문제가 있었고..실제 장애가 나서 처리하는데 애를 꽤 먹었다.그래서 현재 운영중인 서비스는 단일 구성에 하루 2회 백업을 진행하고 있다. 몇년이 지난 지금 검색을 해보니 그때와는 다르게 HA 구성을 하는 듯 하여 다른 방법으로 도전을 해보려고 한다.일단 이번에는 patroni 라는 솔루션을 사용해보려고 한다. 먼저 사용자 입장에서 접근을 한다고 생각해 보자.사용자는 일단 app 서버에 접근할것이다.참고로 내 서버는 nestjs 에 prisma orm 을 사용하였다.그다음 아무런 HA구성이 없다면 DB url을 찾아 바로 ..
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..
pfSense 포트포워딩
·
인프라/Network
k3s 를 셋팅하면서 traefik 설정중 포트 포워딩을 할 상황이 생겼다.기본적으로 외부에서 들어올때 80, 443 서비스를 위해서 NAT 방화벽 셋팅을 했다.메뉴는 Firewall -> nat 에서 add 해서 추가이런식으로 80 과 443을 셋팅한다.위 설정만 해도 방화벽 Rule 에 자동으로 들어간다.짠~
(연습) k3s VIP 설정 (MetalLB)
·
인프라/Kubernetes
3대의 노드에 하나의 ip로 서비슬르 만들기 위해서 처음에 구상할때는 keepalived + haproxy 를 이용하려고 했다.그런더 검색을 하다보니 이방법이 예전방식이고 Metallb 가 사실상 표준이 되었다고 한다. MetalLB 설치마스터 노드에서 설치 명령 실행$ sudo k3s kubectl get nodesNAME STATUS ROLES AGE VERSIONk3s-node1 Ready control-plane,master 6h40m v1.33.5+k3s1k3s-node2 Ready 6h34m v1.33.5+k3s1k3s-node3 Ready 6..
pfsense VPN 셋팅
·
인프라/Network
내부망을 구축하고 해당 망에 접속할 방법이 없어졌다. 해당망은 집 내부 환경과 별도로 구축했다보니..현재로서는 Proxmox 내의 콘솔로 접속하는 방법밖에 없다.그래서 개발 환경에 접속하기 위해서 vpn 을 셋팅하려고 한다.검색을 해보니 OpenVPN 이 가장 보안적으로 뛰어나다고 한다. 그래서 OpenVPN 을 셋팅하고자 한다. OpenVPN 셋팅상단 메뉴에서 VPN 을 보면 OpenVPN 이라고 있다.현재는 아무것도 없이 깔끔함위쪽의 빨간색 메뉴 맨 끝에 보면 Wizards 가 있다. pfsense 는 이 마법사를 이용하면 쉽게 설정이 된다고 한다. 한번 해보자.사용자를 어떻게 관리할거냐를 묻는듯...LDAP 같은 옵션이 있는것 보니 별도의 계정관리 시스템과 연동이 되는듯 하지만 나혼자 쓸것이므로 L..
USB 유선랜 속도 이슈
·
인프라/Network
배경집에 서버를 두고 사용하면서 개발하는 서버와 가정 내 장비들의 망분리를 위해서서버에 랜카드를 추가했다.그런데 랜카드를 추가한후에 디스크들의 연결이 불안정해졌다.총 6개정도의 sata 하드가 있는데 붙었다 떨어졌다를 반복하고 특히 write 할때 잘 떨어졌다.지피티에 물어보니 파워문제일 확률이 가장 크단다.엄청 비싼.. 커세어750 파워를 사용중인데... ㅠ.ㅠ파워 라인을 바꿔보라고 하던데... 조립 다 끝낸 서버 선정리 하기 싫어서.usb 랜을 사용해보기로 했다. 이슈집에 창고를 뒤지다 보니 안쓰던 utp -> usb a 케이블이 하나 있길래 사용했다.내가 직접 산건 아닌것 같고 뭔가 살때 딸려온것 같다.일단 연결 잘되고 인터넷도 잘 되더라.그런데 대용량 파일을 받을일이 있어서 파일을 받는데... ..
(연습) k3s 설치하기 (마스터1, 워커2 설치)
·
인프라/Kubernetes
개발용 서버를 k3s 에 설치하여 쿠버네티스 체험(?) 을 해보려고 합니다.일단 목표는 다음과 같습니다.구성 목표k3s 3 node 구성haproxy 와 keepalive 와 같은 서비스를 통해 vip 통신 구성k3s 내부 certbot 을 통한 ssl 인증서 자동 관리. 인증서 자동관리는 최대한 웹 ui를 사용하는 환경이면 더욱 좋음nest.js, next.js 프로젝트를 이미지로 만들어서 구동postgresql HA 구성일단 일정도의 목표를 가지고 해보려고 합니다 서버 설치proxmox 에 일단 우분투 서버 3개를 설치합니다.아이피는 10.34.1.151, 152, 153 이렇게 설정하겠습니다. IP설정아이피는 이런식으로 3개 모두 설정합니다.디스크는 각각 200기가 정도 할당했습니다.나중에 DB도 ..
Proxmox 내부망 구축 (pfsense 설치편)
·
인프라/Proxmox
배경opnsense 를 이용하여 설치를 해보고 일단 동작하는 것까지는 확인을 했습니다.다만 loopback 문제로 외부에서 새로 만든 내부망의 윈도우 VM까지 원격접속 잘되는 것까지는 되었는데같은 공유기 하위에서 별도의 공인IP를 받아서 그런지 공유기 밑의 노트북에서는 해당 공인ip의 VM에 원격이 잘 안되더군요핫스팟으로 붙여서 외부에서 접근하면되구요..일단 해결이 안되어서 제일 상단에 스위치를 붙여보려고 미니 스위치를 하나 주문해 두었습니다.그리고 opnsense 가 좀 무겁더라구요그래서 거의 동일하다고 하는 pfsense 로 바꿔보려고 합니다.본글은 pfsense 설치만을 위해 정리 해두려고 합니다.Proxmox 에 iso 이미지로 설치opnsense 는 3기가로 잡으라고 안내가 있었는데 pfsens..
Proxmox 디스크 passthrough
·
인프라/Proxmox
헤놀로지용으로 사용하던 디스크가 이것저것 좀 만졌더니 이중화 해둔 디스크 하나가 인식이 안되는 문제가 있어서지웠다가 다시 붙여보려고 합니다. 디스크는 raw 형태로 붙이기 위해서 가상 디스크가 아닌 패스쓰루 해놓았는데요이런 형태로 들어가 있었습니다.sata2 를 지웠다가 다시 넣어보겠습니다.먼저 Detach 를 한다음 root@pve:~# lsblk |awk 'NR==1{print $0" DEVICE-ID(S)"}NR>1{dev=$1;printf $0" ";system("find /dev/disk/by-id -lname \"*"dev"\" -printf \" %p\"");print "";}'|grep -v -E 'part|lvm'NAME MAJ:MIN RM SIZE RO TY..
iptime 공유기로 공인아이피 추가로 받기
·
인프라/Proxmox
최근 proxmox 를 이용하여 홈서버를 운영하던중 기존에 사용하던 내부 네트워크와 홈서버 내의 개발, 학습용 VM들의 네트워크를 분리하고자 하는 상황이 있어서 고민을 했습니다. 기본적으로 집에서 사용하는 장비는 iptime 공유기들이 많으실 것이라고 생각되는데요검색을 해보니 제 공유기가 다행히도 MACVLAN 이라는 기능을 지원하더군요저는 A3008-MU 라는 모델을 사용중입니다. 다른 모델들도 많이들 지원 하는 것 같습니다. 메뉴를 보면 WAN용 MACVLAN 이라는 기능이 있습니다. 여기에 들어가서 제가 사용하는 기기 또는 VM들중 별도의 공인 아이피를 받고 싶은 장비의 맥주소를 입력해주면 해당 장비는 내부ip가 아닌 공인 아이피를 받게 됩니다. 참고로 통상 공인아이피 2개까지는 통신사에서 ..