Ssoon
[2주차] CHAPTER-09 Traefik 인그레스 구축 본문
이정훈님이 집필하신 "24단계 실습으로 정복하는 쿠버네티스" 로 진행하는 CloudNet@ 팀의 PKOS 2주차 정리입니다.
📌 인그레스 ? " 외부의 HTTP 요청에 대한 서비스 처리 규칙을 정의한 리소스"
✔ 인그레스의 주요 기능
- URL 및 경로별 백엔드 서비스 분리
- SSL/TLS 인증서 연동
- 애플리케이션 관리 효율을 위해 외부 접속에 관한 상세 규칙을 별도 인그레스 리소스로 분리
✅ Traefik 인그레스 콘트롤러 설치
💠 helm 을 이용해 Traefik 을 설치합니다.
💠 values.yaml 을 수정합니다.
💠 Traefik 의 네임스페이스를 생성하고 설치하고 정보를 확인합니다.
✅ 인그레스 테스트용 애플리케이션 설치
✔ 인그레스의 주요 용도 : 사용자의 URL 경로에 따라 백엔드 웹서버를 구분해서 응답하는 것
💠 테스트를 위해 서로 다른 4개의 deployment 와 service 를 생성합니다.
💠 별도의 busybox 파드를 생성한 후 각 서비스 이름으로 접속 테스트를 합니다.
✅ Traefik 인그레스 설정 테스트
⛔ Traefik CRD 를 이용한 인그레스 설정
✔ Traefik 인그레스 설정 파일은 IngressRoute 라는 자체 CRD(Custom Resource Defination) 을 사용합니다.
✔ CRD ? 사용자가 임의로 자신이 필요한 쿠버네티스 API 리소스를 모아서 원하는 기능을 구현하는 K8S 확장 기능
💠 IngressRoute 설정을 확인합니다.
💠 Ingresroute 리소스를 생성합니다.
💠 Traefik 로드밸런서 IP 와 가상호스트 이름을 /etc/hosts 에 추가합니다.
💠 4 개의 가상 호스트와 URL 경로에 대해 정상적으로 분리되어 접속되는지 확인합니다.
💠 관리자 페이지에서도 확인 할 수 있습니다.
💠 서비스 내 다른 파드로 부하분산 을 확인합니다.
⛔ 사용자 SSL/TLS 인증서 적용
✔ Traefik 인그레스는 사용자 정의 SSL/TLS 인증서 설치를 지원합니다.
✔ 다수의 웹서버 설정에서 별도로 등록할 필요 없이 단일 Traefik 설정 파일에서 관리할 수 있습니다.
✔ 쿠버네티스에서는 애플리케이션과 네트워크 설정을 분리하여 애플리케이션 설정을 변경하지 않고 배포할 수 있습니다
💠 openssl 을 사용해 사용자 인증서를 생성합니다.
💠 CSR (Certificate Signing Request) 과 서버 인증서를 생성합니다.
💠 서버 인증서에 사용할 www.myweb.com.crt 를 Traefik 에 연동하기 위해 Secret으로 저장합니다.
✔ 쿠버네티스는 SSL/TLS 인증서를 Secret 으로 저장합니다.
✔ Traefik 에서는 Secret 타입의 인증서를 사용합니다.
💠 생성된 Secret 을 Traefik 의 IngressRoute 설정 파일에 추가합니다.
💠 기존에 생성한 IngressRoute 를 삭제하고 새로운 IngressRoute (cafe-tls-crd-ingressroute.yml) 를 생성합니다.
💠 https://www.myweb.com/juice 로 접속하여 앞서 생성한 인증서 정보를 확인합니다.
'Production Kubernetes Online Study' 카테고리의 다른 글
[2주차] CHAPTER-11 스토리지 볼륨 스냅샷 사용하기 (0) | 2023.03.14 |
---|---|
[2주차] CHAPTER-10 쿠버네티스 스토리지 (0) | 2023.03.14 |
[2주차] CHAPTER-08 MetalLB 로드밸랜서 구축 (0) | 2023.03.14 |
[2주차] CHAPTER-07 쿠버네티스 서비스 사용하기 (0) | 2023.03.14 |
[1주차] CHAPTER-06 헬름 기반으로 애플리케이션 설치 (0) | 2023.03.10 |