✔️ 정적 인벤토리 How to build your inventory — Ansible Documentation Ansible works against multiple managed nodes or “hosts” in your infrastructure at the same time, using a list or group of lists known as inventory. Once your inventory is defined, you use patterns to select the hosts or groups you want Ansible to run a docs.ansible.com 인벤토리란 ? ansible로 관리할 host들의 정보를 가지는 파일 기본 인벤토리 파일 : /etc/ansible/..
✔️ 관리 노드 접속 ✔️ SSH 접속 방법 패스워드 인증 키 쌍 인증 ✔️ 권한 상승(Privilege Escalation) Understanding privilege escalation: become — Ansible Documentation Understanding privilege escalation: become Ansible uses existing privilege escalation systems to execute tasks with root privileges or with another user’s permissions. Because this feature allows you to ‘become’ another user, different from the user docs.ansib..
✔️ Ansible이란 ? Python으로 구현된 오픈소스로써 서버의 프로비저닝, SW 배포 등 인프라를 구성하고 관리하는 것을 자동화할 수 있는 IaC 도구이다. IaC란 ? 기존 인프라의 쉘 스크립트, 수동의 CLI기반 프로비저닝 방식에서 탈피하여, 시스템을 코드 기반으로 자동 설치 및 구축, 관리, 프로비저닝을 구현하는 IT 인프라 구성 프로세스를 말한다. 기존에는 동일한 환경의 리눅스를 구성하기 위한 방식은 쉘 스크립트에 패키지 설치, 설정파일 수정, 서비스 활성화 등의 내용을 나열하고 스크립트를 실행하는 것이 일반적이었다. 하지만, 데이터 센터 중심의 인프라 환경에서 클라우드 환경으로 변화하고 관리해야 할 서버의 숫자가 급격하게 증가하는 요즘 동시에 많이 서버에 동일한 환경을 배포하는 상황이 발..
✔️ 시작 조건 제어 노드와 관리 노드 사이에 ssh 연결이 설정되어 있어야 한다. 아래와 같은 오류 발생 시 접속하려는 서버측에 클라이언트의 공개키가 등록되어 있는지 확인하고 만약 등록되어 있지 않다면 ~/.ssh 디렉토리에 존재하는 클라이언트의 공개키를 복사해 서버측의 .ssh/authorized_keys 파일에 붙여넣는다. ✔️ 인벤토리 생성 vi inventory.ini ✔️ ec2 인스턴스와 연결 확인 ✔️ Playbook 생성 vi install_http.yaml 첫번째 task는 "$yum install httpd latest"와 동일하여 Apache2를 설치한다. 두번째 task는 "$sudo service httpd start"와 동일하여 Apache2를 실행한다. ✔️ ansible-p..
✔️ Ansible 설치 # ansible 설치를 위한 레포지토리 검색 sudo yum search ansible # 레포지토리를 추가해주는 명령어 sudo yum install centos-release-ansible-29.noarch # 실질적으로 ansible을 설치하는 명령어 sudo yum install ansible -y # ansible 버전 확인 ansible --version [vagrant@controller ~]$ ansible (tab 2번) ansible ansible-console ansible-doc-2.7 ansible-playbook ansible-pull-2.7 ansible-2 ansible-console-2 ansible-galaxy ansible-playbook-2 ..
쿠버네티스에서 새로운 Pod을 만들기 위한 과정 (시퀀스 다이어그램) 1. Master Node의 kube-apiserver에 Pod 생성을 요청 2. kube-apiserver는 etcd에 새로운 상태를 저장 3. kube-apiserver가 etcd의 상태 변경을 확인하여, kube-controller-manager에게 새로운 Pod 생성을 요청 4. kube-controller-manager는 새로운 Pod를 생성(no assign)을 kube-apiserver에 전달하고, 이를 전달받은 kube-apiserver는 etcd에 저장 5. kube-scheduler는 kube-apiserver에 의해 Pod(no assign)가 확인되면, 조건에 맞는 Worker Node를 찾고 해당 Pod를 할당하..