728x90
반응형
Missing sudo password 에러 해결방법
#  Ansible 플레이북 실행했을때 다음과 같은 메시지가 나올경우
# 실행계정은 cumulus 이다

192.168.56.61
192.168.56.62
192.168.56.63
192.168.56.64

fatal: [192.168.56.63]: FAILED! => {"msg": "Missing sudo password"}
fatal: [192.168.56.64]: FAILED! => {"msg": "Missing sudo password"}

 

$ 실행계정이 root가 아니고 cumulus 계정이다.

$ ansible-playbook test.yml -k
SSH password:

PLAY [Change the hostname] **************************************************************************************

TASK [lldp service restart] *************************************************************************************
fatal: [192.168.56.64]: FAILED! => {"msg": "Missing sudo password"}
fatal: [192.168.56.63]: FAILED! => {"msg": "Missing sudo password"}
[WARNING]: Platform linux on host 192.168.56.62 is using the discovered Python interpreter at /usr/bin/python,
but future installation of another Python interpreter could change this. See
https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information.
changed: [192.168.56.62]
[WARNING]: Platform linux on host 192.168.56.61 is using the discovered Python interpreter at /usr/bin/python,
but future installation of another Python interpreter could change this. See
https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information.
changed: [192.168.56.61]

PLAY RECAP ******************************************************************************************************
192.168.56.61              : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=                                                                                                                      0
192.168.56.62              : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=                                                                                                                      0
192.168.56.63              : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=                                                                                                                      0
192.168.56.64              : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=                                                                                                                      0

 

해결방법 

 

$ 해당 서버에 접속한다, 에러가난 192.168.56.53, 192.168.56.54 번

# root로 접속

# vi /etc/sudoers

cumulus ALL=(ALL) NOPASSWD: ALL   <--- 추가

 

 

728x90
반응형
LIST

'Ansible' 카테고리의 다른 글

Ansible - 10 (명령어)  (0) 2023.12.31
Ansible - 09 (ansible 실행 오류 조치)  (0) 2023.12.30
Ansible - 10 (명령어)  (0) 2023.12.29
Ansible - 08 (rols 설치)  (1) 2023.12.23
Ansible - 07 (실습하기 좋은 Vagrant 파일)  (2) 2023.12.23
728x90
반응형

 

 

# ansible all -m shell -a "timedatectl | grep 'Time zone';"
# 서버의 시간대 가져 오기

 

 

#  ansible nginx 설치 

# ubuntu.yml 
---
- name: Install nginx on Ubuntu
  hosts: Ubuntu
  gather_facts: no
  become: yes

  tasks:
    - name: install nginx web server
      apt: pkg=nginx state=present update_cache=yes
    - name: Upload default index.html for web server
      get_url: url=https://www.nginx.com dest=/usr/share/nginx/html/
               mode=0644 validate_certs=no​



 

 

728x90
반응형
LIST
728x90
반응형
# 실행조건
- 호스트 노드 3대
-  192.168.56.51  CentOS     tnode1-centos.exp.com
- 192.168.56.54  Ubuntu       tnode2-ubuntu.exp.com
- 192.168.56.74 RHEL          tnode3-rhel.exp.com

# /etc/hosts
192.168.56.51 tnode1-centos.exp.com
192.168.56.54 tnode2-ubuntu.exp.com
192.168.56.57 tnode3-rhel.exp.com

# ansible.cfg
[defaults]
inventory = /etc/ansible/inventory

# inventory 파일
[web]
tnode1-centos.exp.com
tnode2-ubuntu.exp.com
[all]
tnode1-centos.exp.com
tnode2-ubuntu.exp.com
tnode3-rhel.exp.com

 

# ansible web -m sheel -a "uptime"    or   # ansible all -m sheel -a "uptime" 
실행은 되나 아래와 같은 에러가 남 
- host  중에 ubuntu 에서 에러남

[DEPRECATION WARNING]: Distribution Ubuntu 18.04 on host tnode2-ubuntu.exp.com should use /usr/bin/python3, but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this host. See https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information. This feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.

[지원 중단 경고]: 호스트 tnode2-ubuntu.exp.com의 배포 Ubuntu 18.04는 /usr/bin/python3을 사용해야 하지만 이전 Ansible 릴리스와의 하위 호환성을 위해 /usr/bin/python을 사용하고 있습니다.
향후 Ansible 릴리스에서는 기본적으로 이 호스트에 대해 검색된 플랫폼 Python을 사용하게 됩니다.
자세한 내용은 https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html을 참조하세요.
이 기능은 버전 2.12에서 제거됩니다.
ansible.cfg에서 deprecation_warnings=False를 설정하여 사용 중단 경고를 비활성화할 수 있습니다.

 

# 조치 
# python2와 python3 을 공통으로 맞추고  
 --> 맞추는 방법 https://hwpform.tistory.com/67   Ansible - 05 (python3 설정) 참조


# inventory 파일 아래 추가
ansible_python_interpreter=/usr/bin/python3



# 다시실행 
# ansible all -m ping 

--> tnode1번에서 다시 오류가 남 (원인 tnode1에  python3가 설치가 안되어 있음)
# tnode1번 서버에서 python3 설치

# 다시실행 
#  ansible all -m ping 

 

 

728x90
반응형
LIST

'Ansible' 카테고리의 다른 글

[Ansible] Missing sudo password 에러 나올때  (0) 2024.04.20
Ansible - 10 (명령어)  (0) 2023.12.31
Ansible - 10 (명령어)  (0) 2023.12.29
Ansible - 08 (rols 설치)  (1) 2023.12.23
Ansible - 07 (실습하기 좋은 Vagrant 파일)  (2) 2023.12.23
728x90
반응형

 

# ansible.cfg

[defaults]
inventory       = /etc/ansible/inventory
remote_user     = root
ask_pass        = false
inject_facts_as_vars = false
roles_path      = /etc/ansible/roles
#roles_path     = /etc/ansible/my-ansible/roles

 

# inventory 파일  
# cat inventory

[elastic]
tnode1-centos.exp.com
tnode2-ubuntu.exp.com
tnode3-rhel.exp.com

[tnode]
tnode1-centos.exp.com
tnode2-ubuntu.exp.com
tnode3-rhel.exp.com

[web]
tnode1-centos.exp.com
tnode2-ubuntu.exp.com

[db]
tnode3-rhel.exp.com

[host2]
tnode1-centos.exp.com
tnode3-rhel.exp.com


[all:children]
web
db

[all:vars]
user=ansible
#ansible_python_interpreter=/usr/bin/python

 

 

옵션 풀 네임 내용
-i -- inventory-file 적용될 노드들을 선택
-m -- module-name 사용하는 모듈
-a --  사용하는 명령어
  -- ask-pass 암호를 묻도록 설정
  -- list-hosts 적용되는 노드들 확인

 

# ansible db -m ping -k

 

 

# ansible db -m shell -a "df -k"

 

 

# ansible web -m shell -a "free -h" 

 

 

# 여러가지 조합 사용법 
# ansible host2 -m user -a "name=aeroshim"
 
# ansible host2 -m shell -a "tail -n 1 /etc/passwd"

# ansible host2 -m user -a "name=aeroshim state=absent"
                                                                            state=present는 설치
                                                                            state=absent 는 삭제
