전체 글
-
[HomeLab] Tailscale 을 쿠버네티스에 배포하기DevOps, 클라우드/Docker & Kubernetes 2024. 7. 5. 00:52
서론인터넷에서 내 클러스터로 들어오는 인바운드는 모두 허용할 수 없었다.외부에 노출시킬 서비스를 제외하고는 VPN 등을 통해서 접근하게 해야했다.기존에는 Tailscale을 통해 각 노드에 직접 접근했으나 Calico와의 충돌 문제가 있었다. Tailscale은 쿠버네티스에 배포할 수 있다.이게 무슨 소리냐면 VPN 대역에서만 접근할 수 있는 Tailscale 서비스를 클러스터에 배포할 수 있다는 뜻이다.내 사설망에 일종의 VPN Ingress-Controller가 생기는 셈이다.배포 유형은 3가지를 지원한다고 한다.프록시Tailscale 프록시를 통해서 쿠버네티스 서비스와 통신할 수 있도록 해준다.다만, 통신하려는 '서비스' 외에 다른 쿠버네티스 리소스에 접근하거나 제어할 수 없다.사이드카특정 파드에 ..
-
[HomeLab] Calico와 Tailscale 충돌 문제DevOps, 클라우드/Docker & Kubernetes 2024. 6. 22. 21:07
서론내부망에 쿠버네티스 클러스터를 올리고 외부의 인바운드를 열어놓지 않은 상황이었다.워크로드 MVP 개발을 마무리한 후에 특정 서비스를 외부망에 열어놓으려 했다.반대로 특정 서비스는 내부망에서만 접근이 가능하도록 하려 했다.VPN을 쓸까?클러스터는 Calico CNI를 사용하고 있는 상태였고 각 노드와 내부망에 접근하기 위해 VPN을 직접 구축하려 했다.직접 구축해도 되었지만 이건 별도로 해도 상관 없을 것 같았고 빠르게 사용하기 위해서 Tailscale을 각 노드에 설치했다.MetalLB의 IP 대역 할당이 정상적으로 이루어지지 않는 문제NodePort를 써도 충분했지만 서비스를 LoadBalancer 타입으로 서빙하고 싶었다.그래서 MetalLB를 설정하고 DHCP의 IP 대역을 정리해서 IP Poo..
-
-
-
[JPA] 양방향 연관관계개발/Java 2023. 4. 18. 00:58
연관 관계 객체가 아닌 DB 테이블의 경우 FK를 통해서 그 관계를 바로 파악할 수 있다. 하지만 이를 객체 관점에서 본다면 FK가 선언된 자식 엔티티 객체와 부모 엔티티 간의 관계를 함께 표현해야 한다. 이런 관점에서 양방향 연관관계를 아래와 같이 선언할 수 있다. 늘 양방향으로 선언된 관계가 정답일 수는 없지만 양방향으로 선언된 구조가 어떤 형태이고 어떤 문제가 발생할 수 있는지 알아보자. 양방향 연관 관계와 그 주인 // Member.java @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; // Team.java @OneToMany(mappedBy = "team") private List members = new ArrayList(); 우리..