そこで、kubectl などで Bash 補完機能を利用できるようにしてみます。
今回の環境は Oracle Linux 7.4 を利用しています。
[gowatana@k8s-master-01 ~]$ cat /etc/oracle-release
Oracle Linux Server release 7.4
kubectl の Bash 補完。
今回の kubectl です。
[gowatana@k8s-master-01 ~]$ kubectl version
Client Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.4+0c1a5fc", GitCommit:"0c1a5fc302a1f849e245e64f3ec0d71fb54df8a7", GitTreeState:"not a git tree", BuildDate:"2017-09-06T14:42:45Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.4+0c1a5fc", GitCommit:"0c1a5fc302a1f849e245e64f3ec0d71fb54df8a7", GitTreeState:"not a git tree", BuildDate:"2017-09-06T14:42:45Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
まず、bash-completion をインストールします。
[root@k8s-master-01 ~]# yum install -y bash-completion
Bash 補完のためのファイルを作成しておきます。
[root@k8s-master-01 ~]# kubectl completion bash > /etc/bash_completion.d/kubectl
ログインしたユーザで、
Tab キーによる kubectl の補完候補が表示されるようになります。
[root@k8s-master-01 ~]# su - gowatana
[gowatana@k8s-master-01 ~]$ kubectl ★ここでTab
annotate convert expose rolling-update
api-versions cordon get rollout
apply cp label run
attach create logs scale
auth delete options set
autoscale describe patch taint
certificate drain plugin top
cluster-info edit port-forward uncordon
completion exec proxy version
config explain replace
[gowatana@k8s-master-01 ~]$ kubectl
kubeadm の Bash 補完。
ちなみに、Oracle Linux の Kubernetes ではどこまで利用してよいのか
悩ましいですが、kubeadm も Bash 補完できます。
[root@k8s-master-01 ~]# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.4+0c1a5fc", GitCommit:"0c1a5fc302a1f849e245e64f3ec0d71fb54df8a7", GitTreeState:"not a git tree", BuildDate:"2017-09-06T14:42:45Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
Bash 補完のためのファイルを作成します。
[root@k8s-master-01 ~]# kubeadm completion bash > /etc/bash_completion.d/kubeadm
ログインしたユーザで、Bash 補完できるようになります。
[root@k8s-master-01 ~]# su - gowatana
[gowatana@k8s-master-01 ~]$ kubeadm ★ここでTab
alpha init reset version
completion join token
今回はシステム全体で Bash 補完機能を利用できるようにしていますが、
下記のような感じで、ユーザ単位で設定することもできます。
これも、ユーザでログインしなおすか source コマンドの部分を実行することで
Bash 補完できるようになります。
[gowatana@k8s-master-01 ~]$ echo 'source <(kubectl completion bash)' >> ~/.bash_profile
[gowatana@k8s-master-01 ~]$ echo 'source <(kubeadm completion bash)' >> ~/.bash_profile
以上、OL7 で Kubernetes の Bash 補完を利用できるようにする話でした。
0 件のコメント:
コメントを投稿