728x90
반응형
LIST

'Ansible' 카테고리의 다른 글

Ansible - 10 (명령어)  (0) 2023.12.31
Ansible - 09 (ansible 실행 오류 조치)  (0) 2023.12.30
Ansible - 08 (rols 설치)  (1) 2023.12.23
Ansible - 07 (실습하기 좋은 Vagrant 파일)  (2) 2023.12.23
Ansible - 06 (시스템 자원 수집)  (0) 2023.12.23
728x90
반응형

 

엔서블 갤럭시 사이트에서 해당 roles 설정 및 다운로드 설치 방법

 

# 서버 환경

 

Ansible 설치환경
# /etc/ansible/

Ansible.cfg 파일

[defaults]
inventory = /etc/ansible/inventory
remote_user = root
ask_pass = false
inject_facts_as_vars = false
roles_path = /etc/ansible/roles

 

# 사이트 주소

 

https://galaxy.ansible.com/ui/

 

Ansible Galaxy

 

galaxy.ansible.com

 

# 해당 roles 검색 

 

 

# centos7에 maria db Roles 

 

 

install 방법
# ansible-galaxy role install myrostadler.centos7_mariadb

---> 실행하고 나면  /etc/ansible/roles/myrostadler.centos7_mariadb  디렉토리가 생성됨

Documentation 탭을 클릭하면 아래와 같이 yml 파일 나와 있음

 

(예) MariaDB.yml      (주의) : hosts: (해당 설치될 호스트)

---
- name: Install MariaDB on Centos7
  hosts: all
  become: true
  vars:
    env_database_root_password: foo
    env_database_user: bar
    env_database_password: baz
  tasks:
  - include_role: 
      name: myrostadler.centos7_mariadb

 

 

# 실행 방법 

 

 # ansible-playbook  MariaDB.yml


근데 실행이 안됨, T.T 

728x90
반응형
LIST
728x90
반응형

 

# Ansible 및 쿠버네티스 등 실습하기 좋은 vagrant 파일입니다.  
 쿠버네티스, 앤서블 실습할때 쓰는 보던 책입니다. 

 

https://www.yes24.com/Product/Goods/65306887

 

우아하게 앤서블 - 예스24

현직 앤서블 강사가 직접 쓴 데브옵스의 모든 것IT 관리자들에게 IT 자원들을 운영하는 일은 항상 고민거리였다. 특히, 현재 가상화 및 클라우드 환경이 도래하면서 한 명의 IT 관리자가 운영해야

www.yes24.com

https://www.yes24.com/Product/Goods/102099414

 

컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 - 예스24

실무에 바로 적용할 수 있는 컨테이너 인프라 환경 기술!IT 자원을 효율적으로 빠르게 사용할 수 있는 방법으로 컨테이너 환경이 거론되었으나 그동안 관리가 어렵고 복잡해서 상용되기 어려웠

www.yes24.com

 

 

https://app.vagrantup.com/boxes/search

 

Vagrant Cloud by HashiCorp

Vagrant Cloud by HashiCorp

app.vagrantup.com

 

 

 

728x90
반응형
LIST

'Ansible' 카테고리의 다른 글

Ansible - 10 (명령어)  (0) 2023.12.29
Ansible - 08 (rols 설치)  (1) 2023.12.23
Ansible - 06 (시스템 자원 수집)  (0) 2023.12.23
Ansible - 05 (python3 설정)  (1) 2023.12.17
Ansible - 04 (Ansible_galaxy)  (0) 2023.12.17
728x90
반응형

 

엔서블 서버에서 각 노드에 대한 시스템 정보를 추출하면 화면
--> 자원정보 결과를 각 노드 /var/log/daily_check 파일에 저장함

 

서버 해당 정보
서버IP 호스트명 Node 명
192.168.56.50  Ansible-Server  
192.168.56.51  Ansible-Node01 tnode1-cetnos.exp.com
192.168.56.54  Ansible-Node04 tnode2-ubuntu.exp.com
192.168.56.57  Ansible-Node07 tnode3-rhel.exp.com

 

/etc/hosts 파일 및 ANSIBLE 인벤토리 파일 inventoy or hosts 파일 /etc/ansible/ 

 

/etc/hosts 파일

 

/etc/ansible/inventory 파일

 

# 자원정보 추출 yml 파일   *  (실행) # ansible-playbook monitoring_facts.yml
---

- hosts: tnode
  vars:
    log_directory: /var/log/daily_check

  tasks:
    - name: Print system info
      ansible.builtin.debug:
        msg:
        - "################ Start #####################"
        - "Date: {{ ansible_facts.date_time.date }} {{ ansible_facts.date_time.time }}" 
        - "HostName: {{ ansible_facts.hostname }}"
        - "OS: {{ ansible_facts.distribution }}"
        - "OS Version: {{ ansible_facts.distribution_version }}"
        - "OS Kernel: {{ ansible_facts.kernel }}"
        - "CPU Cores: {{ ansible_facts.processor_vcpus }}"
        - "Memory: {{ ansible_facts.memory_mb.real }}"
        - "Interfaces: {{ ansible_facts.interfaces }}"
        - "IPv4: {{ ansible_facts.all_ipv4_addresses }}"
        - "Devices: {{ ansible_facts.mounts }}"
        - "################# End #######################" 
      register: result

    - name: Create log directory
      ansible.builtin.file:
        path: "{{ log_directory }}"
        state: directory

    - name: Print logs to log file
      ansible.builtin.shell: |
        echo "{{ item }}" >> "{{ log_directory }}"/system_info.logs
      loop: "{{ result.msg }}"

 

# 추출결과   각 노드 파일의 /var/log/daily_check/system_info.logs 로그로 저장됨
################ Start #####################
Date: 2023-12-23 15:25:20
HostName: ansible-node04
OS: Ubuntu
OS Version: 18.04
OS Kernel: 4.15.0-213-generic
CPU Cores: 1
Memory: {u'total': 481, u'used': 446, u'free': 35}
Interfaces: [u'lo', u'eth1', u'eth0']
IPv4: [u'192.168.56.54', u'10.0.2.15']
Devices: [{u'block_used': 1280265, u'uuid': u'29b74d93-f08b-42be-ae5c-a61723438b4e', u'size_total': 42235019264, u'block_total': 10311284, u'mount': u'/', u'block_available': 9031019, u'size_available': 36991053824, u'fstype': u'ext4', u'inode_total': 2621440, u'options': u'rw,relatime,data=ordered', u'device': u'/dev/sda1', u'inode_used': 145297, u'block_size': 4096, u'inode_available': 2476143}]
################# End #######################

 

 

728x90
반응형
LIST

'Ansible' 카테고리의 다른 글

Ansible - 08 (rols 설치)  (1) 2023.12.23
Ansible - 07 (실습하기 좋은 Vagrant 파일)  (2) 2023.12.23
Ansible - 05 (python3 설정)  (1) 2023.12.17
Ansible - 04 (Ansible_galaxy)  (0) 2023.12.17
Ansible - 03 (Ansible_playbook)  (0) 2023.12.17
728x90
반응형
Linux CentOS 7버전에서 Python3 설치 및 버전 변경 

1. python3설치
2. python2.7에서 python 3.6 버전 변경

 

 

# python3 설치 
# yum install python3​

 

