# ansible installer

1. 사전 작업 필요
- CentOS ansible 설치 방법
	: 00_ansible_setup 폴더 내 setup_local.sh 실행
- 각 서버에 ssh-key 배포
- 확인 명령어 <br>
	: ansible all -m ping -i <inventory file><br><br>
2. 수정필요파일
- inventory
```yaml
[master]
10.10.43.200

[worker1]
10.10.43.201

[worker2]
10.10.43.202

[cluster:children]
master
worker1
worker2


[master:vars]
kubernetes_role="master"
runtime="containerd"

[worker1:vars]
kubernetes_role="node"
runtime="containerd"

[worker2:vars]
kubernetes_role="node"
runtime="containerd"

#각 노드들의 IP 입력
```

- cmoa_install.yaml
```yaml
---
- hosts: cluster
  become: true
  gather_facts: true
  environment:
    KUBECONFIG: /root/.kube/ansible_config
  vars:
    REGISTRY: 10.10.31.243:5000/cmoa3
    REPO: "nexus"
  roles:
    - role: cmoa_install
      delegate_to: 127.0.0.1
```
|변수|설명|default|
|-----|-----|-----|
|KUBECONFIG|CMOA를 설치하려는 클러스터의 kubeconfig 경로와 파일로 설정|/root/.kube/ansible_config|
|REGISTRY|이미지를 가져올 Registry 주소|10.10.31.243:5000/cmoa3|
|REPO|docker hub에서 이미지를 가져올 경우 dockerhub<br>nexus에서 가져올 경우 nexus 입력<br>그 외 "" 혹은 둘중 아무거나 입력|dockerhub|
|delegate_to|ansible task를 수행할 서버 선택, 수정 X|127.0.0.1|

- roles/cmoa_install/defaults/main.yml
```yaml
cmoa_version: relx.x.x
# 기본 값으로 릴리즈 버전이 입력 되어 있음
```

3. 실행 방법
```yaml
ansible-playbook -i inventory cmoa_install.yaml
```
