“kube-prompt”-コマンドKubernetesのオートコンプリートシェル

以前にkube-shellのいくつかの記事を紹介した後、kube-promptと呼ばれるkubernetes用の別の優れたシェルに到達します。 この記事では、デモに再びMinikubeローカルクラスターを使用しますが、今回は代わりにKVMを使用します VirtualBox。 もちろん、kube-promptを実行することもできます VirtualBox あなたがそれをもっと好きなら、しかしKVMを使う理由はほとんどありません。 それらの中で最も重要なもの: VirtualBox ツリー外のカーネルドライバが原因でカーネル汚染フラグが表示されます。 一部の人々は、kmodsのカーネルの不安定性を報告しています VirtualBox、カーネルはそれらに汚染されているため、バグレポートは最優先事項とは見なされません。 KVMはメインラインカーネルにあるため、そのような問題はありません。 この記事では、バックアップラップトップであるX220TでUbuntuを使用します。

KVMのインストール

明らかに、最初に必要なのはKVMのインストールです。

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

libvirtを問題なく使用できるようにするには、ユーザーをlibvirtグループに追加する必要があります。 ユーザーとしてログインしている場合は、このコマンドを実行します

sudo adduser `id -un` libvirt

最後に、KVMのインストールをテストするには、このコマンドを実行します

kvm-ok

あなたにこのようなものを与えるべきです

INFO: /dev/kvm exists
 KVM acceleration can be used

kubectl、minikube、docker-machine-driver-kvmのインストール

すべてのバイナリをインストールする必要があります。 Kubectlは最初はコースから外れているため、次の3つのコマンドを使用してインストールします。

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.7.0/bin/linux/amd64/kubectl

次に、実行可能ビットを追加してパスに移動します

chmod +x kubectl
sudo mv kubectl /usr/local/bin/kubectl

次はミニクベです。 執筆時点での最新バージョンは0.22です。 このワンライナーで取り付け可能

curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.22.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

minikubeをKVMで実行するには、docker-machine-kvmドライバーが必要です。 ダウンロード方法はこちらです。

curl -LO https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-ubuntu16.04

そして再び、実行可能ビットとパスに移動します

chmod +x docker-machine-driver-kvm-ubuntu16.04

sudo mv docker-machine-driver-kvm-ubuntu16.04 /usr/local/bin/docker-machine-driver-kvm

クラスターを起動し、デフォルトでKVMで実行します

バイナリは配置されていますが、minikubeはデフォルトで VirtualBox。 したがって、このコマンドを使用して、デフォルトをKVMに変更できます。

minikube config set vm-driver kvm

その後、クラスターを作成するコマンドを実行できます

minikube start

出力はこれに似ているはずです

kube-promptのインストール

最後に、クラスターを実行しているので、kube-promptをインストールできます。

wget https://github.com/c-bata/kube-prompt/releases/download/v1.0.1/kube-prompt_v1.0.1_linux_amd64.zip

解凍する必要があるので、お持ちでない場合は、今すぐインストールしてください。

sudo apt install unzip

そして、アーカイブを解凍しましょう。

unzip kube-prompt_v1.0.1_linux_amd64.zip

次の動きは、実行可能ビットを追加してパスに移動することです

chmod +x kube-prompt
 sudo mv kube-prompt /usr/local/bin/kube-prompt

kube-promptを使用する

kubeプロンプトを入力するには、kube-promptと入力するだけです。

そこからオートコンプリートオプションを取得します。kube-shellとは異なり、kubectlコマンドを入力する必要はありません。 間違いなく、kubectlは引き続き必要ですが、kube-promptは自動的に入力するだけです。 次のコマンドを使用すると、hello-minikubeテストのデプロイとサービスが作成されます。

kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.7 --port=8080
kubectl expose deployment hello-minikube --type=NodePort

kube-promptの例を次に示します。

デプロイメントを取得する

ポッドを取得

exec

名前空間を取得する

ポッドを取得–all-namespaces

エンドポイントを説明する

ご覧のとおり、kube-promptは、前に紹介したkube-shellにいくぶん似ています。 主な違いは、kubectlと入力する必要がないことです。 実際、これを入力すると、kubectlとして解析されるため、エラーがスローされます。 Kubernetesは、kube-promptやその他のシェルを使用して簡単かつ生産的になりつつありますが、エッジが粗いため、すべて研磨する必要があります。 kube-promptチームの目標は githubページ。 彼らは、賞賛に値するほとんどのkubernetesコマンドをサポートすることを計画しています。 今のところ、どのシェルもまだ本番環境に対応していないので、プレーンなkubectlを使い続けます。 読んでいただきありがとうございます、これでこの記事はすべてです。