# python 설치버전 및 경로 확인  (ver 2.7.5)
# python -V
Python 2.7.5

# which python
/usr/bin/python​

 

# python3 설치버전 및 경로 확인 (ver 3.6.12)
# python3 -V
Python 3.6.8

# which python3
/usr/bin/python3

 

리눅스에서 어떤 파이선 버젼 사용하고 있는지 확인
# update-alternatives --config python​

  (아무것도 안나오면 설정이 안되어 있음)

 

파이선 등록 
# update-alternatives --install /bin/python python /usr/bin/python2 1
# update-alternatives --install /bin/python python /usr/bin/python3 2
파이선 버젼 프로그램 선택 확인

 

# update-alternatives --config python​

*+2 번 선택

# python -V
# python3 -V​

둘다 Python 3.6.8 인지 확인

 

 

파이선 잘못 등록했을때 삭제  
# update-alternatives --remove python "/// 잘못 설정한 경로"
<remove 할때 Command 아래 경로 삭제 하면 됨>

# update-alternatives --remove python /usr/bin/python3
# update-alternatives --remove python /bin/python2.7
# update-alternatives --remove python /opt/rh/rh-python36/root/usr/bin/python      
# update-alternatives --remove python /bin/python python /bin/python3.6​

 

 

728x90
반응형
LIST

'Ansible' 카테고리의 다른 글

Ansible - 07 (실습하기 좋은 Vagrant 파일)  (2) 2023.12.23
Ansible - 06 (시스템 자원 수집)  (0) 2023.12.23
Ansible - 04 (Ansible_galaxy)  (0) 2023.12.17
Ansible - 03 (Ansible_playbook)  (0) 2023.12.17
Ansible - 03 (Ansible_facts변수)  (0) 2023.12.16
728x90
반응형

 

앤서블 갤럭시에 대한 설명

 

https://galaxy.ansible.com/ui/

 

Ansible Galaxy

 

galaxy.ansible.com

 

 

# ansible-galaxy role -h

 

positional arguments :

ROLE_ACTION 설명 비고
init Initialize new role with the base structure of a role.  
remove Delete roles from roles_path.  
delete Removes the role from Galaxy. It does not remove or alter the actual GitHub repository.  
list Show the name and version of each role installed in the roles_path.  
search Search the Galaxy database by tags, platforms, author and multiple keywords.  
import Import a role  
setup Manage the integration between Galaxy and the given source.  
info View more details about a specific role.  
install Install role(s) from file(s), URL(s) or Ansible Galaxy  

 

# ansible-galaxy role init my-role   (롤생성)

 

/etc/ansible/ 아래 my-role 디렉토리가 생성됨 
디렉토리 구조를 보는 명령어는 Linux의 tree 명령어임
tree 명령어가 안먹힐 경우 
# yum install tree 설치 

 

< /etc/ansible 아래 my-role 디렉토리가 생성됨 >
< tree 명령어가 안먹힐 경우 yum insall tree 설치 >

 

 

# ansible-galaxy role search postgresql --platforms Ubuntu
ansible-gallaxy 사이트에  우분투에 설치가능한 postgresql 롤을 검색

 

# ansible-galaxy role info buluma.postgres
검색된 롤에 대한 정보를 확인

 

#  ansible-galaxy role install -p roles buluma.postgres
롤 설치 및 경로 확인
# tree buluma.postgres

 

# ansible-galaxy role list
ansible role 환경설정
ansible.cfg 파일에 롤 경로 설정

# vi ansible.cfg
roles_path = /etc/ansible/my-ansible/roles 

ansible.cfg 파일

 

 

# ansible-galaxy role remove buluma.postgres
다운로드한 role 를 삭제 

 

728x90
반응형
LIST
728x90
반응형

 

시스템 상태 모니터링 예제   

 

# check-services1.yml
---
- hosts: all
  tasks:
    - name: Check sshd and rsyslog and NetworkManager state
      ansible.builtin.service:
        name: "{{ item }}"
        state: started
      loop:
        - sshd
        - rsyslog
        - NetworkManager

 

 

 

 

728x90
반응형
LIST

'Ansible' 카테고리의 다른 글

Ansible - 05 (python3 설정)  (1) 2023.12.17
Ansible - 04 (Ansible_galaxy)  (0) 2023.12.17
Ansible - 03 (Ansible_facts변수)  (0) 2023.12.16
Ansible - 02 (앤서블 접근을 위한 SSH 인증 구성)  (0) 2023.12.16
Ansible - 01 (환경구성)  (0) 2023.12.09
728x90
반응형

 

Ansible-facts 변수로 출력되는 값 확인

 

수많은 서버 자원에 대한 서버 자원 현황, 컨피그, 커널 파라미터 등을 관리할때 편하겠다.
- 호스트 명, 커널 버젼, 네트워크 IP, 운영체계 버젼, CPU, Core 갯수, 메모리, 저장장치 용량 등

 

# ansible tnode2-ubuntu.exp.com -m ansible.builtin.setup  >> ansible.builtin.setup.txt 

  (결과물 첨부 텍스트 파일 참조)

ansible.builtin.setup.txt
0.09MB

 

 

Ansible-Facts 샘플   facts1.yml
[root@ansible-server my-ansible]# cat facts1.yml
---
- hosts: db
  tasks:
  - name: Print all facts    
    ansible.builtin.debug:
        msg: >
            host name is {{ ansible_hostname }}
            CPU Core : {{ ansible_processor_cores }}
            python_version : {{ ansible_python_version }}

 

# ansible-playbook facts1.yml

< 실행결과 >

 

 

 

728x90
반응형
LIST

'Ansible' 카테고리의 다른 글

Ansible - 04 (Ansible_galaxy)  (0) 2023.12.17
Ansible - 03 (Ansible_playbook)  (0) 2023.12.17
Ansible - 02 (앤서블 접근을 위한 SSH 인증 구성)  (0) 2023.12.16
Ansible - 01 (환경구성)  (0) 2023.12.09
Ansible Server SETUP Module INFO  (0) 2023.11.18
728x90
반응형

 

서버는 아래와 같이 설치됨

 

IP OS hosts 비고
192.168.56.50 Centos 7 ansible-server SERVER
192.168.56.51 Centos 7 tnode1-cetnos.exp.com node
192.168.56.54  ubuntu 14 tnode2-ubuntu.exp.com node
192.168.56.57 RHEL 8 tnode3-rhel.exp.com node

 

Ansible Server와 Ansible Node 간 SSH 인증 구성

 

#  Ansible Server에서 ssh-keygen을 실행함
# ssh-keygen

[root@ansible-server ansible]# ssh-keygen      (중간에 물어보는 프롬프트에 enter 및 Overwrite 시 y 입력)


# 서버에 생성된 ssh 키값을 node 서버에 복사합니다.  (중간에 물어보는 프롬프트는 root 패스워드 입니다.)
# ssh-copy-id root@192.168.56.51
# ssh-copy-id root@192.168.56.54
# ssh-copy-id root@192.168.56.57
( 서버에서 작업을 하고 node가 3대 이므로 3대 반복 작업)

 

 

Ansible에서 정상 통신되는지 확인 

 

