-
ingress host가 꼬여서 배포가 늦어지게 되어.. 정리를 해본다.
DNS
Domain Name System으로 IP 주소 (예: 192.0.2.1)를 사람이 읽을 수 있는 도메인 주소(www.XXX.com)로 변환하는 역할이다.
Load Balencing
네트워크 트래픽을 여러 서버에 분산시키는 과정. 로드 밸런서는 이런 작업을 수행하는 소프트웨어를 말한다. OSI 7계층에서 7번째 계층인 애플리케이션 계층에서 작동하며 HTTP/HTTPS 트래픽을 처리한다. 로드 밸런서는 들어오는 요청을 수신하고 각 서버의 현재 부하 상황, 우선 순위, 지연시간 등 여러 요소를 고려해 어느 서버로 요청을 전달할지 결정한다.
쿠버네티스로 배포를 하게 되면 애플리케이션에 대해 외부 접근을 허용하기 위해 로드 밸런서를 사용한다. 쿠버네티스에서 Service 타입을 LoadBalencer로 설정하면 ELB(Elastic Load Balencer) 를 생성한다. 그러면 ELB는 쿠버네티스 서비스가 지정한 파드에 트래픽을 전달하게 된다. ELB가 생성되면 고유한 DNS가 부여되는데 다음과 같이 우리가 생각하는 형태가 아니라 엄청 긴 이름을 갖는다. 이럴때 Route 53을 사용하여 지정한 도메인 형태로 연결을 해줘야한다.
Route 53
AWS가 제공하는 확장 가능한 DNS 서비스이다. 여기에 우리가 원하는 형태의 주소 값을 등록해 놓고 연결해서 사용하면 된다. 호스팅 영역에 사용할 메인 주소를 놓고 레코드를 추가 시켜 비슷한 도메인으로 확장하여 사용할 수 있다.
설정해둔 ELB와 Route 53 연결은 AWS console에서 수동으로 설정하거나 External DNS를 통해 ingress.yaml 에서 설정하는 방법 두가지가 있다. 만약 abc.education 이라고 호스트 네임을 정하고 위의 ELB와 연결을 해주면 abc.education에 접속하면 저 위의 긴 DNS가 아닌 쉬운 도메인 이름을 통해 서비스에 접근 할 수 있게 된다.External DNS
기본적으노 쿠버네티스 서비스는 클러스터 내부에서만 접근이 가능하고 위에서 이야기 한것 처럼 LoadBalencer 서비스 타입이나 ingress를 통해 외부에 노출할 수 있다. 외부 DNS 시스템을 매번 수동으로 업데이트 하면 유지보수가 힘들어지기 때문에 External DNS 를 사용해 이 작업을 자동화한다. EKS에 External DNS를 설치해서 사용할 수 있으며 External DNS는 쿠버네티스를 주기적으로 폴링해서 ingress 리소스에 설정된 도메인 이름을 찾고, 변화가 생겼거나 새로 등록되는 이름이 있다면 Route 53에 등록 및 업데이트 해준다.
회고
오늘 있었던 일.. 간단한 api 만들어서 배포해야 할일이 생겨서 코드 작업을 마치고 쿠버네티스에 올렸다. 처음에 ingress 설정할때 host 이름 담아서 데이터팀 클러스터에 배포를 했는데, 이를 백엔드 클러스터로 옮겨서 새로 배포해야 했다. 설정을 변경 후 재배포 했는데, 그 시점부터 설정한 dns로 접속이 되지 않았다. 기존에 데이터 클러스터에 배포된 내역들 전부 삭제를 해봐도 안되서 분명히 어딘가에서 연결이 이상하게 되고 있다고 생각이 들었다. 한참 관련 내용을 찾다가 externel DNS 가 제대로 동작하지 않아 업데이트가 안되고 있었고, route 53에서 설정을 수동으로 변경해주면 된다는 것을 알아냈다. 첫번째 배포를 할때 이미 해당 클러스터의 호스팅 값이 붙어버려서 아무리 연결을 해도 연결이 안되었던 것.. 하필 클러스터가 달라서 externel DNS 소유권이 달라지는 바람에 업데이트가 제대로 되지 않았다. Route 53으로 가서 A 유형에는 ELB의 dns name을 넣어주고 TXT에는 맞는 owner 값과 네임스페이스, 인그레스 값을 지정해주니 다시 접속이 잘 되었다.
'이슈 해결 일지' 카테고리의 다른 글
DB 격리수준과 트랜잭션에 따른 데이터 일관성 문제 (0) 2024.02.25 Redash 인프라 개선 (0) 2024.01.14 Kafka offset이 뒤로 돌아가는 문제 (0) 2023.10.17 Redash 쿼리 큐 쌓이는 이슈 (0) 2023.07.09 Wordcloud 한글 깨질 때 (0) 2022.06.23 댓글