Linux 運用スキルクイズ
このクイズでは、Kubernetes 環境で使用される Linux 運用スキルについての理解を確認します。
選択問題
- どのコマンドが環境変数を子プロセスで利用可能にしますか?
- A) set
- B) export
- C) declare
- D) env
回答を表示
回答: B) export
.bashrcはいつ実行されますか?- A) ログインシェルの場合のみ
- B) すべてのシェルセッションで
- C) 非ログインの対話型シェルで
- D) 常に .bash_profile とともに
回答を表示
回答: C) 非ログインの対話型シェルで
${REPLICAS:-3}は何を意味しますか?- A) REPLICAS を 3 に設定する
- B) REPLICAS が設定されていない場合は 3 を使用する
- C) REPLICAS から 3 を減算する
- D) エラー
回答を表示
回答: B) REPLICAS が設定されていない場合は 3 を使用する
awk 'NR>1 {print $1}'は何をしますか?- A) すべての行の最初のフィールドを出力する
- B) 最初の行のみを出力する
- C) ヘッダーを除外して最初のフィールドを出力する
- D) 最初のフィールドを含む行を出力する
回答を表示
回答: C) ヘッダーを除外して最初のフィールドを出力する
sed -i 's/old/new/g'におけるgの役割は何ですか?- A) 大文字と小文字を区別しない
- B) 行内のすべての一致を置換する
- C) 1 回だけ置換する
- D) 正規表現を有効にする
回答を表示
回答: B) 行内のすべての一致を置換する
jq -rの-rは何をしますか?- A) 再帰検索
- B) 逆順
- C) 引用符なしの生文字列出力
- D) 読み取り専用
回答を表示
回答: C) 引用符なしの生文字列出力
ssh -L 8080:localhost:80 user@serverは何を意味しますか?- A) サーバーの 8080 をローカルの 80 に転送する
- B) ローカルの 8080 をサーバーの 80 に転送する
- C) サーバーの 80 をローカルの 8080 に転送する
- D) ローカルの 80 をサーバーの 8080 に転送する
回答を表示
回答: B) ローカルの 8080 をサーバーの 80 に転送する
- vmstat における
waは何を表しますか?- A) Web application の CPU
- B) I/O 待ち時間の割合
- C) 警告数
- D) アクティブプロセス
回答を表示
回答: B) I/O 待ち時間の割合
- LVM Physical Volume を作成するコマンドはどれですか?
- A) lvcreate
- B) vgcreate
- C) pvcreate
- D) fscreate
回答を表示
回答: C) pvcreate
curl -s -o /dev/null -w "%{http_code}" URLは何を出力しますか?- A) レスポンスボディ
- B) レスポンスヘッダー
- C) HTTP ステータスコード
- D) レスポンスタイム
回答を表示
回答: C) HTTP ステータスコード
短答問題
- 現在のシェルでファイルの内容を実行するコマンドは何ですか?
回答を表示
回答: source (または .)
- JSON 解析ツールは何ですか?
回答を表示
回答: jq
- bastion jump に使用される SSH オプションは何ですか?
回答を表示
回答: ProxyJump (または -J)
- ディスク I/O を監視するコマンドは何ですか?
回答を表示
回答: iostat
- Pod service account token へのパスは何ですか?
回答を表示
回答: /var/run/secrets/kubernetes.io/serviceaccount/token
実践問題
- 必須の DATABASE_URL とデフォルト 30 の TIMEOUT を持つスクリプトを書いてください。
回答を表示
bash
#!/bin/bash
: ${DATABASE_URL:?"DATABASE_URL required"}
TIMEOUT=${TIMEOUT:-30}- 3 回以上再起動した Pods を JSON として出力するコマンドを書いてください。
回答を表示
bash
kubectl get pods -A -o json | jq '[.items[] | select([.status.containerStatuses[]?.restartCount] | add >= 3)]'- bastion 経由で yaml ファイルを同期する rsync コマンドを書いてください。
回答を表示
bash
rsync -avzP --include='*.yaml' --exclude='*' -e "ssh -J bastion" /src/ user@host:/dest/応用問題
- Node 診断スクリプトを書いてください。
回答を表示
bash
#!/bin/bash
echo "=== System ===" && uptime && free -h && df -h
echo "=== kubelet ===" && systemctl status kubelet --no-pager- ConfigMap env vars と volume mount の違いを説明してください。
回答を表示
- Environment Variables: Pod 起動時に読み込まれ、変更には再起動が必要
- Volume Mount: 自動更新(約 1 分)、再起動は不要