host 파일 inventory 파일
 192.168.56.51   tnode1-centos.exp.com 
 192.168.56.54   tnode2-ubuntu.exp.com
 192.168.56.57   tnode3-rhel.exp.com
 [web]
 tnode1-centos.exp.com
 tnode2-ubuntu.exp.com

 [db]
 tnode3-rhel.exp.com

 [all:children] 
 web
 db
# ansible -m ping all
# ansible -m ping web
# ansible -m ping db

# ansible -m ping tnode1-centos.exp.com
# ansible -m ping tnode2-ubuntu.exp.com
# ansible -m ping tnode3-rhel.exp.com
< 같은 결과가 나와야 함 >

 

 

 

 

 

 

 

 

 

 

728x90
반응형
LIST

'Ansible' 카테고리의 다른 글

Ansible - 03 (Ansible_playbook)  (0) 2023.12.17
Ansible - 03 (Ansible_facts변수)  (0) 2023.12.16
Ansible - 01 (환경구성)  (0) 2023.12.09
Ansible Server SETUP Module INFO  (0) 2023.11.18
Ansible-CMDB (CentOS/7) 기준  (1) 2023.11.18
728x90
반응형
o Ansible를 이용한 서버 자동화 테스트를 위하여 PC 및 서버 환경 설정방법에 대한 설명입니다.

- PC에 테스트를 위해서 Virtualbox와 Vagrant를 설치하고
- 테스트 서버를 4대 설치합니다
   ... Ansible SERVER(CentOS) 1대, Ansible NODE(CentOS, Ubuntu, Redhat) 3대

o  해당 Ansible 자동화 테스트는
"컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 (조훈 저자, 길벗)"  
"앤서블로 시작하는 인프라 자동화 (장현정 저자, 한빛미디어)"
참조하여 작성 및 테스트 예정입니다.. 

 

먼저 PC에 가상화를 돌리기 위한 virtualbox와  VM 이미지 다운로드 vargrant 를 설치합니다.

 https://www.vagrantup.com/

https://www.virtualbox.org/

 

Oracle VM VirtualBox

Welcome to VirtualBox.org! News Flash New October 17th, 2023VirtualBox 7.0.12 released! Oracle today released a 7.0 maintenance release which improves stability and fixes regressions. See the Changelog for details. New October 17th, 2023VirtualBox 6.1.48 r

www.virtualbox.org

 

서버 설치 계획 

 

ansible-server CentOS 8 192.168.56.50   ansible-server         root / vargrant    centOS
node1 : CentOS 9 192.168.56.51   tnode1-centos         root / vargrant    centOS
node 2 : Ubuntu 14 192.168.56.55   tnode2-ubuntu         root / vargrant    ubuntu
node 3 : RHEL 8.8 192.168.56.57   tnode3-rhel             root / vagrant   rhel

 

테스트는 아래책 들을 기준으로 했습니다 

 

https://www.yes24.com/Product/Goods/102099414

 

컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 - 예스24

실무에 바로 적용할 수 있는 컨테이너 인프라 환경 기술!IT 자원을 효율적으로 빠르게 사용할 수 있는 방법으로 컨테이너 환경이 거론되었으나 그동안 관리가 어렵고 복잡해서 상용되기 어려웠

www.yes24.com

https://www.yes24.com/Product/Goods/65306887

 

우아하게 앤서블 - 예스24

현직 앤서블 강사가 직접 쓴 데브옵스의 모든 것IT 관리자들에게 IT 자원들을 운영하는 일은 항상 고민거리였다. 특히, 현재 가상화 및 클라우드 환경이 도래하면서 한 명의 IT 관리자가 운영해야

www.yes24.com


http://m.11st.co.kr/products/m/6304569037?NaPm=ct=lpyt9q3s%7Cci=731655dd387a1a3a4a5b8b18682eecf4c5b757a6%7Ctr=boknx%7Csn=17703%7Chk=3a1404b97e0f801e30d3f61c693a58e86febd4cd&utm_term=&utm_campaign=%B3%D7%C0%CC%B9%F6m_%B0%A1%B0%DD%BA%F1%B1%B3+%B1%E2%BA%BB&utm_source=%B3%D7%C0%CC%B9%F6_M_PCS&utm_medium=%B0%A1%B0%DD%BA%F1%B1%B3

 

[11번가] 앤서블로 시작하는 인프라 자동화 -기초부터 실무까지, 플레이북 예제로 마스터하는 앤

도서/음반>컴퓨터와 인터넷>IT 전문서>개발/OS/DB, 가격 : 30600원

m.11st.co.kr

- 앤서블로 시작하는 인프라 자동화에 있는 소스자료   https://github.com/naleejang/Easy-Ansible

 
https://app.vagrantup.com/boxes/search 에 관련 서버 설치정보 확인

 

GitHub - naleeJang/Easy-Ansible: Project for Ansible Automaion Platform

Project for Ansible Automaion Platform. Contribute to naleeJang/Easy-Ansible development by creating an account on GitHub.

github.com

 

Vagrant Cloud by HashiCorp

Vagrant Cloud by HashiCorp

app.vagrantup.com

 

o 웹페이지에 centos/8 vargrant 파일을 검색합니다.

 

o vagrantfiel 에 다운로드할 OS 정보를 확인합니다.  config.vm.box = " generic/centos8"

   ubuntu, RHEL 로 똑같습니다.

 

 

 
C:\HashiCorp\Vagrantfile 
 

Vagrant 서버 이미지 및 Vagrantfile 

 

CentOS 8
Vagrant.configure("2") do |config|
  config.vm.box = "centos/stream8"
end
Ubuntu 20.04 Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/focal64"
end
RHEL8 Vagrant.configure("2") do |config|
  config.vm.box = "generic/rhel8"
end

 

# Vagrant 파일은 해당링크 https://hwpform.tistory.com/74 (실습하게 좋은 vagrant 파일)

 

 

# 해당 vagrantfiel을  C:\HashiCorp\Vagrantfile 에 복사해서

 

# vagrant up 할때변경된 Vagrantfile OS가 적용안되어  Vagrant.exe 삭제,  C:\HashiCorp\ 폴더 삭제 반복
 
# 보통 Vagrant 다운받은 OS root 패스워드는 "vagrant" 이나 root 패스워드가 안먹힘
CentOS, Ubuntu 는  vagrant/vagrant User 로 로그인 하여 root 패스워드 변경
 
$ sudo passwd root  
 
# RHEL 8는 위와 같은 방식으로 패스워드 변경이 안되어서
https://www.lesstif.com/system-admin/centos-8-rhel-8-reset-root-password-in-centos-8-86311229.html 

 

CentOS 8/RHEL 8 루트 암호를 잊어버렸을 때 복구하기(Reset root password in CentOS 8)

touch 명령은 파일명 오타를 내도 확인할 수 없으므로 실행 결과를 확인할 수 있는 fixfiles onboot 명령을 권장합니다.

www.lesstif.com

방식으로 적용하여 패스워드를 변경함

 

# 또는 rockos8 패스워드 다른변경 방법

https://foxydog.tistory.com/147  
 

 

Rocky Linux - 싱글 유저 모드 및 ROOT 패스워드 초기화

이전에 CentOS 8 싱글 유저 모드 및 ROOT 패스워드 초기화 포스팅을 진행한 적이 있습니다. 오랜만에 테스트를 위해 만들어 놓은 가상서버 Rocky 9.X 버전 콘솔에 접근을 하니 제가 세팅해 놓은 ROOT 패

