TA 6

Kubernetes 구조

Kubernetes는 오픈소스로서, 수천개 이상의 Container를 관리 운영하는 가장 쉬운 클러스터 관리자 입니다. CNCF의 관리하에 개발이 이루어지고 있고, 상당히 다양한 프로젝트가 있어 서로 경쟁하고 채택되면서 유기적으로 발전하고있습니다. 지금도 많은 제품들이 선정되고 투자를 받아 제품이 만들어지고 있습니다. (CNCF 홈페이지: https://www.cncf.io/ ) 그럼 간단히 Kubernetes를 설명하자면, "Kubernetes란 자동배포, 확장, 그리고 컨테이너화된 어플리케이션을 관리하는 오픈소스 시스템입니다." Kubernetes를 이용하게되면 네트워크, 서버, 스토리지를 기존의 대형인프라에서는 인스턴스별 성능을 고려하고 각각의 설정들을 별도로 관리했던 부분들이 손쉽게 관리되어 대규..

kubernetes 2021.03.03

개발, 테스트, 배포 연동구성 ( 2/4 )

#9 테스트 구성 테스트의 구성은 성능 혹은 상용서비스로 올라가기 위해 구성되는 구간으로 Staging 혹은 Testbad등으로 불리기도 한다. 간혹 클라우드나 거대규모 서비스의 경우 상용과 동일한 구성으로 도메인 체인지 혹은 LB체인지로 배포나 이벤트운영을 하는경우가 있다. 때문에 운영기와 개발기 사이에 있는 테스트 구성은 매우 중요하다. 심지어 연동부분과 구성이 운영장비와 상이해 테스트 구성까지 연동에 이상이 없지만 운영장비에 적용하자마자 장애가 나는 경우가 많다. 테스트 시에는 외부 연동과 내부 연동등 여러부분이 있어 많은 장애 포인트를 갖고 있지만 대신 테스트임을 감안해서 이에 대비되어있는 상황을 구성해야겠다. 기본은 개발기와 같으나 상용과 대비해서 최소한의 구성을 테스트 장비에 적용한다. 최소한..

성능치 반영도

#7 성능치 반영도 전체 시스템 구성도를 그렸다면 의문스러운점이 많이 있을것이다. 무슨 근거로 서버와 네트워크 장비들, 그리고 소프트웨어의 수량과 성능을 정하고 설계한 것일까 하는 것일 텐데, 예를 들자면 Tomcat 으로 처리하고자 하는 것이 계속 늘어나고 각 처리를 요하는 예상 클라이언트의 수를 고려하지 않았기 때문이다. 또한 처리될 양의 계산또한 고려되지 않았고 처리의 방법도 고려되지 않았다. 여기서는 예상 성능치를 반대로 서버에서 얼마나 처리 할수 있는지를 확인하고 필요 요건을 감안해 설계도를 재 작성 해보겠다. WEB 서버에서는 클라이언트들의 요청을 최초로 받아서 요청하는 페이지와 처리를 각 WAS 서버의 Port 로 보내게 되는 간단한 모듈만 작동하지만 성능의 과다가 예상 되고 있고 세션을 기..

전체 시스템 구성도

#6 전체 시스템 구성도 서버, 네트워크, 소프트웨어의 구성을 완성 했다면, 실제 환경 구성을 위한 전체 시스템 구성도를 그려야 한다. 위의 그림은 간단하게 논리적으로 본 전체 시스템을 본 구성인데, 외부와 연동되는 구역인 Public에는 웹서버 2기, 외부와 직접적으로 연동되지않는 와스서버 2기, 모니터링서버 1기, 내부 DNS서버 1기, DB서버 2기 만 있는 모습으로, 여기에 서버별 소프트웨어가 웹서버에는 HTTPD, 와스서버에는 tomcat 2개씩, 모니터서버에는 모니터링 프로그램인 Zabbix 서버, Scouter 서버, DNS서버에는 named 를 구성한다. 위의 그림에 실제로 구성이 가능한지 모든 부분을 하나로 합쳐서 완성한 후, 스토리지와 기타 네트워크 라인을 구성하고 각 소프트웨어를 서버..

네트워크 구성도

#3 네트워크 구성도 네트워크는 논리적인 구성과 물리적인 구성을 필요로 하는데 가상 혹은 물리 네트워크를 신경쓰지 않아도 되는 경우에는 논리적인 구성만으로도 충분하다. 다만 많은 개발사와 서버개발자들은 네트워크와 방화벽 로드벨런서의 구성을 신경쓰지 않는경우가 많은데 많은 병목과 장애를 유발할수 있는 부분이므로 항상 네트워크를 먼저 구성해야 서비스시에 문제가 생기지 않는다 . 물론 이런 환경을 모두 계획하여 개발자와 기타 서비스를 운영하는 리더들에게 만족할만한 구성이 되어있다면 더 좋을것이다. 물리는 서버에서 시작한다면, 서버의 수량과 서버당 사용할 포트수를 계산해야 한다는것이다. 예를 들자면 서버 1기당 서비스용, 내부연동용 따로 쓰고, NAS 같은 네트워크 스토리지용, 그리고 원격접속을 위한 ILO 등..

요구사항 분석

#2 요구사항 분석 서비스를 구성하기 위해서는 우리가 물건을 살때처럼, 필요로 하는 목적에 부합하는 서비스를 위한 요구사항을 분석할 필요가 있다. 크게 서비스의 목적과 목적에 따른 성능과 서버 분산을 계획한다. 서비스 요구사항에 대한 요건정리 후, 과제를 정해 시스템을 정의하고 정리하는 부분이다. 각 항목을 간단하게 예로 나뉜다면 아래의 표와 같고, 이 요건들은 서비스의 성향과 성능을 요하는 부분들, 그리고 처리부분의 예상 성능치, 구성을 위한 각 파트들을 어떻게 해야할지 큰 부분들을 정한다고 볼 수 있다. 요구사항에 대한 내용을 보면서, 내용중 중요한 부분은 고성능을 필요하게 된다는것과 필요에 따라서 Dedicate 서버와 가상 서버를 이용 할 수 있다는것, 그리고 스트리밍서비스와 데이터 조회를 할수 ..