블로그로 돌아가기

CloudSigma PaaS 탐색: 퍼블릭 IP를 통해 Kubernetes 애플리케이션에 접속하는 방법

CloudSigma PaaS 탐색: 퍼블릭 IP를 통해 Kubernetes 애플리케이션에 접속하는 방법

CloudSigma PaaS를 사용하면 사용자가 공인 IP 주소를 사용하여 애플리케이션을 노출할 수 있습니다. 이 주소는 Kubernetes 클러스터 환경의 노드에 연결되어야 합니다. CloudSigma PaaS 환경에서 이를 수행하는 방법에는 두 가지가 있습니다:

  • 한 가지 방법은 공인 IP를 전용 로드 밸런서에 연결하는 것입니다.1-Public IP for Access to Kubernetes Application in Jelastic PaaS
  • 또 다른 방법은 공인 IP를 Kubernetes의 Worker 노드에 연결하는 것입니다.

이 튜토리얼에서는 이 두 가지 접근 방식 중 하나를 사용하여 Kubernetes 애플리케이션에 액세스하는 방법을 안내합니다.

Kubernetes 애플리케이션 액세스를 위한 전용 로드 밸런서 설정

먼저, 애플리케이션 액세스를 위한 전용 로드 밸런서 설정 방법을 알아보겠습니다:

  1. 먼저 CloudSigma Marketplace로 이동하여 Kubernetes 클러스터를 찾아 설치합니다. 그런 다음 애플리케이션을 배포합니다. 예를 들어, 여기서는 Jakarta EE Cargo Tracker.
  2. Kubernetes 클러스터 옆에서 Change Environment Topology를 찾아 클릭합니다. 화면에 열리는 창에서 전용 로드 밸런서(Dedicated Load Balancer) 노드를 추가합니다. 그런 다음 다음과 같이 공인 IP 주소를 연결합니다:

2-Public IP Jelastic PaaS

이 예제에서는 NGINX 로드 밸런서 노드를 사용했습니다. 다음을 포함하여 여러 다른 로드 밸런서를 사용할 수 있습니다: HAProxy, LS Web ADC, Varnish 등이 있습니다. 선호하는 것을 선택하여 사용할 수 있습니다.

토폴로지 수정을 완료하면 적용된 변경 사항은 다음과 같이 표시됩니다:

3-Public IP for Access to Kubernetes Application in Jelastic PaaS

4-Public IP for Access to Kubernetes Application in Jelastic PaaS

3. 다음 단계는 사용자 지정 도메인에 대한 A 레코드를 생성하는 것입니다. 이전 단계에서 사용한 것과 동일한 공인 IP 주소를 사용하게 됩니다. 이 예제에서는 다음을 사용합니다: cargo-tracker.cloudsigma.website:

5-Public IP for Access to Kubernetes Application in Jelastic PaaS

4. 이제 K8s 클러스터에 사용자 지정 도메인을 연결할 수 있습니다. 이를 위해 신뢰할 수 있는 Let’s Encrypt SSL 인증서 발급을 요청합니다:

  • Load Balancer 위에 마우스를 올리고 다음을 클릭합니다: Add-Ons.
  • 다음 항목을 찾아 설치합니다: Let’s Encrypt Free SSL:

6-Public IP for Access in Jelastic PaaS-02

  • 구성에서 사용자 지정 도메인 이름을 입력한 다음, Install을 클릭합니다. 저희의 경우 도메인 이름은 다음과 같습니다:

7-Public IP for Access to Kubernetes Application in Jelastic PaaS-

마지막으로, 이제 사용자 지정 도메인 https://cargo-tracker.cloudsigma.website을 사용하여 액세스할 수 있는 애플리케이션을 만들었습니다. 또한 유효하고 신뢰할 수 있는 Let’s Encrypt SSL 인증서로 애플리케이션의 트래픽을 암호화했습니다.

Kubernetes 워커 노드 공인 IP 주소를 사용하여 애플리케이션 액세스 권한 얻기

다음으로, Kubernetes 클러스터 외부에서 애플리케이션을 사용할 수 있도록 하는 대안적인 방법을 살펴보겠습니다. 기본적으로 앱에 직접 액세스할 수 있도록 Kubernetes 클러스터의 워커 노드에 공인 IP 주소를 연결하는 방법을 배웁니다.

8-Public IP for Access to Kubernetes Application in Jelastic PaaS

이전에 보여드린 것과 동일한 예시로 계속 진행해 보겠습니다. Cargo Tracker 애플리케이션을 배포한 것과 동일한 클러스터를 사용할 것입니다. 진행 방법은 다음과 같습니다:

1. 다음을 클릭합니다: Change Environment Topology. 워커 노드에 공인 IP 주소를 추가합니다:

9.1-Public IP for Access in Jelastic PaaS