foxydog.tistory.com

 

서버별 IP설정

 

CentOS 8 # nmtui
Ubuntu 20.04
# apt install network-manager
# apt installnet-tools
# nmtui
RHEL8 # nmtui
/etc/sysconfig/network-scripts/

 
 

ssh 접속 설정 & PuTTY & root 접속 설정

 

CentOS 8
RHEL8
 /etc/ssh/sshd_config 

PermitRootLogin yes로 변경
PasswordAuthentication yes로 변경

# systemctl restart sshd 
Ubuntu 20.04
/etc/ssh/sshd_config  PermitRootLogin yes로 변경
PasswordAuthentication yes로 변경

# service sshd restart

 

 ansible server에 ansible 설치
# dnf install epel-release

# dnf install ansible 

 

# ect/hosts 파일에 node 서버  등록
# cat /etc/hosts
192.168.56.51 tnode1-cetnos.exp.com
192.168.56.54 tnode2-ubuntu.exp.com
192.168.56.57 tnode3-rhel.exp.com

 

# etc/ansible/inventory 파일 생성
# cat /etc/ansible/inventory 

[web]                                               # 192.168.56.51, 192.168.56.54 해당
tnode1-centos.exp.com
tnode2-ubuntu.exp.com

[db]                                                  # 192.168.56.57 해당
tnode3-rhel.exp.com

[all:children]                                     # 192.168.56.51, 192.168.56.54, 192.168.56.57 해당
web
db                       

 

# etc/ansible/ansible.cfg 생성
# cat /etc/ansible/ansible.cfg

[defaults]
inventory = /etc/ansible/inventory            # inventory 또는 ansible로 관리할 서버 리스트 파일 및 경로
remote_user = root
ask_pass = false

[privilege_escalation]
become = true
become_method = sudo
become_user = root
become_ask_pass = false
728x90
반응형
LIST
728x90
반응형
# ansible host(192.168.56.53) -m setup > SetupModulInfo.txt
엔서블로 yml 스크립트 작성시 필요한 각종 함수(Module) 정보를 출력함

 

아래 yml 파일은 os가 CentOS 또는 Ubuntu 종류에 따라 nginx를 설치하는 yml 파일임  ( 출처 sysnet4admin )
---
- name: Install nginx on the nodes
  hosts: nodes (192.168.56.53)
  become: yes

  tasks:
    - name: install epel-release for CentOS
      action: "{{ ansible_pkg_mgr }} name=epel-release state=latest"
      when: ansible_distribution == 'CentOS'
    - name: install nginx web server for CentOS
      action: "{{ ansible_pkg_mgr }} name=nginx state=present"
      when: ansible_distribution == 'CentOS'
    - name: upload default index.html for web server
      get_url: url=https://www.nginx.com dest=/usr/share/nginx/html/ mode=0644
      when: ansible_distribution == 'CentOS'
    - name: start nginx web server
      service: name=nginx state=started
      when: ansible_distribution == 'CentOS'
    - name: install nginx web server for Ubuntu
      action: "{{ ansible_pkg_mgr }} name=nginx state=present update_cache=yes"
      when: ansible_distribution == 'Ubuntu'
    - name: upload default index.html for web server
      get_url: url=https://www.nginx.com dest=/usr/share/nginx/html/ 
               mode=0644 validate_certs=no
      when: ansible_distribution == 'Ubuntu'

 

# ansible 192.168.56.53 -m setup > 53.txt          * 아래는 53.txt 파일에 대한 출력 결과물이다. 

 

