티스토리 뷰

예전에 "Kubernetes 를 써봐야지" 라는 생각에 nginx 로 홈페이지 등을 운영중인 미니 PC에 k3s (쿠버네티스 경량 배포판) 를 설치해봤습니다. 그런데 k3s를 설치했더니 SSL/TLS 인증서가 이상한 걸로 바뀌는 게 아니겠습니까. 깜짝 놀랐는데 해결 방법은 몰라서 얼른 지우는 수 밖에 없었습니다.

이번에 남는 장비에 k3s를 구성해서 사용하면서 공부해봐야지 라는 생각을 했는데, 아무래도 이 때의 경험이 걸리더라구요. 그래서 개발장비 (=데스크톱 ㅋㅋ) 에 설치해서 테스트도 해보고 검색도 해봤습니다.

  • SSL 만 바뀌는 게 아니라, 80, 443 포트도 localhost로 접속하던 192.168.주소.IP 로 접속해도 k3s 의 페이지로 바뀜
  • 그 와중에 이미 실행해놓은 nginx 가 여전히 포트를 먹고 있음, 제 상식선에서는 포트 하나는 단 한 개의 프로세스만 쓸 수 있고 이건 틀리지 않은 듯
  • "ip route" 나 "routel" 등의 명령어로 출력되는 라우팅 테이블에서도 80을 어떻게 먹는거지? 를 알 수 없었음

결론부터 말씀드리자면 ServiceLB 라는 로드밸런싱 모듈이 iptables 를 조작해서, 사용자의 80으로 가기 전에 낚아채이는 거였습니다. iptables는 리눅스의 커널 방화벽 겸 NAT(network address translation) 역할을 하는 커널 영역의 netfilters 를 조작하는 userspace 앱이라네요. 80이나 443을 실제로 먹는 건 아니고 그 전에 낚아채고 있다는 말이죠.

k3s는 쿠버네티스의 경량화를 위해 이런저런 필수요소들을 하나의 바이너리로 묶어서 내놓는 배포판인데, 거기에 로드밸런싱을 위한 ServiceLB와 웹에 서비스를 노출하기 위한 traefik 리버스 프록시를 포함하고 있습니다. 설치할 때 제외할 수 있고요.

바뀐 iptables를 비교까지는 해봤는데 iptables의 내용을 이해하기에는 시간이 너무 걸릴 거 같아서 일단 보류하기로 했습니다. 어차피 설치할 장비는 아무것도 서비스하고 있지 않은 장비라...

참고자료

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함