# 서비스 노출

클러스터 내부와 외부에서 워크로드가 제공하는 서비스 기능을 호출하기 위해서 각각 클러스터 IP 방식과 노드 포트 방식의 서비스를 정의합니다.

클라우드에 클러스터를 구성한 상태에서 노드 포트 방식으로 서비스를 정의한 경우, 그 앞단에 로드 밸런서를 구성하여 외부에서 로드 밸런서 주소와 포트를 통해 서비스를 호출하게 할 수도 있습니다.

## 어떤 서비스 노출 유형을 지원하나요?

* 클러스터 IP
* 노드 포트
* 로드 밸런서

## 서비스 노출의 특장점은 무엇인가요?

### 손쉬운 서비스 생성

웹 UI 컨솔 상에서 손쉽게 각각의 서비스 노출 유형을 생성할 수 있습니다.

### 로드밸런서 자동 생성

퍼블릭 클라우드에서 클러스터를 구성했을 경우 경우, 칵테일 클라우드가 로드벨런서를 자동 생성해 줍니다. 로드벨러서 유형의 서비스 노출은 AWS, Azure, GCP 같이 지원하는 클라우드에서만 가능합니다.

## 태스크 목록

* 서비스 생성
* 서비스 조회
* 인그레스 생성
* 인그레스 조회

## 1. 서비스 생성

### 1.1 서비스 노출 화면 접근

서비스 맵의 서비스 노출 화면에서 우측 상단 "+생성" 버튼을 클릭합니다.

![\[화면\] 서비스 맵 - 서비스 노출](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaG7o20L8eTisFJo1i%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%205.30.05.png?alt=media\&token=1544c5f9-bf9a-4e93-9dd3-2603ed651ade)

### 1.2 서비스 노출 유형 선택

![\[화면\] 서비스 노출 유형 선택](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaGDZlF0qYGSLjyRUi%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%205.31.14.png?alt=media\&token=1504f70e-7e9f-4009-a6d4-84749ea36152)

### 1.3 서비스 노출 기본 정보 입력

서비스 노출 명 및 라벨 정보를 입력합니다. "라벨 선택기"를 클릭하여 워크로드에 미리 설정되어 있는 라벨을 선택할 수도 있습니다. 미리 설정되어 있는 라벨을 선택하는 경우가 아닌 경우에는, 라벨 이름과 값의 쌍을 입력할 수 있습니다.

![\[화면\] 워크로드에 설정되어 있는 라벨을 선택하여 서비스 라벨로 추가](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaGILUoMmxuco2X8Vk%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%205.39.18.png?alt=media\&token=54222efb-597f-416e-b1af-e95f8ac7d3bc)

![\[화면\] 서비스에 이름-값으로 구성된 라벨 정보를 입력](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaGP9w9qo7_oIuvkE5%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%205.38.16.png?alt=media\&token=b43972c8-14db-49c4-86c9-b4ecf7ec981a)

### 1.4 서비스 대상 포트 설정

서비스에 의해 노출되는 포트를 추가합니다.

![\[화면\] 워크로드에 설정되어 있는 기존 라벨을 선택하여 서비스 라벨로 입력](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaJzMn4AnnrCoQKx1l%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%205.50.35.png?alt=media\&token=d4e7f105-c381-400e-a5e1-b8812378c8ae)

![\[화면\] 서비스 대상 포트 설정](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaK6JXvyYqKCr9lbXl%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%205.51.35.png?alt=media\&token=f4cb8655-f7fc-4bfe-8882-a6f2574f50a8)

### 1.5 저장

설정 정보 입력 후 생성된 서비스를 실제 생성시키기 위해서는 반드시 저장 버튼을 클릭하도록 합니다.

## 2. 서비스 조회

서비스 맵의 서비스 노출 화면에서 생성된 서비스 정보를 조회합니다.

### 2.1 서비스 목록 조회

서비스 맵의 서비스 노출 화면에서 서비스 목록을 조회합니다.

![\[화면\] 서비스 목록 조회](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaNg-gjnC3iEGHIehQ%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%206.00.05.png?alt=media\&token=744e5093-3c22-4483-b2ae-4591ac481e5e)

### 2.2 서비스 상세 정보 조회

서비스 목록에 표시된 서비스 이름 링크를 클릭합니다. 서비스의 설정 정보 및 상태 정보가 표시됩니다.

![\[화면\] 서비스 설정 정보 및 상태 정보](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaNjnaoGdvtzHv5BQA%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%206.11.27.png?alt=media\&token=6e9dfa40-2c56-41f6-b318-7f2a3f535eda)

