大半年沒有寫網誌了,除了結婚的籌備和蜜月旅行以外,我還忙了一段時間在處理搬家事宜,再來是上一分工作實在沒有太多技術文件可以寫,大部分時間都在搞infra,而且重複性很高,目前換了新工作,又回到Linux環境了,但是考試已經過了半年,得要趕快趁還沒有忘記考試內容前把細節記錄下來,以便將來遇到時有用。考試環境的練習,是先能夠要建立七台VM,大部分的網路上解答都沒有提到這部分,但其實它也很重要。
環境建置的步驟:
一·下載並安裝VirtualBox
網址:https://www.virtualbox.org/,這邊就不用特別多說了,頂多有些Windows電腦被要求多安裝Microsoft Visual C++,微軟官網就有提供下載點了。
二·安裝各台Linux。
因為我在練習的時候找不到合適的安裝軟體,所以就選用RockyLinux,內容其實大都很完整也好用,安裝過程大同小異,流程我就不囉嗦了。
1.基本要給每一台主機相同的管理者帳密,student帳號也用最高權限,考試的時候用的不會是root:
root / redhat
student / student
student / student
2.建好一台主機後,用「再製」功能就能夠把虛擬機複製出來,不必一台台慢慢做。
3.CPU給4核心、RAM給4G、硬碟切sda和sdb。node1和node2各有一個邏輯卷宗叫做research,要切割sda3出來並給它1G空間。
[student@workstation ansible]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.250.9 workstation
172.25.250.10 node1
172.25.250.11 node2
172.25.250.12 node3
172.25.250.13 node4
172.25.250.14 node5
172.25.250.15 example.classroom.com classroom
5.workstation上要把student帳號的ssh public key傳到各節點,並且設定不用輸入密碼就能登入。之前有寫過文章,方法在這個連結。
6.Private IP 是給內部連線的,Public IP是給Putty連線之用,因為模擬考試的環境,那時也是用ssh連線到workstation主機,然後再連線到各個節點做操作,因此在安裝每一台虛擬機的時候,除了內部使用的NAT網卡外,要再增加一張「僅限主機介面卡凱。
點選「檔案」>「喜好設定」,準備建立每一台VM的內網環境。 |
「網路」>「+」,加入新的網路 |
名稱隨意,網段就開172.25.250.0/24,這樣內網環境就建立了。 |
第一張NAT網卡是內外部串連網路用的 |
三·Data主機的環境布置。
最後一台的data主機要擔任提供下載資料用,包括repo、roles、collection和每一題所需要下載的yml,裡面的東西很多,要先都放好,還要先安裝網頁伺服器才能給其他台節點提供url,所以這台的建制就開一個新的標題。
1.先安裝網頁伺服器
[root@classroom ~]#yum install httpd -y
[root@classroom ~]#systemctl start httpd
2.開啟httpd的防火牆
[root@classroom ~]#firewall-cmd --add-port=80/tcp --permanent
[root@classroom ~]#firewall --reload
3.放考試用的資料
先建立三個資料夾 |
/var/www/html/cd/exam_ehce8/ 此路徑下面的檔案
salaries.yaml檔是加密的檔案,我也放在雲端給直接下載。
hosts.yml (裡面空的)
hosts.j2的內容如下
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
hwrepot.empty的內容如下
# Hardware report
HOST=inventoryhostname
MEMORY=memory_in_MB
BIOS=BIOS_version
DISK_SIZE_SDA=disk_sda_size
DISK_SIZE_SDB=disk_sdb_size
user_list.yml的內容如下
users:
- name: john
uid: 1201
password: "{{ pw_developer }}"
group: devops
job: developer
- name: james
uid: 1202
password: "{{ pw_manager }}"
group: opsmgr
job: manager
- name: mary
uid: 2201
password: "{{ pw_manager }}"
group: opsmgr
job: manager
以上大概是模擬考題環境的建置,光是這堆東西弄完就用幾個小時了,如果沒有先做這些,也就模擬不出來考試題目的各種效果,網路上這好像還沒有人先做,於是這篇的紀錄重點我個人覺得很重要。
沒有留言:
張貼留言