LinuCレベル2 201試験の例題と解説

2.04.6システム構成ツール

LinuCレベル2 201試験の試験範囲から「2.04.6 システム構成ツール」についての例題を解いてみます。
このテーマは、Ansibleの構成要素や操作方法に関する内容が含まれます。実際の現場においてはネットワーク機器やサーバーのステータス取得や設定変更など多くの場面で利用されるツールですので、しっかりと理解しておきましょう。

Linucレベル2 201試験 出題範囲


例題

Ansibleの設定ファイルとして正しいものを2つ選択せよ。

  1. ansible.cfg
  2. ansible.conf
  3. 環境変数"ANSIBLE_CONFIG"で指定されたファイル
  4. ansible.cf

※この例題は実際の試験問題とは異なります。


例題と解説

正解は、「1.ansible.cfg」と「3.環境変数"ANSIBLE_CONFIG"で指定されたファイル」です。

Ansibleの設定ファイルは以下の順に検索され、最初に見つかったもの以外は無視される仕様となっております。

  1. 環境変数"ANSIBLE_CONFIG"で指定されたファイル
  2. ansible.cfg(カレントディレクトリにある)
  3. ~/.ansible.cfg(ホームディレクトリにある)
  4. /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トレーニングセンター)

ページトップへ