서비스 설정 정보 및 상태 정보를 YAML 형식으로 조회할 수도 있습니다. 상기 화면 우측 상단의 설정 버튼을 클릭한 후 표시되는 화면에서 죄측 상단의 설정 보기를 "YAML 보기"로 선택하면 YAML 형식의 정보가 표시됩니다.

![\[화면\] 서비스 설정 및 상태 정보의 YAML 형식 조회](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaO54Dwv2VsjH-d8EI%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%206.14.38.png?alt=media\&token=d9ae02b3-7090-477a-9d0a-c3032591f935)

## 3. 인그레스 생성

인그레스는 클러스터 외부로부터 클러스터 내부 서비스로의 HTTP/HTTPS 라우팅을 제어할 수 있게 해 주는 기능입니다. 인그레스를 생성하기 위해서는 칵테일 클라우드의 애드온 관리 화면을 통해 해당 클러스터에 사전에 인그레스 컨트롤러를 설치해 놓아야 합니다.&#x20;

### 3.1 인그레스 화면 접근

서비스 맵의 인그레스 화면에서 우측 상단 "+생성" 버튼을 클릭합니다.

![\[화면\] 서비스 맵의 인그레스 화면](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaOymLwegHh4WND27l%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%206.17.32.png?alt=media\&token=03cdebe2-45e1-4a19-a3f2-47f40816ff2f)

### 3.2 인그레스 기본 정보 입력

인그레스 이름을 입력하고 미리 클러스터에 설치해 놓은 인그레스 컨트롤러를 선택하는 등, 인그레스의 기본 정보를 입력합니다.

![\[화면\] 인그레스 기본 정보 입력 화면](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaP-QV5Y0EfM2qPN3X%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%206.18.19.png?alt=media\&token=8a50d792-cbed-4bc7-82b5-0531d042f763)

### 3.3 인그레스 규칙 입력

인그레스 규칙을 적용할 호스트 정보를 설정하고, 해당 호스트에 대한 인커밍 요청에 대한 벡엔드 서비스로의 라우팅 규칙을 설정합니다.

![\[화면\] 인그레스 규칙 설정 화면](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaQtKYID7ctDhlw8YC%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%206.26.03.png?alt=media\&token=caa4ff9b-a103-44f7-973e-a743c13663f6)

### 3.4 인그레스 TLS 입력

인그레스와 관련된 TLS (전송 계층 보안) 관련 정보를 설정합니다. 443 포트에서 TLS 트래픽을 종료하기 위해 사용되는 시크릿 정보 및 TLS 인증서에 포함되는 호스트 정보를 입력합니다.

![\[화면\] 인그레스 TLS 설정](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaQyj6iA31erQrPUXD%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%206.26.47.png?alt=media\&token=e284d25d-679b-449b-8680-0a858ad775dd)

### 3.5 저장

인그레스를 실제 생성시키기 위해서는 반드시 저장 버튼을 클릭하도록 합니다.

## 4. 인그레스 조회

서비스 맵의 인그레스 화면에서 생성된 인그레스 정보를 조회합니다.

### 4.1 인그레스 목록 조회

서비스 맵의 인그레스 화면에서 인그레스 목록을 조회합니다.

![\[화면\] 인그레스 목록 조회 화면](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaRu6T1TC_YspF_XAT%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%206.30.17.png?alt=media\&token=d972a3a0-47dd-4cad-920c-f9a9aa08cc41)

### 4.2 인그레스 상세 정보 조회

인그레스 목록에 표시된 인그레스 이름 링크를 클릭합니다. 인그레스의 설정 정보 및 상태 정보가 표시됩니다.

![\[화면\] 인그레스 상세 정보 조회 화면](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaRz9hATu-SwcVkQiR%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%206.29.22.png?alt=media\&token=b118de5a-fb1d-4682-828d-495333eb8849)

인그레스 설정 정보 및 상태 정보를 YAML 형식으로 조회할 수도 있습니다. 상기 화면 우측 상단의 설정 버튼을 클릭한 후 표시되는 화면에서 죄측 상단의 설정 보기를 "YAML 보기"로 선택하면 YAML 형식의 정보가 표시됩니다.

![\[화면\] 인그레스 설정 및 상태 정보의 YAML 형식 조회](https://2280692939-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M0yzOvgik-bpk4tukSg%2F-MJaCqbsUny-MGVSIuHT%2F-MJaS2sYpUlb_CoiQRd1%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%206.31.10.png?alt=media\&token=a74abe5a-2ee7-43e0-b6c2-1d4256b60470)

##
