以前に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を使い続けます。 読んでいただきありがとうございます、これでこの記事はすべてです。