minkube
安裝 minikube
必備安裝
- VirtualBox
- minikube
- kubectl
Minikube
(這邊請去官網看OS載點替換) kubernetes/minikube
1 | curl -LO https://github.com/kubernetes/minikube/releases/download/v1.6.2/minikube-linux-amd64(這邊請去官網看OS載點替換) |
Virtualbox
Linux_Downloads – Oracle VM VirtualBox
我這邊是用 ElementaryOS (Ubuntu 18.04)
下載完成用 sudo apt install ./xxx.deb
指令安裝
安裝 kubectl
單節點
(這邊請去官網看OS載點替換) Install and Set Up kubectl - Kubernetes
這邊我選 Linux1
2
3
4curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl (這邊請去官網看OS載點替換)
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
kubectl # 看能不能跑
minikube start
1 | minikube start |
最後可以下minikube dashboard
看有沒有問題
minikube start 選項功能(沒用 vagrant 可以跳過)
1 | --vm-drivers(default 是Virtualbox) |
在 vagrant 安裝 minikube 可以做sudo minikube start --vm-drivers=none
遇到錯誤
VM 64 bit 不能安裝 64 bit OS
先說結論:不能用 VM 跑樣子
用 VM 裝可能遇到的問題1
2💣 Unable to start VM. Please investigate and run 'minikube delete' if possible
❌ Error: [VBOX_VTX_DISABLED] create: precreate: This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory
1 | config.vm.provider :virtualbox do |vb| |
參考來源: Disable VT-X in Vagrantfile
但最後還是不行
Consequences from missing VT-X in nested VirtualBox
There are currently two consequences from nesting without VT-X:
You cannot use multiple CPUs but you can use a single virtual cpu using vb.cpus = 1 You cannot run a 64-Bit VM within a nested VirtualBox.
Error VT-x not available for Vagrant machine inside Virtualbox - Stack Overflow
Exec format error
若有這個錯誤訊息…
bash: /usr/local/bin/kubectl: cannot execute binary file: Exec format error
就是安裝錯版本
修改權限
1 | sudo chown `id -u`:`id -u` -R .minikube/ |
使用 minikube 的 kubectl
1 | sudo minikube kubectl |
查看 cluster-info 資訊
1 | sudo minIkube kubectl -- cluster-info |
或1
2
3kubectl cluster-info
Kubernetes control plane is running at https://192.168.99.100:8443
KubeDNS is running at https://192.168.99.100:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
成功完成
用 vagrant 安裝可能會遇到權限問題可以使用問題,如下圖。
加上sudo
可以解決。
權限問題(使用vagrant)
因為用 sudo
安裝關係,設定檔有些是 root,照minikube start
跑完上面設定有叫你下那些指令後,就可以正常使用。
1 | #主要是第二段 |
查看 minikube 的原件
這邊可以看到他跟預設 k8s 安裝原件有差異,所以滿多人不建義用這個玩k8s。
多了Storage Provisioner,少了Flannel CNI。
刪除 minikube
Delete minikube
minikube delete && rm -rf ~/.minikube
遠端連 dashboard
安裝 UI
以下參考:
kubernetes/dashboard: General-purpose web UI for Kubernetes clusters
[Day 14] Kubernetes Dashboard 介紹 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天
1 | kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.1.0/aio/deploy/recommended.yaml |
這個錯誤,我目前無解…
因為刪除 kubernetes-dashboard 後會馬上跳出來
1 | $ kubectl proxy |
其他資源:kubernetes-dashboard(1.8.3)部署与踩坑 - 雨夜朦胧 - 博客园
簡單 Hello World
Kind
安裝 Docker
1 | curl -sSL https://get.daocloud.io/docker | sh |
詳細建議官網看新教學
設定 docker 權限
1 | sudo usermod -G docker -a testuser |
做完重新登錄
安裝 Kind
1 | curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64 |
啟用集群
1 | kind create cluster |
刪除集群
1 | kind delete cluster |
這邊要注意一點
移除集群預設選擇設定會拿掉
所以要重新選擇 k8s config context
1 | # 查看現有選擇 k8s 環境 |
更多詳細設定請參考Day 8 - 與 k8s 溝通: kubectl - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天
外來可能會針對設定檔做設定
這樣兩個環境就建置出來
相關教學:
kind – Quick Start
使用 kind 快速搭建 kubernetes 环境 - WeihanLi - 博客园
使用 Kind 在 5 分钟内快速部署一个 Kubernetes 高可用集群 - 奇妙的 Linux 世界
快速搭建kubernetes与kubeSphere环境(亲测有效)
【容器架构】Minikube vs.kind vs.k3s-我应该用哪一个? | 架构师智库
使用 WSL 2 與 Docker Desktop 架設 Kubernetes 多節點叢集環境 (KinD) | The Will Will Web
查看 minikube plugin
1 | sudo minikube addons list |
可以快速安裝 k8s 原件。
1 | sudo minikube addons enable dashboard |
上圖可以看到他建立新的容器。對外測試連結容器可以用1
kubectl port-forward --address _IPADDRESS_-n kubernetes-dashboard service/kubernetes-dashboard 8888:80