こんにちは、サイオステクノロジーの前田です。KubernetesやOpenShiftを利用する方が増えてきました。そうしますと、KubernetesやOpenshiftのコマンドライン操作をする方も増えて来ます。慣れない人だとコマンドライン操作はとても大変です。仕事では全ての人がコマンドライン操作に慣れているという状況はまれでしょう。今回はコマンドライン操作を楽にするためのTab補完機能の導入方法を説明していきます。
概要
Kubernatesのコマンドラインツール『kubectl』とOpenShiftのコマンドラインツール『oc』のTab補完機能の導入について記載していきます。
ocコマンドはkubectlと同じ機能を提供します。加えてOpenShift独自の機能をサポートするものとなっています。oc では認証のloginやアプリケーションの簡易起動のnew-app等が存在します。
- クライアント環境
- OS: CentOS stream
- bash
導入概要
- bash-completionのインストール
- kubectlを利用したbash-completionの設定
- ocを利用したbash-completionの設定
- 動作確認
導入手順
bash-completionのインストール
bash-completionをクライアント端末にインストールします。
dnf install bash-completion
kubectlを利用したbash-completionの設定
kubectlの補完設定ファイルを下記kubectlコマンドで作成します。
kubectl completion bash >/etc/bash_completion.d/kubectl
※設定して再ログインしてない状態ですと、設定が読み込まれておらず『Tab』を押すとエラーが出る場合があります。
ocを利用したbash-completionの設定
oc の補完設定ファイルを下記ocコマンドで作成します。
oc completion bash > /etc/bash_completion.d/oc_bash_completion
※設定して再ログインしてない状態ですと、設定が読み込まれておらず『Tab』を押すとエラーが出る場合があります。
動作確認
コマンドライン操作で自動補完を試します。
kubectl a
tabを押すと下記のような補完情報が表示されます。1種類の場合は文字が自動入力されます。
adm annotate api-resources api-versions apply attach auth autoscale
oc a
tabを押すと下記のような補完情報が表示されます。1種類の場合は文字が自動入力されます。
adm annotate api-resources api-versions apply attach auth autoscale
補完情報が出てくれるため、たびたびヘルプ等を表示してスペルを確認する手間が減らせます。こちらを利用することにより、CLI操作が楽になります。
おまけ
CLI操作が難しい方や、最初のうちはGUIを利用しましょう。OpenShiftにはリッチなGUIがデフォルトで存在します。技術者が不足している現状ではCLI操作ができる人員が育成されるまで待てない状況というのは多く発生します。OpenShiftがコスト面で問題という場合はOKDもありますので、そちらを利用することをお勧めします。GUIである程度慣れた後にCLI操作で操作することをお勧めします。
下記はOKDのGUI表示です。
個人的なことですが、たくさんKubernetesの勉強する前にこんな画面見たかった!!
Kubernetesの勉強自体は無料でできますが、熟練するまでの学習コストは高い部類になります。なるべく理解しやすい状態にして学習コストを下げるための方法をとることをおすすめします。
最後に
Kubernetesを利用するとコマンドライン操作が必要になります。難しいコマンドライン操作のため、Kubernetesの利用をあきらめる方もいます。慣れた方でもコマンドをほとんど覚えておくというのは難しいです。Tab補完機能を利用することによって少しでもKubernetesの操作の負担が減り、読者の手助けになれば幸せです。