분류 전체보기 (307) 썸네일형 리스트형 4.1 ansible | [gitlab] docker를 이용한 설치 awx와 inventory, playbook, role 등을 연동할 gitlab을 docker를 사용하여 설치함. ## 필수 패키지 설치 yum -y install epel-release yum-utils git ## docker repo 추가 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ## docker, docker-compose 설치 yum -y install docker-ce yum -y install python3 python3-pip pip3 install --upgrade pip pip3 install docker-compose ## docker-compose PATH 환경 변수 추가.. 3.2 ansible | [AWX] GitLab 연동하기 Gitlab Project root(administrator) 계정으로 awx라는 project를 생성하고 playbook과 inventory 2개의 디렉토리를 생성 하였다. inventory : winrm을 이용하는 windows hosts로 plo 그룹에 plo1, plo2 이 호스트 등록 playbook : DNS 서비스를 stop/start 하는 간단한 playbook AWX Gitlab Credential 등록 ID/PASSWORD 방식 Credentials - ADD Credentials Type : Source Control Type Details : Username, Password 입력 (root 계정) ssh rsa key 방식 AWX가 SSH Client, Gitlab이 ssh ser.. 3.1 ansible | [AWX] 설치 개요 : ansible-tower의 오픈소스 버전으로 DOCKER 기반의 ansible manager (GUI) - 스케줄 기능과 작업 수행에 따른 알림 기능으로 시스템의 auto configure 기능 뿐만 아니라 cron 스케줄에도 유용할것으로 보임. 설치 : Centos7 기준 ## 필수 패키지 설치 [root@docker1 ~]# yum -y install epel-release yum-utils git ## docker 레포 추가 [root@docker1 ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ## ansible, pip 설치 [root@docker1 ~]# yum -y in.. 2.4 ansible | [roles][CentOS 시스템 초기 설정] role 수행(vault 포함) role 수행 [root@ANSIBLE roles]# pwd /etc/ansible/roles ## host 정의 [root@ANSIBLE roles]# cat ../hosts ... [test] test02 ansible_host={host ip} ansible_user=root ansible_port=22 ansible_connection=ssh ansible_ssh_pass="{ssh password}" test03 ansible_host={host ip} ansible_user=root ansible_port=22 ansible_connection=ssh ansible_ssh_pass="{ssh password}" ## role 수행 [root@ANSIBLE roles]# cat 00.init.i.. 2.3 ansible | [roles][CentOS 시스템 초기 설정] tasks main.yml [root@ANSIBLE tasks]# pwd /etc/ansible/roles/Init_Install/tasks [root@ANSIBLE tasks]# ll total 48 -rw-r--r-- 1 root root 1131 Feb 9 13:37 01.init.rsyslog_selinux.yml -rw-r--r-- 1 root root 648 Feb 9 13:37 02.init.add_user.yml -rw-r--r-- 1 root root 522 Feb 9 13:37 03.init.ssh_config.yml -rw-r--r-- 1 root root 213 Feb 9 13:38 04.init.yum_install.yml -rw-r--r-- 1 root root 739 Feb 9 13:38.. 2.2 ansible | [roles][CentOS 시스템 초기 설정] vars [root@ANSIBLE vars]# pwd /etc/ansible/roles/Init_Install/vars [root@ANSIBLE vars]# cat main.yml --- ## 생성할 사용자 그룹 지정 ugroups: {group1}: gid: {gid1} {group2}: gid: {gid2} ## 생성할 사용자 지정 uusers: {user1}: uid: {uid1} group: {group1} home: {user1 home} upassword: "{user1 password}" shell: /bin/bash {user2}: uid: {uid2} group: {group2} home: {user2 home} upassword: "{user2 password}" shell: /bin/bash .. 2.1 ansible | [roles][CentOS 시스템 초기 설정] README ## 작업을 수행하기 전 선작업을 README.md 파일에 써 놓음. ## ip, nds, hostname 작업 후 selinux disabled. ## 이후 재기동 후 role 작업 수행 [root@ANSIBLE Init_Install]# pwd /etc/ansible/roles/Init_Install [root@ANSIBLE Init_Install]# cat README.md Role Name ========= CentOS6,7 초기 설정 role Requirements ------------ 1. IP, DNS, HOSTNAME setting 2. selinux off and reboot ... 1.9 ansible | [test][playbook] docker container start|stop tomcat, docker container 등을 start|stop|restart 할건지 prompt로 입력 받아 실행. --- - name: startup or stop docker container hosts: all gather_facts: yes become: yes vars_prompt: - name: container_name # container 이름 입력 받는 변수 prompt: " input container name? " private: no - name: select prompt: " choose start|stop|restart [default: start]? " private: no default: start # default 갓 설정 tasks: - name: "{{ conta.. 1.8 ansible | [test][playbook] 파일 내용 수정 [root@ANSIBLE ansible]# cat lineinfile.yml --- - hosts: test02 become: true tasks: - lineinfile: path: /etc/nginx/nginx.conf line: include /etc/nginx/conf.d/*.conf; state: present notify: - restart nginx handlers: - name: restart nginx service: name: nginx state: restarted ## 파일 마지막에 추가됨(있으면 추가 안됨) 그리고 재시작 ## state 파리미터 ## absent : 삭제 1.7 ansible | [test][playbook] nginx 설치 [root@ANSIBLE ansible]# cat install_nginx.yml --- - name: "install nginx" hosts: test1 become: true tasks: - name: "yum install" yum: name: nginx state: installed notify: - restart nginx handlers: - name: restart nginx service: name: nginx state: restarted ## yum 모듈 설치 관련 state 파라미터 ## installed, present : 설치 ## latest : 최신 버전 설치 ## absent, removed : 삭제 ## handlers 는 tasks 와 기본적으로 하는 일은 같으나 차이점은.. 이전 1 ··· 27 28 29 30 31 다음