DevOps
-
Terraform 작동 방식 ✨DevOps/Terraform 2021. 7. 16. 00:29
Terraform은 인프라를 안전하고 효율적으로 구축, 변경, 관리하기 위한 도구입니다. Terraform은 논리적으로 Terraform Core 와 Terraform Plugin의 두 가지 주요 부분으로 나뉩니다 . Terraform Core는 RPC(원격 프로시저 호출)를 사용하여 Terraform Plugin과 통신하고 사용할 플러그인을 검색하고 로드하는 다양한 방법을 제공합니다. Terraform 플러그인의 중요성과 확장성을 모두 이해하려면 Terraform의 아키텍처를 이해하는 것이 중요합니다. 🎈Terraform Core Terraform Core는 Go 프로그래밍 언어로 작성된 정적으로 컴파일된 바이너리입니다. 컴파일된 바이너리는 Terraform을 사용하는 모든 사람을 위한 진입점인 명령줄..
-
[IaC] Terraform 모범 사례 & 컨벤션 💫DevOps/Terraform 2021. 6. 11. 22:14
📌 테라폼 문서 ✨ 문서화 모범 사례 테라폼 코드는 그 자체로 문서의 한 형태입니다. 간단한 언어로 배포한 인프라와 인프라 구성 방법을 정확하게 설명하고 있으나 자체 문서화 코드는 없습니다. 잘 쓰인 코드는 어떤 기능을 하는지 잘 알려주지만, 왜 그렇게 하는지 설명하지 않습니다. 그렇기 때문에 IaC를 포함한 모든 소프트웨어가 코드 자체를 넘어서는 문서가 필요합니다. 🚀 정의된 문서 github VPC Module 저장소의 README.md 문서를 참고하세요. 😉 🧩 정의된 문서(README)를 사용해야 하는 이유 🌈 테라폼 모듈에는 용도, 사용 이유, 사용 및 수정 방법을 설명하는 Readme가 있어야 합니다. 🌈 테라폼 코드 작성보다 먼저 Readme를 작성하는 것이 좋습니다. RDD (Readme ..
-
[Ansible] List 변수를 다른 구분자로 변환DevOps/Ansible 2020. 3. 4. 17:08
ㅁ 상황 Ansible Playbook에서 uri 모듈을 이용하여 HTTP GET 메서드로 데이터 정보를 가지고 오려고 한다. url에서 호출할 때 인벤토리에 'master'라는 그룹에 있는 호스트 서버 정보를 조회하려고 한다. # vim tes.yml - name: 'Get system board api information' uri: url: "https://{{ system_url }}/api/web/index.php/system/api/v1/server/detail/{{ groups['master'] }}" validate_certs: false method: GET body_format: json headers: Content-Type: application/json status_code: 20..
-
[Ansible] Playbook Keyword (v 2.9)DevOps/Ansible 2020. 3. 4. 10:19
Playbook Keywords ㅁ 앤서블 플레이북에서 사용할 수 있는 키워드입니다. ㅁ 키워드는 앤서블 동작 구성을 위한 여러 소스 중 하나입니다. ㅁ 각 소스의 상대적 우선순위에 대한 내용은 아래 사이트에서 확인하세요. Controlling how Ansible behaves: precedence rules — Ansible Documentation Controlling how Ansible behaves: precedence rules To give you maximum flexibility in managing your environments, Ansible offers many ways to control how Ansible behaves: how it connects to managed no..
-
[Ansible] YAML SyntaxDevOps/Ansible 2020. 2. 29. 20:26
YAML Syntax ㅁ Ansible 플레이북 (Configuration Management Language) 표현 방식으로 사용된다. ㅁ YAML는 XML이나 JSON과 같은 다른 일반적인 데이터 형식보다 사람이 읽고 쓰기가 쉽다. ㅁ YAML 작업을 위해 대부분의 프로그래밍 언어로 제공되는 라이브러리가 있다. YAML Basics ㅁ Ansible의 경우 거의 모든 YAML 파일이 목록(list)으로 시작한다. ㅁ 목록(list)의 각 항목은 일반적으로 "hash" or "dictionary"이라고 하는 key/value 쌍의 목록이다. ㅁ YAML 형식의 문서의 시작(---)과 끝(...)을 나타낸다. ㅁ 목록(list)의 대시(-) 공백으로 시작하는 동일한 들여 쓰기를 해야한다. --- # A ..
-
[Github] github + slack 연동하기DevOps/GitHub 2020. 2. 7. 06:23
협업도구 Slack + 분산 버전 관리 GitHub을 연동하면 GitHub에서 발생하는 상황에 대한 업데이트를 구독할 수 있다. 기능 소개 ㅁ GitHub 리포지토리에서 발생하는 상황에 대한 업데이트 • New commits • New pull requests • New issues • Code reviews • Deployment statuses ㅁ GitHub 활동 및 속성에 대한 링크를 공유할 때 Slack에 대한 자세한 정보를 팀에 제공 • Pull requests • Issues • Linked comments • Code snippets • Developer profiles ㅁ 슬래시 명령으로 조치 수행 • Close an issue or pull request • Reopen an issue..
-
[GitHub] gitlab 프로젝트 페이지 소개DevOps/GitHub 2020. 2. 6. 04:55
프로젝트 페이지 소개 프로젝트 이름이 "bootstrap"이고, twbs라는 사용자가 소유하고 있다 (twbs/bootstrap) ㅁ 프로젝트들이 잠김 열쇠 아이콘을 갖는데, 이 프로젝트가 비공개이며 협력자로 확실히 추가 된 사람들만 볼 수 있음을 의미 ㅁ Watch : 새로운 변화가 생길 때마다 알림을 받기 위해 리포지토리를 주시하고 있고, ㅁ Start: 즐겨찾기 프로젝트를 나타내는 별점을 주었고, ㅁ Fork: 리포지토리를 fork하였다는 것을 알 수 있다. Fork는 변경 내용을 프로젝트에 업로드하고 다른 사람들과 공유할 수 있는 Github에 자신만의 복사본을 만들었다는 거을 말한다. 페이지 아래에 보면 17,895번의 변경(commit)이 있고, 현재 36가지의 다른 history가 개발되고 ..
-
[GitHub] github 소개DevOps/GitHub 2020. 2. 6. 04:31
Git이란? Git은 버전 관리 시스템 파일의 변경 내역을 계속 추적하도록 개발 된 소프트웨어 Git으로 프로젝트를 개발하는 사람은 모두 현재 상태의 파일뿐만 아니라 그 프로젝트의 전체 이력을 가지고 있게 된다. GitHub란? GitHub는 Git 리포지토리를 업로드 할 수 있는 웹사이트를 말한다. 리포지토리를 공유할 수 있는 중앙저장소, 웹 기반 인터페이스, forking, pull requests, issues, wikis와 같은 기능을 제공하여 팀원들과 보다 효율적으로 변경을 구체화하고 토론하며 검토할 수 있게 해준다. Git을 사용하는 이유? 변경 취소 기능 실수를 했을 경우 구 버전의 작업 파일을 복구해 이전 단계로 돌아갈 수 있다. 모든 변경에 대한 완벽한 이력(history) 하루, 일주일..
-
[Git] .gitignore 파일 사용하기DevOps/Git 2020. 2. 6. 04:08
.gitignore 파일 이란? ㅁ .gitignore를 통해서 Git에 추가할 때 특정 파일을 추가되지 않도록 설정할 수 있다. ## .gitignore 파일 예시 ## $ cat .gitignore # terraform binary terraform.exe # terraform plugins .terraform/ # terraform state *.tfstate *.tfstate.backup .gitignore 파일 적용 ㅁ git의 캐시가 남아있을 경우 제대로 동작하지 않기 때문에 캐시를 비우고 실행해야 한다. git rm -r --cached . git add . git commit -m "fixed untracked files" git push .gitignore 사이트 ㅁ .gitignore ..
-
[Git] git-bash UI 프롬프트 비활성화DevOps/Git 2020. 2. 4. 07:12
증상 윈도우용 Git bash에서 push 할 때 사용자 이름/패스워드를 묻는 UI 기반 프롬프트가 표시된다. 매번 번거롭게 프롬프트 창이 열리는데 이 기능을 비활성화해보고 싶다. $ git push fatal: AggregateException encountered. ▒ϳ▒ ▒̻▒▒▒ ▒▒▒▒▒▒ ▒▒▒߽▒▒ϴ▒. Username for 'https://github.com': 설정 ㅁ Git 설정에서 git config --global core.askPass "" 으로 설정 ㅁ Git 설정에서 git config --global --unset core.askPass 으로 롤백 $ git config --global core.askPass "" $ git config --list | grep -i as..