---
# System prepended metadata

title: 1 ft_services 개요
tags: [ft_service]

---

---
Category : ft_service
Id : 1
Title : "ft_services 개요"
Description : "ft_services에 대해 알아보자"
Date : 2020, 10, 30 (Fri)
Auther : seolim
pre : 0
next : 0
tags : ft_service
---

# 1 ft_services 개요
> Link

[link not yet]()

> Caution

본 문서를 포함한 블로그의 모든 내용은 <b>42 innovation academy</b>의 과제의 작성자의 해석 및 풀이 등으로 이루어져 있습니다.</br>본인이 42 교육생이거나 42 교육을 희망하는 분이라면 글을 먼저 보기보다는 고민해보고 읽어보기를 추천드립니다.


> 목적

1. 쿠버네티스를 조작하는 방법을 익힌다.
2. 쿠버네티스를 통해 service를 배포하는 법을 익힌다.

> 선수 지식

### 컨테이너 오케스트레이션

Container를 통한 어플리케이션 배포가 산업 표준이 된 이후 여러개의 컨테이너의 배포, 관리, 확장들을 자동화의 필요성이 생기게 되었고, 이러한 부분을 해결하기위한 솔루션이 컨테이너 오케스트레이션 시스템이다. 기본적으로 아래와 같은 시스템을 포함한다.

1. 컨테이너 자동 배치 복제
2. 컨테이너 그룹에 대한 로드 밸런싱
3. 컨테이너 자동 복구
4. 서비스 외부 노출

### 쿠버네티스

Google에서 개발한 오케스트레이션 시스템으로 현 시스템 중 가장 널리 사용되고 기능이 풍부하다. 세부적인 내용과 기능은 [공식 사이트](https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/)를 참고한다.

> ft_service

총 5개의 서비스를 제공하는 시스템을 구성한 kubernetes를 배포한다. 해당 서비스는 아래와 같다.

1. WordPress(웹 페이지 제작 서비스)
    - MySQL 데이터 베이스를 참조한다.

2. PhpMyAdmin(DB 관리 UI)
    - MySQL 데이터 베이스를 참조한다.

3. Nginx Server(웹 서버 페이지)
    - 1, 2 서비스로 연결이 가능한 서버페이지를 구성한다.
    - ssh연결이 가능해야 한다.

4. FTP Server(파일 전송 Service)

5. Grafana(데이터 시각화 서비스)
    - InfluxDB 데이터 베이스를 참조한다.
    - 각각의 서비스를 monitoring하는 시계열 데이터를 참조한다.

모든 컨테이너는 Alpine Linux를 기반으로 작성돠어야 하며, 전체 서비스는 LoadBalancer를 통해 외부로 노출되어야 하고, 모든 DB는 Persistant되어야 한다. 