在之前介紹了 kube-shell 的幾篇文章之後,我們現在介紹了另一個適用於 Kubernetes 的優秀 shell,稱為 kube-prompt。 在本文中我們再次使用 Minikube 本地集群進行演示,但這次我們將使用 KVM 而不是 VirtualBox. 當然,您也可以在其中運行 kube-prompt VirtualBox 如果您更喜歡它,但使用 KVM 的理由很少。 其中最重要的: VirtualBox 由於內核驅動程序不在樹中,因此給您的內核污染標誌。 有些人報告了 kmods 的內核不穩定 VirtualBox,並且由於內核被它們污染了,您的錯誤報告不會被視為首要任務。 KVM 在主線內核中,所以它沒有這樣的問題。 我們將在本文中使用 Ubuntu,在我的備用筆記本電腦 X220T 上。
安裝 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
接下來是 minikube。 截至撰寫本文時,最新版本為 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 prompt 只需輸入 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 的一些示例:
獲取部署
獲取豆莢
執行
獲取命名空間
獲取 pods –all-namespaces
描述端點
正如我們所見,kube-prompt 有點類似於我們之前介紹的 kube-shell。 主要區別在於您不必鍵入 kubectl。 事實上,如果你輸入它,它會拋出錯誤,因為它會被解析為 kubectl。 Kubernetes 使用 kube-prompt 和其他 shell 變得容易和高效,但它們仍然需要打磨,因為它們的邊緣很粗糙。 kube-prompt 團隊的目標概述於 github頁面. 他們計劃支持大部分值得稱讚的 kubernetes 命令。 現在,我將繼續使用普通的 kubectl,因為還沒有任何 shell 準備好生產。 感謝您的閱讀,這就是本文的全部內容。