192.168.56.53 | SUCCESS => {
    "ansible_facts": {
        "ansible_all_ipv4_addresses": [
            "192.168.56.53", 
            "10.0.2.15"
        ], 
        "ansible_all_ipv6_addresses": [
            "fe80::a00:27ff:feaf:60e0", 
            "fe80::5054:ff:fe4d:77d3"
        ], 
        "ansible_apparmor": {
            "status": "disabled"
        }, 
        "ansible_architecture": "x86_64", 
        "ansible_bios_date": "12/01/2006", 
        "ansible_bios_version": "VirtualBox", 
        "ansible_cmdline": {
            "BOOT_IMAGE": "/boot/vmlinuz-3.10.0-1127.el7.x86_64", 
            "LANG": "en_US.UTF-8", 
            "biosdevname": "0", 
            "console": "ttyS0,115200n8", 
            "crashkernel": "auto", 
            "elevator": "noop", 
            "net.ifnames": "0", 
            "no_timer_check": true, 
            "ro": true, 
            "root": "UUID=1c419d6c-5064-4a2b-953c-05b2c67edb15"
        }, 
        "ansible_date_time": {
            "date": "2023-03-19", 
            "day": "19", 
            "epoch": "1679199226", 
            "hour": "04", 
            "iso8601": "2023-03-19T04:13:46Z", 
            "iso8601_basic": "20230319T041346239496", 
            "iso8601_basic_short": "20230319T041346", 
            "iso8601_micro": "2023-03-19T04:13:46.239496Z", 
            "minute": "13", 
            "month": "03", 
            "second": "46", 
            "time": "04:13:46", 
            "tz": "UTC", 
            "tz_offset": "+0000", 
            "weekday": "Sunday", 
            "weekday_number": "0", 
            "weeknumber": "11", 
            "year": "2023"
        }, 
        "ansible_default_ipv4": {
            "address": "10.0.2.15", 
            "alias": "eth0", 
            "broadcast": "10.0.2.255", 
            "gateway": "10.0.2.2", 
            "interface": "eth0", 
            "macaddress": "52:54:00:4d:77:d3", 
            "mtu": 1500, 
            "netmask": "255.255.255.0", 
            "network": "10.0.2.0", 
            "type": "ether"
        }, 
        "ansible_default_ipv6": {}, 
        "ansible_device_links": {
            "ids": {
                "sda": [
                    "ata-VBOX_HARDDISK_VB7426d174-3fc9655d"
                ], 
                "sda1": [
                    "ata-VBOX_HARDDISK_VB7426d174-3fc9655d-part1"
                ]
            }, 
            "labels": {}, 
            "masters": {}, 
            "uuids": {
                "sda1": [
                    "1c419d6c-5064-4a2b-953c-05b2c67edb15"
                ]
            }
        }, 
        "ansible_devices": {
            "sda": {
                "holders": [], 
                "host": "IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)", 
                "links": {
                    "ids": [
                        "ata-VBOX_HARDDISK_VB7426d174-3fc9655d"
                    ], 
                    "labels": [], 
                    "masters": [], 
                    "uuids": []
                }, 
                "model": "VBOX HARDDISK", 
                "partitions": {
                    "sda1": {
                        "holders": [], 
                        "links": {
                            "ids": [
                                "ata-VBOX_HARDDISK_VB7426d174-3fc9655d-part1"
                            ], 
                            "labels": [], 
                            "masters": [], 
                            "uuids": [
                                "1c419d6c-5064-4a2b-953c-05b2c67edb15"
                            ]
                        }, 
                        "sectors": "83884032", 
                        "sectorsize": 512, 
                        "size": "40.00 GB", 
                        "start": "2048", 
                        "uuid": "1c419d6c-5064-4a2b-953c-05b2c67edb15"
                    }
                }, 
                "removable": "0", 
                "rotational": "1", 
                "sas_address": null, 
                "sas_device_handle": null, 
                "scheduler_mode": "noop", 
                "sectors": "83886080", 
                "sectorsize": "512", 
                "size": "40.00 GB", 
                "support_discard": "0", 
                "vendor": "ATA", 
                "virtual": 1
            }
        }, 
        "ansible_distribution": "CentOS",               # 일부 서버 셋팅에 확인 안되는 부분 있음 : "OtherLinux",  "N/A" 등 
        "ansible_distribution_file_parsed": true, 
        "ansible_distribution_file_path": "/etc/redhat-release", 
        "ansible_distribution_file_variety": "RedHat", 
        "ansible_distribution_major_version": "7", 
        "ansible_distribution_release": "Core", 
        "ansible_distribution_version": "7.9", 
        "ansible_dns": {
            "nameservers": [
                "10.0.2.3"
            ]
        }, 
        "ansible_domain": "", 
        "ansible_effective_group_id": 1000, 
        "ansible_effective_user_id": 1000, 
        "ansible_env": {
            "HOME": "/home/vagrant", 
            "LANG": "en_US.UTF-8", 
            "LESSOPEN": "||/usr/bin/lesspipe.sh %s", 
            "LOGNAME": "vagrant", 
            "LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:", 
            "MAIL": "/var/mail/vagrant", 
            "PATH": "/usr/local/bin:/usr/bin", 
            "PWD": "/home/vagrant", 
            "SELINUX_LEVEL_REQUESTED": "", 
            "SELINUX_ROLE_REQUESTED": "", 
            "SELINUX_USE_CURRENT_RANGE": "", 
            "SHELL": "/bin/bash", 
            "SHLVL": "2", 
            "SSH_CLIENT": "192.168.56.50 50676 22", 
            "SSH_CONNECTION": "192.168.56.50 50676 192.168.56.53 22", 
            "SSH_TTY": "/dev/pts/1", 
            "TERM": "xterm", 
            "USER": "vagrant", 
            "XDG_RUNTIME_DIR": "/run/user/1000", 
            "XDG_SESSION_ID": "8", 
            "_": "/usr/bin/python"
        }, 
        "ansible_eth0": {
            "active": true, 
            "device": "eth0", 
            "features": {
                "busy_poll": "off [fixed]", 
                "fcoe_mtu": "off [fixed]", 
                "generic_receive_offload": "on", 
                "generic_segmentation_offload": "on", 
                "highdma": "off [fixed]", 
                "hw_tc_offload": "off [fixed]", 
                "l2_fwd_offload": "off [fixed]", 
                "large_receive_offload": "off [fixed]", 
                "loopback": "off [fixed]", 
                "netns_local": "off [fixed]", 
                "ntuple_filters": "off [fixed]", 
                "receive_hashing": "off [fixed]", 
                "rx_all": "off", 
                "rx_checksumming": "off", 
                "rx_fcs": "off", 
                "rx_gro_hw": "off [fixed]", 
                "rx_udp_tunnel_port_offload": "off [fixed]", 
                "rx_vlan_filter": "on [fixed]", 
                "rx_vlan_offload": "on", 
                "rx_vlan_stag_filter": "off [fixed]", 
                "rx_vlan_stag_hw_parse": "off [fixed]", 
                "scatter_gather": "on", 
                "tcp_segmentation_offload": "on", 
                "tx_checksum_fcoe_crc": "off [fixed]", 
                "tx_checksum_ip_generic": "on", 
                "tx_checksum_ipv4": "off [fixed]", 
                "tx_checksum_ipv6": "off [fixed]", 
                "tx_checksum_sctp": "off [fixed]", 
                "tx_checksumming": "on", 
                "tx_fcoe_segmentation": "off [fixed]", 
                "tx_gre_csum_segmentation": "off [fixed]", 
                "tx_gre_segmentation": "off [fixed]", 
                "tx_gso_partial": "off [fixed]", 
                "tx_gso_robust": "off [fixed]", 
                "tx_ipip_segmentation": "off [fixed]", 
                "tx_lockless": "off [fixed]", 
                "tx_nocache_copy": "off", 
                "tx_scatter_gather": "on", 
                "tx_scatter_gather_fraglist": "off [fixed]", 
                "tx_sctp_segmentation": "off [fixed]", 
                "tx_sit_segmentation": "off [fixed]", 
                "tx_tcp6_segmentation": "off [fixed]", 
                "tx_tcp_ecn_segmentation": "off [fixed]", 
                "tx_tcp_mangleid_segmentation": "off", 
                "tx_tcp_segmentation": "on", 
                "tx_udp_tnl_csum_segmentation": "off [fixed]", 
                "tx_udp_tnl_segmentation": "off [fixed]", 
                "tx_vlan_offload": "on [fixed]", 
                "tx_vlan_stag_hw_insert": "off [fixed]", 
                "udp_fragmentation_offload": "off [fixed]", 
                "vlan_challenged": "off [fixed]"
            }, 
            "hw_timestamp_filters": [], 
            "ipv4": {
                "address": "10.0.2.15", 
                "broadcast": "10.0.2.255", 
                "netmask": "255.255.255.0", 
                "network": "10.0.2.0"
            }, 
            "ipv6": [
                {
                    "address": "fe80::5054:ff:fe4d:77d3", 
                    "prefix": "64", 
                    "scope": "link"
                }
            ], 
            "macaddress": "52:54:00:4d:77:d3", 
            "module": "e1000", 
            "mtu": 1500, 
            "pciid": "0000:00:03.0", 
            "promisc": false, 
            "speed": 1000, 
            "timestamping": [
                "tx_software", 
                "rx_software", 
                "software"
            ], 
            "type": "ether"
        }, 
        "ansible_eth1": {
            "active": true, 
            "device": "eth1", 
            "features": {
                "busy_poll": "off [fixed]", 
                "fcoe_mtu": "off [fixed]", 
                "generic_receive_offload": "on", 
                "generic_segmentation_offload": "on", 
                "highdma": "off [fixed]", 
                "hw_tc_offload": "off [fixed]", 
                "l2_fwd_offload": "off [fixed]", 
                "large_receive_offload": "off [fixed]", 
                "loopback": "off [fixed]", 
                "netns_local": "off [fixed]", 
                "ntuple_filters": "off [fixed]", 
                "receive_hashing": "off [fixed]", 
                "rx_all": "off", 
                "rx_checksumming": "off", 
                "rx_fcs": "off", 
                "rx_gro_hw": "off [fixed]", 
                "rx_udp_tunnel_port_offload": "off [fixed]", 
                "rx_vlan_filter": "on [fixed]", 
                "rx_vlan_offload": "on", 
                "rx_vlan_stag_filter": "off [fixed]", 
                "rx_vlan_stag_hw_parse": "off [fixed]", 
                "scatter_gather": "on", 
                "tcp_segmentation_offload": "on", 
                "tx_checksum_fcoe_crc": "off [fixed]", 
                "tx_checksum_ip_generic": "on", 
                "tx_checksum_ipv4": "off [fixed]", 
                "tx_checksum_ipv6": "off [fixed]", 
                "tx_checksum_sctp": "off [fixed]", 
                "tx_checksumming": "on", 
                "tx_fcoe_segmentation": "off [fixed]", 
                "tx_gre_csum_segmentation": "off [fixed]", 
                "tx_gre_segmentation": "off [fixed]", 
                "tx_gso_partial": "off [fixed]", 
                "tx_gso_robust": "off [fixed]", 
                "tx_ipip_segmentation": "off [fixed]", 
                "tx_lockless": "off [fixed]", 
                "tx_nocache_copy": "off", 
                "tx_scatter_gather": "on", 
                "tx_scatter_gather_fraglist": "off [fixed]", 
                "tx_sctp_segmentation": "off [fixed]", 
                "tx_sit_segmentation": "off [fixed]", 
                "tx_tcp6_segmentation": "off [fixed]", 
                "tx_tcp_ecn_segmentation": "off [fixed]", 
                "tx_tcp_mangleid_segmentation": "off", 
                "tx_tcp_segmentation": "on", 
                "tx_udp_tnl_csum_segmentation": "off [fixed]", 
                "tx_udp_tnl_segmentation": "off [fixed]", 
                "tx_vlan_offload": "on [fixed]", 
                "tx_vlan_stag_hw_insert": "off [fixed]", 
                "udp_fragmentation_offload": "off [fixed]", 
                "vlan_challenged": "off [fixed]"
            }, 
            "hw_timestamp_filters": [], 
            "ipv4": {
                "address": "192.168.56.53", 
                "broadcast": "192.168.56.255", 
                "netmask": "255.255.255.0", 
                "network": "192.168.56.0"
            }, 
            "ipv6": [
                {
                    "address": "fe80::a00:27ff:feaf:60e0", 
                    "prefix": "64", 
                    "scope": "link"
                }
            ], 
            "macaddress": "08:00:27:af:60:e0", 
            "module": "e1000", 
            "mtu": 1500, 
            "pciid": "0000:00:08.0", 
            "promisc": false, 
            "speed": 1000, 
            "timestamping": [
                "tx_software", 
                "rx_software", 
                "software"
            ], 
            "type": "ether"
        }, 
        "ansible_fibre_channel_wwn": [], 
        "ansible_fips": false, 
        "ansible_form_factor": "Other", 
        "ansible_fqdn": "ansible-node03", 
        "ansible_hostname": "ansible-node03", 
        "ansible_hostnqn": "", 
        "ansible_interfaces": [
            "lo", 
            "eth1", 
            "eth0"
        ], 
        "ansible_is_chroot": true, 
        "ansible_iscsi_iqn": "", 
        "ansible_kernel": "3.10.0-1127.el7.x86_64", 
        "ansible_kernel_version": "#1 SMP Tue Mar 31 23:36:51 UTC 2020", 
        "ansible_lo": {
            "active": true, 
            "device": "lo", 
            "features": {
                "busy_poll": "off [fixed]", 
                "fcoe_mtu": "off [fixed]", 
                "generic_receive_offload": "on", 
                "generic_segmentation_offload": "on", 
                "highdma": "on [fixed]", 
                "hw_tc_offload": "off [fixed]", 
                "l2_fwd_offload": "off [fixed]", 
                "large_receive_offload": "off [fixed]", 
                "loopback": "on [fixed]", 
                "netns_local": "on [fixed]", 
                "ntuple_filters": "off [fixed]", 
                "receive_hashing": "off [fixed]", 
                "rx_all": "off [fixed]", 
                "rx_checksumming": "on [fixed]", 
                "rx_fcs": "off [fixed]", 
                "rx_gro_hw": "off [fixed]", 
                "rx_udp_tunnel_port_offload": "off [fixed]", 
                "rx_vlan_filter": "off [fixed]", 
                "rx_vlan_offload": "off [fixed]", 
                "rx_vlan_stag_filter": "off [fixed]", 
                "rx_vlan_stag_hw_parse": "off [fixed]", 
                "scatter_gather": "on", 
                "tcp_segmentation_offload": "on", 
                "tx_checksum_fcoe_crc": "off [fixed]", 
                "tx_checksum_ip_generic": "on [fixed]", 
                "tx_checksum_ipv4": "off [fixed]", 
                "tx_checksum_ipv6": "off [fixed]", 
                "tx_checksum_sctp": "on [fixed]", 
                "tx_checksumming": "on", 
                "tx_fcoe_segmentation": "off [fixed]", 
                "tx_gre_csum_segmentation": "off [fixed]", 
                "tx_gre_segmentation": "off [fixed]", 
                "tx_gso_partial": "off [fixed]", 
                "tx_gso_robust": "off [fixed]", 
                "tx_ipip_segmentation": "off [fixed]", 
                "tx_lockless": "on [fixed]", 
                "tx_nocache_copy": "off [fixed]", 
                "tx_scatter_gather": "on [fixed]", 
                "tx_scatter_gather_fraglist": "on [fixed]", 
                "tx_sctp_segmentation": "on", 
                "tx_sit_segmentation": "off [fixed]", 
                "tx_tcp6_segmentation": "on", 
                "tx_tcp_ecn_segmentation": "on", 
                "tx_tcp_mangleid_segmentation": "on", 
                "tx_tcp_segmentation": "on", 
                "tx_udp_tnl_csum_segmentation": "off [fixed]", 
                "tx_udp_tnl_segmentation": "off [fixed]", 
                "tx_vlan_offload": "off [fixed]", 
                "tx_vlan_stag_hw_insert": "off [fixed]", 
                "udp_fragmentation_offload": "on", 
                "vlan_challenged": "on [fixed]"
            }, 
            "hw_timestamp_filters": [], 
            "ipv4": {
                "address": "127.0.0.1", 
                "broadcast": "", 
                "netmask": "255.0.0.0", 
                "network": "127.0.0.0"
            }, 
            "ipv6": [
                {
                    "address": "::1", 
                    "prefix": "128", 
                    "scope": "host"
                }
            ], 
            "mtu": 65536, 
            "promisc": false, 
            "timestamping": [
                "rx_software", 
                "software"
            ], 
            "type": "loopback"
        }, 
        "ansible_local": {}, 
        "ansible_lsb": {}, 
        "ansible_machine": "x86_64", 
        "ansible_machine_id": "4b38f45955af66429a6e7e9040f9a362", 
        "ansible_memfree_mb": 176, 
        "ansible_memory_mb": {
            "nocache": {
                "free": 362, 
                "used": 124
            }, 
            "real": {
                "free": 176, 
                "total": 486, 
                "used": 310
            }, 
            "swap": {
                "cached": 0, 
                "free": 2046, 
                "total": 2047, 
                "used": 1
            }
        }, 
        "ansible_memtotal_mb": 486, 
        "ansible_mounts": [
            {
                "block_available": 9623569, 
                "block_size": 4096, 
                "block_total": 10480385, 
                "block_used": 856816, 
                "device": "/dev/sda1", 
                "fstype": "xfs", 
                "inode_available": 20939939, 
                "inode_total": 20971008, 
                "inode_used": 31069, 
                "mount": "/", 
                "options": "rw,seclabel,relatime,attr2,inode64,noquota", 
                "size_available": 39418138624, 
                "size_total": 42927656960, 
                "uuid": "1c419d6c-5064-4a2b-953c-05b2c67edb15"
            }
        ], 
        "ansible_nodename": "ansible-node03", 
        "ansible_os_family": "RedHat", 
        "ansible_pkg_mgr": "yum", 
        "ansible_proc_cmdline": {
            "BOOT_IMAGE": "/boot/vmlinuz-3.10.0-1127.el7.x86_64", 
            "LANG": "en_US.UTF-8", 
            "biosdevname": "0", 
            "console": [
                "tty0", 
                "ttyS0,115200n8"
            ], 
            "crashkernel": "auto", 
            "elevator": "noop", 
            "net.ifnames": "0", 
            "no_timer_check": true, 
            "ro": true, 
            "root": "UUID=1c419d6c-5064-4a2b-953c-05b2c67edb15"
        }, 
        "ansible_processor": [
            "0", 
            "GenuineIntel", 
            "Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz"
        ], 
        "ansible_processor_cores": 1, 
        "ansible_processor_count": 1, 
        "ansible_processor_threads_per_core": 1, 
        "ansible_processor_vcpus": 1, 
        "ansible_product_name": "VirtualBox", 
        "ansible_product_serial": "NA", 
        "ansible_product_uuid": "NA", 
        "ansible_product_version": "1.2", 
        "ansible_python": {
            "executable": "/usr/bin/python", 
            "has_sslcontext": true, 
            "type": "CPython", 
            "version": {
                "major": 2, 
                "micro": 5, 
                "minor": 7, 
                "releaselevel": "final", 
                "serial": 0
            }, 
            "version_info": [
                2, 
                7, 
                5, 
                "final", 
                0
            ]
        }, 
        "ansible_python_version": "2.7.5", 
        "ansible_real_group_id": 1000, 
        "ansible_real_user_id": 1000, 
        "ansible_selinux": {
            "config_mode": "enforcing", 
            "mode": "enforcing", 
            "policyvers": 31, 
            "status": "enabled", 
            "type": "targeted"
        }, 
        "ansible_selinux_python_present": true, 
        "ansible_service_mgr": "systemd", 
        "ansible_ssh_host_key_ecdsa_public": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEFLGbE+UjrBCTJzGQGQpJuWBHpjc5kxfSCmRrxHYXo1XqtHT11huXegxPSdCtev4MV9UtNGS5SSOrFyM46uubc=", 
        "ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAIKZDZmJ30g1NEYAiVNFV5IJiRD7iiujBRAkrFMZ8W/8j", 
        "ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDAY5gSpWQ89ELcY2Yszi2y7YKESZEjvV6vJqp1jXSOSynDIGJl4wUVHGYLG4Ukj8KmDfeoB5suN/Fuh/APTVFQSb8Nc3DzLDNcChzdZVegcS1RiWf2hUjihqgPlhfl3s0Utgros+Z3AwstQwem/R3GTIJffj2Cj8kALsrYy4fmqEFNUT8dCvZKPpKVYNRs9ZtBI0O0YYkIHfJREmcK1ecQqRR+KEvC/pOG9o4Uj3w1cBQndGTjyii4G7ESx8X77p/ML8nb7G84OIVtKP8TqvftaDPPPfHsnzVHzk6LzRGkbLQDsaZeOGEe+UAYzbsyAS3Wyqbox0q18Kitlvb+u5Rx", 
        "ansible_swapfree_mb": 2046, 
        "ansible_swaptotal_mb": 2047, 
        "ansible_system": "Linux", 
        "ansible_system_capabilities": [
            ""
        ], 
        "ansible_system_capabilities_enforced": "True", 
        "ansible_system_vendor": "innotek GmbH", 
        "ansible_uptime_seconds": 973, 
        "ansible_user_dir": "/home/vagrant", 
        "ansible_user_gecos": "vagrant", 
        "ansible_user_gid": 1000, 
        "ansible_user_id": "vagrant", 
        "ansible_user_shell": "/bin/bash", 
        "ansible_user_uid": 1000, 
        "ansible_userspace_architecture": "x86_64", 
        "ansible_userspace_bits": "64", 
        "ansible_virtualization_role": "guest", 
        "ansible_virtualization_type": "virtualbox", 
        "gather_subset": [
            "all"
        ], 
        "module_setup": true
    }, 
    "changed": false
}

 

