본문 바로가기

Development(Web, Server, Cloud)/22) LINUX - Cloud90

클라우드 76일차 web 서비스는 3tier로 나뉘어 있다. 3개의 계층으로 web서버, was, db로 나뉜다. web,was,db를 한꺼번에 묶어서 한곳에 구현하는 경우도 존재한다. 하지만 이게 구분이 되지 않으면 유연한 대응을 하기가 어려워 진다.(ex. 유연한 확장) 그리고 각 성분들을 수평적으로 확장하고 묶어 놓는것이다. 우리는 이것들을 cloud에 올려놓기 때문에 유연한 확장이 가능해지니. 외부에서 들어올 수 있게 된다. 만약 우리가 사용하는 이 환경이 legacy 한 환경에서 구현되었다면 새로운 환경을 구축하기 어려워진다. 또 하나 중요한 점은 각 계층별로 별도의 네트워크에 구성하게 된다. 서로 다른 서브넷에 배치하게 된다. 그럼 중간에 라우터가 들어가거나 방화벽을 넣어줄 수도 있다. ???? web 3-ti.. 2022. 5. 17.
클라우드 75일차 현재 구성은 위와같고 서버 안쪽에는 ansible과 gitlab이 설치되어 있는 상태이다. 그리고 vagrant를 이용해서 노드들을 배포했다. 실재 환경이라면 vagrant 를 쓰지 않고 새롭게 생성한 계정을 사용했을것이다. ansible 자체에서 become:yes로 해주면 각 노드에 있는 root로 실행이 되게 된다. gitlab을 동작시키기 위해서는 일종의 gitlab 자체에 접근하고 본인이 사용할 수 있는 도구(shell)와 사용자(gitlab-runner)가 필요했다. 실재 gitlab-runner은 /etc/passwd에 사용자로도 /etc/group 의 그룹으로도 등록이 되어 있다. 우리가 만약에 저장소에 코드를 올리게 되면 gitlab에서는 실행자체와 코드자체의 문제점을 모두 점검해본다. .. 2022. 5. 16.
클라우드 74일차(정리중, gitlab) 구성은 위와같이 ansible-server에 전체 노드들을 연결해서 관리할 예정이다. 그럼 ansible을 통해 설치할 것들을 전달하게 될 것이다. 이 부분들은 관리영역(ops, 엔지니어)이다. 개발자 입장에서는 바깥쪽에서 ansible-server에 code를 던지게 된다. 개발자는 기존에 github에 코드를 던지어 업데이트를 진행했는데 github는 설치형이 아닌 서비스(호스팅)이다. 그래서 서비스가 이미 준비된 상태에서 서비스를 제공받는 상태이다. 그런데 우리는 사설 공간에다가 github와 비슷한 얘를 두고 개발을 하려면 어떻게 해야 할까? 이때 gitlab을 쓸 수 있게 된다. gitlab은 설치형/호스팅 형이 존재한다. 그래서 gitlab을 설치해놓으면 개발자는 여기에 코드를 던지기만 하면 .. 2022. 5. 10.
클라우드 73일차 --- - name: web server installation hosts: all become: yes gather_facts: yes vars: dversion: "{{ 'centos' if ansible_distribution == 'CentOS' else 'ubuntu' if ansible_distribution == 'Ubuntu' else 'centos' }}" tasks: - name: webserver install include_tasks: "{{ dversion }}.yaml" websrv.yaml --- - name: httpd install yum: name: httpd state: present - name: httpd start service: name: httpd state: .. 2022. 5. 10.