2. 다음으로, 사용자 지정 도메인에 대한 A 레코드를 생성하고 방금 추가한 IP에 매핑합니다. 이전 장에서 사용한 도메인 이름과 다른 도메인 이름을 사용해야 합니다. 예를 들어, 다음과 같은 도메인 이름을 사용합니다: cargo-tracker-worker.cloudsigma.website:

9.2-Public IP for Access to Kubernetes Application in Jelastic PaaS

3. 컨트롤 플레인 또는 마스터 노드 위에 마우스를 올리고 다음을 클릭합니다: Add-Ons. 다음을 찾아 설치합니다: Certificate Manager. 이렇게 하면 LoadBalancer 서비스 유형의 NGINX 인그레스 컨트롤러와 함께 cert-manager 컨트롤러가 설치됩니다. 후자에는 워커 노드와 연결된 IP 주소가 포함되어 있습니다. 이는 “nginx-cert” 인그레스 클래스 리소스를 제공하게 됩니다:

10-Public IP for Access to Kubernetes Application in Jelastic PaaS-01

4. 제공된 필드에 원하는 도메인 이름을 입력하고 다음을 클릭합니다: Apply:

11-Public IP for Access to Kubernetes Application in Jelastic PaaS

5. 설치 시 애드온은 다음과 같은 테스트 애플리케이션도 함께 설치합니다: helloworld-cert. 다음 명령을 사용하여 해당 애플리케이션이 사용하는 리소스를 간단히 삭제할 수 있습니다:

이 명령들은 다음을 사용하여 입력하고 실행해야 합니다: SSH (SFTP) 또는 Web SSH Gate (의 컨트롤 플레인 또는 마스터 노드). 노드 위에 마우스를 올리고 다음을 클릭합니다: Web SSH 옵션(옆에 위치)을 클릭하여 게이트에 접속합니다.

또 다른 방법은 다음 위에 마우스를 올리는 것입니다: 컨트롤 플레인 또는 마스터 노드 그리고 다음을 클릭합니다: Config. 여기에서 다음으로 이동합니다: SFTP/SSH Gate 그리고 안내된 지침을 따릅니다.

6. 애플리케이션 SSL 트래픽을 종료하고 cargo-tracker 서비스로의 라우팅을 처리하려면 다음과 같은 인그레스 리소스를 생성해야 합니다: cargo-tracker-worker. 예를 들어 다음을 사용한다고 가정해 보겠습니다: cargo-tracker-worker-ingress.yaml. 다음과 같은 에디터를 사용할 수 있습니다: vi 파일을 생성한 후 다음 코드를 붙여넣습니다:

그 후, 다음과 같이 진행합니다:

7. 이 ingress를 생성하면 Certificate Manager가 새 도메인 이름에 대한 Let’s Encrypt SSL 인증서를 자동으로 발급합니다. 새 사용자 지정 도메인 이름에서 앱을 사용할 수 있는지 확인하기 전에 시스템에 1~2분 정도 여유를 두십시오. 해당 도메인은 https://cargo-tracker-worker.cloudsigma.website 저희의 경우입니다.

짜잔! 이 단계를 수행하여 두 가지 다른 접근 방식을 사용하여 애플리케이션을 노출했습니다. 결과적으로 두 개의 ingress가 표시됩니다. 저희의 경우 다음과 같습니다:

  • cargo-tracker

이 ingress는 전용 로드 밸런서의 공용 IP를 통해 들어오는 애플리케이션 트래픽을 처리합니다.

  • cargo-tracker-worker

이 ingress는 K8s 워커 노드에 연결된 IP에서 직접 유입되는 애플리케이션 트래픽을 처리하도록 설정되어 있습니다.

다음과 같이 표시됩니다:

12-Public IP for Access in Jelastic PaaS

선택하는 구현 유형에 따라 프로덕션 환경에서는 하나의 ingress만 필요합니다. CloudSigma PaaS는 사용자에게 애플리케이션에 필요한 로드 밸런싱 작업을 수행할 수 있는 다양한 도구를 제공합니다. 플랫폼에서의 로드 밸런싱에 대해 자유롭게 읽고 자세히 알아보세요. 또한 사용 가능한 다른 도구들 중 NGINXHAProxy 등을 사용한 로드 밸런싱의 기본 사항에 대한 자세한 가이드도 제공합니다.

언제든지 CloudSigma’s PaaS 7일 무료 평가판으로 체험해 보실 수 있습니다. 또는 문의해 주시면 더 자세한 정보와 플랫폼 데모를 제공해 드리겠습니다. 

7일간 무료 체험하기

author

Zhenya Mocheva

작성자 · CloudSigma

Preslav Dobrev는 CloudSigma의 크리에이티브 디자이너로서, 전통적이고 혁신적인 마케팅 채널을 활용하여 일관된 비즈니스 정체성을 구축하는 데 중점을 두고 있습니다. 그는 영향력 있는 브랜드 내러티브를 창출하기 위해 예술적 비전과 전략적 마케팅을 결합하는 데 능숙합니다.

댓글

아직 댓글이 없습니다. 첫 번째로 작성해 보세요.