使用minikube快速搭建k8s環境

死磕音視訊發表於2020-12-28

需要的環境

  • 2核或者更多的cpu
  • 2GB或者更多的記憶體
  • 20GB的可用磁碟空間
  • 網路連線
  • docker容器
  • 非root使用者

安裝

  • mac
brew install minikube

如果which minikube通過brew安裝後失敗,則可能必須刪除minikube容器並連結二進位制檔案:

brew cask remove minikube
brew link minikube

直接下載二進位制

 curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
 sudo install minikube-linux-amd64 /usr/local/bin/minikube

安裝kubectl

curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
kubectl version --client

啟動

以非root身份啟動

minikube start

如果是root身份啟動,會出現以下錯誤
The “docker” driver should not be used with root privileges.
解決辦法如下

add user

adduser developer
# password@7
usermod -aG sudo developer
su - developer

切換user

su - developer

新增到docker通狐族

sudo groupadd docker
sudo usermod -aG docker $USER

重新安裝mnikube

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

重新啟動minikube

minikube start --driver=docker

檢視叢集資訊

kubectl get po -A

或者

minikube kubectl -- get po -A

部署一個應用

建立一個nginx,並暴露埠

kubectl create deployment hello-minikube --image=nginx
kubectl expose deployment hello-minikube --type=NodePort --port=80

檢視應用

kubectl get services hello-minikube

訪問此服務的最簡單方法是讓minikube為您啟動Web瀏覽器:

minikube service hello-minikube

如果你和我一樣伺服器沒有gui介面可以這麼操作,進行埠轉發

kubectl port-forward --address 0.0.0.0 service/hello-minikube 8080:80

使用minikube kubectl

minikube kubectl -- port-forward --address=0.0.0.0 service/nginx 8081:80

kubectl的命令都可以使用minikube kubectl – 來代替

開啟瀏覽器輸入:http://部署minikube-ip:8080

相關文章