분류 전체보기 719

Ansible vault

https://youtu.be/N2wzqgkUYD0 1. Ansible vault란? ansible vault는 ansible실행에 필요한 민감정보를 암호화/복호화합니다. github같은 공개된 코드저장소에 ansible 민감정보를 관리할때 꼭 사용해야 합니다. ansible vault를 사용하면 아래그림 오른쪽처럼 민감정보가 암호화됩니다. 그리고 ansible을 실행할 때 암호화된 값을 복호화합니다. 복호화키는 암호화에 사용한 비밀번호와 동일합니다. 복호화 키는 --ask-vault-pass인자로 전달합니다. ansible-playbook -i inventory playbook.yaml --ask-vault-pass {복호화 키} 2. 사용방법 처음 민감정보 파일을 생성하는 경우 ansible-vaul..

연재 시리즈 2024.01.14

Ansible playbook

https://youtu.be/sqj7lSCagO4 Ansible playbook은 Ansible task(작업할 내용)를 효율적으로 관리하고 실행합니다. 왜 효율적이라고 표현했는지 이 글에서 다룰려고 합니다. Ansible 작업할 내용을 파일로 관리하려면? Ansible에서 여러 task를 수행하려면 ansible 명령어를 여러번 실행해야 합니다. 아래 예제는 bob, alice, john계정을 생성하는 예제입니다. ansible -i ./inventory -m user -a "name=bob state=present" all ansible -i ./inventory -m user -a "name=alice state=present" all ansible -i ./inventory -m user -a ..

연재 시리즈 2024.01.14

Ansible 사용방법

https://youtu.be/F7LnYUqrrqE?si=sWpTFIcVgFUgaI-1 Ansible을 사용하기 위해 2가지 설정이 필요합니다 1. 첫 번째: SSH 연결 설정 Ansible은 SSH프로토콜로 통신을 하기 때문에 control-node와 managed-node간 ssh연결 설정이 필요합니다. ssh 연결을 하려면 control-node와 managed-node에서 공개키를 교환해야 합니다. 교환한 공개키는 파일로 저장됩니다. control-node: $HOME/.ssh/known_hosts managed-node: $HOME/.ssh/authorized_keys control-node에서 ssh-copy-id로 쉽게 공개키를 교환할 수 있습니다. ssh-copy-id를 사용하려면 mana..

연재 시리즈 2024.01.12

Ansible 소개

Ansible이란? Ansible은 여러 시스템에 코드를 동일하게 실행하는 도구입니다. 시스템 상태 체크, 시스템 구축 등 여러 시스템에 동일한 작업을 할 때 사용합니다. 아키텍처 Ansible은 control-node가 ansible을 실행하여 managed-node에 코드를 실행하는 구조입니다. control-node는 ssh프로콜을 사용하여 managed-node에 ansible모듈을 복사합니다. managed-node는 전달받은 ansible모듈을 파이썬으로 실행합니다. Ansible이 실행되는 동안 managed-node 프로세스 상태를 확인하면, 파이썬이 Ansible모듈을 실행하고 있는 것이 보입니다. Terrform과 비교 첫 번째 차이는 상태관리 입니다. Ansible은 상태가 없고 Te..

연재 시리즈 2024.01.09

Argo CD extension

ArgoCD extension기능 ArgoCD extension은 ArgoCD기본 기능을 확장합니다. ArgoCD UI 커스터마이징 헬스체크 커스터마이징 커스텀 버튼 추가 https://www.youtube.com/shorts/24zzkj0mYiw 설치 방법 extension 설치 방법은 initContainer를 사용해야 합니다. initContainer 환경변수 EXTENSION_URL에 설치할 extension을 명시하면 됩니다. mainContainer는 initContainer가 설치한 extension을 가져오기 위해 volumeMount로 가져옵니다. 예제 - Argo Rollouts UI extension 아래 예제는 argocd-server에 Argo Rollouts UI extensio..

ubuntu에서 pyenv설치 방법

1. pyenv git repo를 clone합니다. clone위치는 $HOME경로에 숨김디렉터리로 합니다. git clone https://github.com/pyenv/pyenv.git ~/.pyenv 2. 자기 쉘 설정파일(예: ~/.bashrc)에서 pyenv실행을 설정합니다. # bashrc echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc # zsh echo 'export PYENV_ROOT="$HOME/.pyenv"' >..