본문 바로가기

분류 전체보기340

Node.JS Backend Framework (IoC, DI, AOP) Node.js backend는 참 많은 장점이 있지만 가지 치명적인 단점이 있다. 바로 통일된 Backend Framework가 없다는 것이다. 물론 node.js 하면 떠오르는 express를 통해서 Web server backend를 만들기도 하긴 하지만 Request Handler에서 오류라도 발생하면 클라이언트 입장에서는 500에러도 없이 timeout 될 때까지 기다려야 하는 경우도 생긴다. Connection관리, 여러 Connection에 대한 Health Check등을 어플리케이션마다 일일히 구현해 주어야 하고 처음부터 제대로 설계하지 않으면 덕지덕지 더러운 import 들이 난무하게 된다. 암튼... 그래서! Narae.JS 프레임워크를 만들었다. (사실은 만들고 있다..ㅎㅎ) Sprin.. 2020. 12. 20.
Calico iBGP에서 vxlan.calico의 IP가 NextHop으로 뜨는 경우 Kubernetes Node를 Calico를 통해 ToR (Top-of-rack Router)와 연결했을 때 주기적으로 Pod IP Cidr 들이 Node IP로 변경되었다가 vxlan.calico의 IP로 변경되었다가.. 하는 까닭에 Kubernetes Cluster 밖에서 Pod IP에 직접적으로 접근이 되지 않는 경우가 있었다. 이에 대한 해결방안은 github.com/projectcalico/libcalico-go/pull/1266 Maintaining original next hop on specific bgppeer by gunboe · Pull Request #1266 · projectcalico/libcalico-go Description An option to keep the origin.. 2020. 11. 29.
GPLv2 라이센스 관련 본 글은 법적인 효력이 없으며 그냥 이리저리 찾아본걸 정리한 것임. Kernel 관련 GPLv2 References https://github.com/torvalds/linux/blob/master/LICENSES/exceptions/Linux-syscall-note 예외조항 커널에 system call으로 접근하는 Application에 대해서는 Kernel의 라이센스 적용을 받지 않음 Loadable Kernel Module 형태의 Device Driver EXPORT_SYMBOL로 Export된 심볼은 GPL 라이센스가 아닌 모듈도 사용할 수 있지만 EXPORT_SYMBOL_GPL로 Export된 심볼은 GPL라이센스가 아닌 모듈은 사용할 수 없다. 근데 IOCTL은 어케 되는것일까.... 궁금하다.. 2020. 11. 26.
ceph mon_dns_srv_name 작성방법 github.com/ceph/ceph/blob/703524119a118108156f984370c8f70ef23cdcf3/src/mon/MonMap.cc init_with_dns_srv 함수 참고 ceph.conf에서 [global] mon_dns_srv_name = msgr1_mon.rook-ceph.svc.cluster.local auth_client_required = cephx auth_cluster_required = cephx auth_service_required = cephx [client.admin] keyring = ... 이런식으로 이상한.. 법칙이 있다. 위처럼 하면 실제로는 _msgr1._tcp.rook-ceph.svc.cluster.local 이름으로 SRV Record를 찾는다... 2020. 11. 19.
Proxmox OVS 문제 (브로드케스트의 이상한 동작..) forum.proxmox.com/threads/inbound-broadcast-packets-dropped.78741/ 위 질문 참고.. 뿐만 아니라 rstp를 비활성화 한 경우 내부포트는 동작해도 다른PC에서 내부VM에 접속이 안되는 경우도 있다 (위 질문과 동일하게 외부=>내부VM으로 브로드케스트가 전달되지 않는 문제) ovs의 버그인가 했는데 pve의 ovs의 문제였다. pve-no-subscription 리포를 활성화 해서 쓰고 있었는데 여기서 받은 버전이 2.12.0-1 인데 해당 버전에 문제가 있는 듯 하다. 아래와 같이 일반 데비안 리포에서 받으니 너무나 잘 동작한다...ㅠㅠ 무료라서 그런가.. $ sudo apt-get install openvswitch-common=2.10.0+2018... 2020. 11. 12.
Kubernetes & OpenWRT & Calico BGP 설치 개요 HA(고 가용성)을 지원하는 Kubernetes Cluster를 구축하고 OpenWRT를 Router로 하여 Calico를 통해 BGP Network를 구축해 Service에 외부IP를 설정 가능하게 한다. 다중 Control Plane Node를 구축하고 Keepalived를 통해 가상IP를 부여하여 고가용성의 K8s api service로써 동작시킨다. K8s 설치 Step 1. K8s Control Plane Node 및 기초 설치 Reference : https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ 설치 준비 및 패키지 설치 $ sudo apt-get install -y apt-tran.. 2020. 11. 5.
반응형