728x90
반응형
LIST

'Ansible' 카테고리의 다른 글

Ansible - 03 (Ansible_playbook)  (0) 2023.12.17
Ansible - 03 (Ansible_facts변수)  (0) 2023.12.16
Ansible - 02 (앤서블 접근을 위한 SSH 인증 구성)  (0) 2023.12.16
Ansible - 01 (환경구성)  (0) 2023.12.09
Ansible-CMDB (CentOS/7) 기준  (1) 2023.11.18
728x90
반응형
Ansible-CMDB & WEB-Server 만들기 
# yum install nginx -y   
 
- Ansible Server : 192.168.56.50 이고
- /usr/share/nginx/html/index.html       / WEB-server html 경로  
 
- page 확인

 

Ansible-cmdb 설치
https://ansible-cmdb.readthedocs.io/en/latest/installation                     * 설치주소 참조
 
# git clone https://github.com/fboender/ansible-cmdb.git                       *  git으로 설치함
   /usr/local/lib/ansible-cmdb                                                                    * 왼쪽 경로로 디렉토리가 생성됨

# cd /usr/local/lib/ansible-cmdb

# sudo bash -c ". build.sla && install"                                                       * ansible-cmdb 설치파일 
   Installed in /usr/local/

   /usr/local/lib/ansible-cmdb/ansible-cmdb.py                                           * 이게 설치파일인가 보다

