LinuCレベル2 201試験の例題と解説
2.04.6システム構成ツール
LinuCレベル2 201試験の試験範囲から「2.04.6 システム構成ツール」についての例題を解いてみます。
このテーマは、Ansibleの構成要素や操作方法に関する内容が含まれます。実際の現場においてはネットワーク機器やサーバーのステータス取得や設定変更など多くの場面で利用されるツールですので、しっかりと理解しておきましょう。
例題
Ansibleの設定ファイルとして正しいものを2つ選択せよ。
- ansible.cfg
- ansible.conf
- 環境変数"ANSIBLE_CONFIG"で指定されたファイル
- ansible.cf
※この例題は実際の試験問題とは異なります。
例題と解説
正解は、「1.ansible.cfg」と「3.環境変数"ANSIBLE_CONFIG"で指定されたファイル」です。
Ansibleの設定ファイルは以下の順に検索され、最初に見つかったもの以外は無視される仕様となっております。
- 環境変数"ANSIBLE_CONFIG"で指定されたファイル
- ansible.cfg(カレントディレクトリにある)
- ~/.ansible.cfg(ホームディレクトリにある)
- /etc/ansible/ansible.cfg
以下のドキュメントに上記ルールや設定パラメータが記載されています。
https://docs.ansible.com/ansible/latest/reference_appendices/config.html#ansible-configuration-settings-locations
Ansibleの実行には、設定ファイル以外にも対象ホストなどを記載するhostsファイルや実行内容を記載するyamlファイルを使用します。
以下、各ファイルを用いた実際の操作例です。
※kubernetes上のPod一覧を取得する操作
kubeuser@master01:~/ansible$ cat /etc/ansible/ansible.cfg ・・・・設定ファイル
[defaults]
host_key_checking = False
log_path=/home/kubeuser/ansible/ansible.log
kubeuser@master01:~/ansible$ cat /etc/ansible/hosts ・・・・対象ホストや使用する変数を定義
[kubernetes_master]
192.168.1.41
[all:vars]
ansible_ssh_user=kubeuser
ansible_ssh_pass=xxxxxxxx
ansible_sudo_pass=xxxxxxxx
kubeuser@master01:~/ansible$ cat podlist.yaml ・・・・実行するタスクを記載するyamlファイル
- hosts: kubernetes_master
tasks:
- name: list pods in one namespace
k8s_info:
kind: Pod
namespace: default
register: pod_list
kubeuser@master01:~/ansible$ ansible-playbook podlist.yaml ・・・・タスクの実行
PLAY [kubernetes_master] ***************************************************************************************
TASK [Gathering Facts] *****************************************************************************************
ok: [192.168.1.41]
TASK [Get a list of all pods from any namespace] ***************************************************************
ok: [192.168.1.41]
PLAY RECAP *****************************************************************************************************
192.168.1.41 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
なお、Ansibleについては以下で詳細を確認できます。
https://linux.die.net/man/1/ssh-keygen
例題作成者
鯨井 貴博 氏(LinuCエヴァンジェリスト/登録インストラクター、LPI-Japanアカデミック認定校 ゼウスITトレーニングセンター)