DevOps課程-Configuration Management with Ansible 23
Overview
這邊要完成的即是Jenkins PIPELINE中執行Ansible Playbook
大致步驟如下:
1.建立Digital Ocean上開一台Droplet機台建構Jenkins
- 該Jenkins Server可能會是容器形式,然後安裝必要的工具在這容器內
- 像是kubectl工具,Terraform工具等,讓Jenkins Jobs可以使用
2.建構另一台專為執行Ansible的Server
3.在上述那台機器上安裝Ansible
- 如果課程前面講述的,我們可以在本機(如果是Mac)或是Jenkins Server上安裝Ansible當作控制機
- 或者是一般建議的獨立的一台Ansible執行機台做Ansible腳本工作
最終結果就是會有一台獨立的Jenkins Server與一台獨立的Ansible Server
兩台都是在Digital Ocean上面的Droplet
4.撰寫Jenkins PIPELINE驅動Ansible Playbook,去設置EC2兩台機器
- 撰寫Jenkins PIPELINE,過程會關聯到一個Java Maven專案
- 並且Jenkinsfile會去驅動Ansible腳本
- Ansible腳本內容是前面做過安裝docker,docker compose,起docker容器
- 也就是沿用前面寫的腳本去設置EC2上的兩台機器
1.建立Digital Ocean上開一台Droplet機台建構Jenkins
這項講師是直接沿用以前課程建立的機台,直接跳過,可以參考以前筆記建構
2.建構另一台專為執行Ansible的Server
連同前面第一步,一併申請兩台規格如下
Jenkins就依據以前的建置
#root登入後:
apt update
apt install docker.io
#建個資料夾
mkdir -p /opt/jenkins_home
chmod 775 /opt/jenkins_home
chown 1000 /opt/jenkins_home
#啟動容器:
docker run -p 8080:8080 -p 50000:50000 -d \
-v /opt/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
#建置這個臨時機台後,帳密就用常用的
Ansible機則是以下
#照以下指令建置:
apt update
#試著只執行以下指令:
ansible
#透過上面會拿到以下指令:
apt install ansible
#試著只執行以下指令:
pip3
#透過上面會拿到以下指令:
apt install python3-pip
#驗證可以執行:
python3
#上面要離開可以輸入:
exit()
#安裝python module boto3(之後ansible連EC2需要)
#安裝python module botocore(之後ansible連EC2需要):
pip3 install boto3 botocore
然後複製一份AWS的憑證資訊到~/.aws裡面
#在root帳號下home目錄,建立.aws目錄:
mkdir .aws
#複製我電腦上的~/.aws/credentials內容到機台上建構一樣的檔名:
cd .aws
vi credentials
#內容貼上
以上就做完Ansible機台可以寫腳本控制EC2機台的準備
Create 2 EC2 Instances to be managed by Ansible
在EC2上面建構兩台Amazon Linux 2的t2.micro機台
並且建立新的key-pair給Ansible驅動
得到:ansible-jenkins.pem檔案