# /usr/bin/./python /usr/local/lib/ansible-cmdb/ansible-cmdb.py                 * 파이선으로 돌리라고 함
  
# cd /usr/local/lib/ansible-cmdb                                                                   * 이 경로로 가서
 
# mkdir out                                                                                                   * out 디렉토리로 생성

$ ansible -m setup --tree /usr/local/lib/ansible-cmdb/out/ all   (vagrant 계정으로)
  위 명령을 root로 실행하니 ssh_keyscan 값이 없어서 에러남 
  vagrant 계정으로 ssh_keyscan 으로 생성되어 있으므로 vargant 스크립트 돌림
< vargant 계정으로 /etc/ansible/hostst 파일을 인식한 파일 known_hosts >

 

< host 파일이 생성되는 화면 ... 생략 >
< /usr/local/lib/ansible-cmdb/out/ 경로에 파일이 생성됨 /etc/ansible/hosts 파일에 5개 테스트 호스트 가지고 있음>

# ansible-cmdb -i /etc/ansible/hosts out/ > /usr/share/nginx/html/ansible-cmdb.html 
                                                                                                                      * cmdb 데이터를 web서버 경로로 생성
   /usr/share/nginx/html/   html 경로 퍼미션을 일단 777로 하고 root로 돌림
   (vagrant 계정이로 돌리니 html 디렉토리 퍼미션 에러,,일단 퍼미션은 나중에 맞추기로 함)

# http://192.168.56.50/ansible-cmdb.html 파일 확인

< 56, 56 번 버는 안켜놓고 돌림 >

 

# 호스트 서버 ip를 클릭하면 # ansible -m setup 셋업으로 추출된 정보가 표출됨

 

 

 

 

728x90
반응형
LIST

+ Recent posts