네트워크/네트워크 가상화, 자동화

네트워크/네트워크 가상화, 자동화

Anycast Gateway

Anycast란?내가 처음 Anycast에 대해서 배웠을 땐 멀티캐스트처럼 그룹에게 트래픽을 전송하는 대신 가장 가까운 노드에게 전송하는 방식이라고 배웠다. 하지만 그 땐 그게 어떻게 작동하는지 이해가 잘 되지 않았는데 아래의 내용을 듣고 보면 이해가 확실히 될 것이다.Anycast는 여러 개의 장치에 IP 중복 문제를 일으키지 않고도 하나의 IP를 설정할 수 있는 방식이다. 애니캐스트 IP는 대체적으로 이중화를 위해 설정되는데 만약에 애니캐스트 IP에 접근하게 되면 가장 가까운 노드에 접근하게 된다. “가장 가까운”이라는 뜻은 IGP 또는 BGP에 의해서 가장 최적의 경로로 설정된, 또는 같은 LAN 상에 있다면 가장 빨리 ARP응답을 보낸 노드의 장치를 의미한다. Anycast Gateway란?VXL..

네트워크/네트워크 가상화, 자동화

Ansible Tags

Tags? 만약 플레이북이 너무 커진다면 플레이북 안에서 특정 플레이만 실행하고 나머지는 실행하지 않고 싶을 수 있다. 이때 이를 가능하게 해주는 것이 ansible tag이다. 이는 개별 task에 다르게 설정할 수 있고 여러 태스크에 동일한 tag를 설정할 수도 있다. tasks: - name: ping: tags: - ping_hosts 기본적으로 위의 형식으로 적게된다. 예시를 위해 known_hosts를 등록하는 task와 ping task를 한 play에 적고 tag를 지정해주었다. ansible-playbook [playbook file] --list-tags 위 코드는 플레이북에 작성된 태그를 리스트화 해준다. 또한 아래 명령어를 통해 해당 태그가 어떤 task에 할당되어 있는지도 확인할 ..

네트워크/네트워크 가상화, 자동화

Ansible facts

Ansible facts 💡 ansible fact는 ansible의 내장 모듈인 setup과 debug 모듈에 의해 실행될 수 있습니다 💡 gather fact를 비활성화 하면 facts 변수를 이용할 수 없습니다. task에서 setup 또는 debug 모듈을 통해서도 facts를 수집할 수 없습니다. ansible facts는 remote host에 대한 정보를 의미하며 OS, IP address, hostname 등등의 정보를 포함한다. ansible을 실행하면 자동으로 remote host에 대한 정보를 수집하고 수집한 정보 는 ansible_ 이라는 접두사를 붙여 저장한다. playbook이 아닌 ad-hoc 명령어에서는 setup 모듈을 이용하여 ansible fact를 수집할 수 있다. 이..

네트워크/네트워크 가상화, 자동화

Ansible known hosts 자동 등록 & 무시 방법

ssh는 처음 접속하는 대상에게 키를 받아올 때 신뢰할 수 있는 대상인지 확인하기 위해 사용자에게 물어보는 과정을 거치고 신뢰할 수 있다고 확인된 대상에게만 세션을 수립하고 known hosts에 등록한다. 하지만 ansible을 이용할 때 이는 굉장히 불편한데 동적 인벤토리를 이용할 때 새로운 노드가 추가될 때마다 아래와 같이 플레이북에서 신뢰할 수 있는 질의를 물어보기 때문이다. 이를 해결할 수 있는 방법은 여러가지가 있다. 먼저 환경 변수에 질의자체를 하지 않도록 정의하는 것이다. host_key_checking = False 위와 같이 적게되면 위 상황에서 질의 자체를 하지 않는다. 하지만 굉장히 보안적으로 좋지 않다. 따라서 플레이 북에 플레이를 지정하여 주는 것이 좋은 방법이다. ssh 파일에..

네트워크/네트워크 가상화, 자동화

Ansible Overview(config, inventory, dynamic inventory, playbook)

💡 Ansible은 yaml 형식뿐만 아니라 ini 파일 형식도 지원한다. 대부분 인벤토리 파일은 ini 방식, playbook은 yaml 형식으로 작성하는 것 같으나 이 글은 일관성을 위해 뚝심있게 yaml 형식 위주로 작성된다. 💡 Ansible은 파이썬으로 개발되었기에 파이썬 모듈들을 통해서 대상 노드들과 통신한다. 따라서 Ansible을 깔면서 파이썬도 같이 깔아줘야한다. 이 글은 ansible의 기초 이론을 대충 이해하고 있다는 가정하에 실습 위주로 작성된다. 환경변수 먼저 ansible 환경변수 파일부터 알아보도록 하겠다. apt install ansible ansible 엔진은 ansible 명령을 실행할 때 모든 환경 설정 및 세팅이 들어있는 ansible.cfg 환경변수 파일을 참고하여 ..

코춘대길
'네트워크/네트워크 가상화, 자동화' 카테고리의 글 목록