DevOps
-
오픈소스로 구성하는 데브옵스 시스템 - AWX에서 Ansible 실행DevOps 2018. 2. 13. 23:19
지금부터 ping을 실행하는 Playbook을 등록하고, 이를 ansible과 AWX을 이용해 실행까지 해보도록 하겠습니다. 그전에 간단히 AWX의 메뉴 구성을 설명하면... DASHBOARD Job의 최근 실행 상태를 한눈에 볼 수 있는 화면 JOBS 최근 실행한 JOB 리스트 SCHEDULES 스케줄로 등록된 Job 리스트 PORTAL MODE 등록된 Job과 실행중인 Job을 하나의 화면에서 확인 가능 PROJECTS playbook 모음을 하나의 단위로 묶어서 관리 CREDENTIALS ansible 실행을 위한 계정 관리 메뉴 CREDENTIAL TYPES 사용자 설정 인증 타입 INVENTORIES Job을 실행하는 Host 모음 TEMPLATES Inventory와 Playbook을 조합하여..
-
오픈소스로 구성하는 데브옵스 시스템 - AWX Active Directory 및 git 연동DevOps 2018. 2. 5. 20:51
사내에서 계정관리를 위한 Active Directory 또는 LDAP을 사용하고 있으시다면, AWX와 연동이 가능합니다.저희는 Active Directory를 운영하고 있어서 계정 연동을 진행 하였습니다. 아래와 같이 SETTINGS 메뉴를 클릭하시면 Authentication 설정 화면이 나옵니다. 그리고 Sub Category에서 LDAP을 선택하면 아래와 같은 기본 입력 화면이 나타납니다. 우선 LDAP Server URI를 아래와 같이 입력 합니다. LDAP Bind DN은 아래와 같은 형식으로 입력 합니다. (도메인이 중간에 잘렸네요..;; 가상의 값이긴 하지만 CN=ldapAdmin,OU=Users,DC=mydomain,DC=com과 같은 형식으로 넣어주세요.) 그리고 LDAP Bind Pas..
-
오픈소스로 구성하는 데브옵스 시스템 - Ansible & AWX 설치DevOps 2018. 1. 31. 23:00
이번에는 최근 Devops 엔지니어라면 한번은 들어 봤을 Provision Tool 중 ansible과 ansible을 GUI로 관리 및 컨트롤 할 수 있는 awx에 대해 이야기 해보도록 하겠습니다. 현재 제가 근무하는 곳은 100여대가 넘는 서버를 2명의 엔지니어가 관리를 하고 있습니다. 여러 종류의 서버로 구성이 되어 있기는 하지만 주로 리눅스 계열의 서버가 대부분인 상태이지요. 윈도우의 경우에는 Active Directory 구성을 하면 서버의 설정이나 정책들을 Group policy로 관리가 가능합니다만, 리눅스의 경우에는 이런 구성을 제공하고 있지 않습니다. 또한 최근에는 VM과 클라우드의 등장으로 관리를 해야되는 OS의 수가 계속 늘어나고 있었습니다. OS의 설정 변경이나 커널 업데이트등을 적..
-
오픈소스로 구성하는 데브옵스 시스템 - Docker 이미지 빌드 구성DevOps 2017. 11. 9. 00:34
지금까지는 오픈소스로 데브옵스 솔루션 구성을 완료 하였습니다.이제 마지막으로 젠킨스에서 Docker 이미지를 만들고 Marathon에서 이를 실행해 보도록 하겠습니다. 일단 gitlab에 project를 생성하고 index.html 파일을 commit 합니다. 그리고 jenkins와 gitlab을 연동하기 위해 User Settings > Access Tokens에서 access token key를 생성 합니다. 키 생성 버튼을 클릭하면 다음 화면에서 아래와 같은 키값이 나옵니다. 해당키를 잘 복사해 둡니다. 이제 Jenkins 구성을 해봅니다. 환경설정의 gitlab 부분에 아래와 같이 등록합니다. Credentials의 Add 버튼을 눌러 위에서 만든 access token key를 등록 합니다. 이..
-
오픈소스로 구성하는 데브옵스 시스템 - Gitlab 설치DevOps 2017. 10. 16. 23:24
여러분의 조직에서는 어떤 소스관리툴을 사용하고 계신가요?제가 다녔던 첫 개발회사에서는 Alienbrain이라는 scm을 사용하고 있었는데, 유료 라이선스이고, 소스코드 보다는 Art asset 관리에 유용한 툴로 기억을 합니다. 그래서 프로그래머 조직에서 그당시 유행하기 시작한 git을 도입하자는 의견이 많았고, 일부 개발자는 본인의 소스코드는 git으로 local repository를 만들어 관리하고는 했습니다.그러나 그당시에는 git을 손쉽게 사용할 수 있는 gui 툴이 부족하여 command를 익혀야 하는 노력이 필요로 했습니다. 그런데 최근에는 github의 유행으로 많은 개발조직이 git으로 소스관리를 하고 있습니다.다만 github는 private 저장소를 사용하기 위해서는 비용이 발생하게 됩..
-
오픈소스로 구성하는 데브옵스 시스템 - Nexus3 Repository 구성DevOps 2017. 10. 8. 00:48
회사 시스템으로 Docker 환경을 구성하시는 분들은 아무래도 빌드 이미지를 Docker Hub에 공유하기 어려울 수 있을 껍니다.물론 Docker Hub도 github와 마찬가지로 private repository를 제공하고 있습니다만....비용이 발생한다는 것과 계정 관리를 해야 된다는 이슈가 생깁니다. 우리는 오픈소스를 이용해서 하나의 시스템 환경에서 모든 플랫폼을 구성하는 것으로 계획을 세웠기에 private repository도 오픈소스 소프트웨어를 이용하여 구축을 해보도록 하겠습니다. 제가 찾은 오픈소스 소프트웨어는 Nexus로 아마 공용 라이브러리 저장소로 이용을 하고 계신분들도 있으실꺼라 추측이 됩니다. 이 Nexus가 3버전부터는 Docker를 지원하기 시작했네요.그리고 Nexus 자체도..
-
오픈소스로 구성하는 데브옵스 시스템 - Jenkins로 Docker 배포 구성DevOps 2017. 6. 6. 23:54
처음 빌드와 배포 업무를 담당 했을 때 수작업을 통해 일일이 배포를 하던 시절이 있었습니다. 그러다 매번 같은 파일을 업로드 하는 시간을 줄이고자 rsync를 이용하여 변경된 파일만 여러 서버에 동시에 배포하는 스크립트를 활용 했었습니다. 한단계 더 나아가 svn을 이용하여 배포에 대한 리비전 관리를 하였고, 배포중 문제가 발생하면 원래 잘되던 리비전으로 롤백을 하는 방식을 구성 했습니다. 그러나 최근에는 Jenkins가 CI툴의 대세가 된 듯 합니다.워낙에 다양한 플러그인이 존재하고 있어 왠만한 기능 구현이 다 된다고 보면 됩니다. 우리도 개발소스의 빌드부터 Docker 이미지의 생성 및 배포까지의 모든 자동화 작업을 위해 Jenkins를 구축해 보도록 하겠습니다. 다양한 설치 방법이 있지만 가장 심플..
-
오픈소스로 구성하는 데브옵스 시스템 - 서비스 디스커버리 구성DevOps 2017. 5. 21. 23:46
앞에서 Mesos 클러스터와 Marathon을 이용하여 서비스를 구성해 보았습니다. 그런데 marathon을 이용해 Application을 실행하게 되면, 어떤 Mesos slave에서 실행이 될지는 정해져 있지 않습니다. 또한 Instance는 임의의 포트를 할당 받게 되는데, 실제 사용자를 위한 서비스는 80 또는 443포트를 이용해야 합니다. 여기에 Mesos slave에는 다양한 서비스가 올라가고 이들은 보통 80 또는 443 포트를 이용해야 하기에 Virtual Host를 이용한 서비스 디스커버리도 필요로 합니다. 위의 모든 사항을 만족하기 위해 이제부터 Marathon-lb를 이용하여 서비스 디스커버리 및 로드밸런서 기능을 구현해 보도록 하겠습니다.Marathon-lb도 Marathon 프레임..