minkube
安裝 minikube
必備安裝
- VirtualBox
- minikube
- kubectl
Minikube
(這邊請去官網看OS載點替換) kubernetes/minikube
1
2
3
4
|
curl -LO https://github.com/kubernetes/minikube/releases/download/v1.6.2/minikube-linux-amd64(這邊請去官網看OS載點替換)
chmod +x minikube-linux-amd64
./minikube-linux-amd64 # 測試看能不跑
sudo mv minikube-linux-amd64 /usr/local/bin/minikube
|
Virtualbox
Linux_Downloads – Oracle VM VirtualBox
我這邊是用 ElementaryOS (Ubuntu 18.04)
下載完成用 sudo apt install ./xxx.deb
指令安裝
安裝 kubectl
單節點
(這邊請去官網看OS載點替換) Install and Set Up kubectl - Kubernetes
這邊我選 Linux
1
2
3
4
|
curl -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
2
3
4
5
6
7
8
9
10
|
minikube start
# 會安裝會用到的 iso
😄 minikube v1.6.2 on Debian buster/sid
✨ Automatically selected the 'virtualbox' driver (alternates: [none])
🔥 Creating virtualbox VM (CPUs=2, Memory=2000MB, Disk=20000MB) ...
🐳 Preparing Kubernetes v1.17.0 on Docker '19.03.5' ...
🚜 Pulling images ...
🚀 Launching Kubernetes ...
⌛ Waiting for cluster to come online ...
🏄 Done! kubectl is now configured to use "minikube"
|
最後可以下minikube dashboard
看有沒有問題
minikube start 選項功能(沒用 vagrant 可以跳過)
1
2
3
4
|
--vm-drivers(default 是Virtualbox)
none 是用本機
--Bootstrapper(預設使用kubeadm)
|
在 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
2
3
|
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--hwvirtex", "off"]
end
|
參考來源: 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
若有這個錯誤訊息…
bash: /usr/local/bin/kubectl: cannot execute binary file: Exec format error
就是安裝錯版本
修改權限
1
|
sudo chown `id -u`:`id -u` -R .minikube/
|
使用 minikube 的 kubectl
1
2
3
4
|
sudo minikube kubectl
minikube kubectl -- -n kube-system get pods
|
查看 cluster-info 資訊
1
|
sudo minIkube kubectl -- cluster-info
|
或
1
2
3
|
kubectl 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
2
3
|
#主要是第二段
sudo mv /home/vagrant/.kube /home/vagrant/.minikube $HOME
sudo chown -R $USER $HOME/.kube $HOME/.minikube
|
查看 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.1.0/aio/deploy/recommended.yaml
namespace/kubernetes-dashboard configured
serviceaccount/kubernetes-dashboard configured
service/kubernetes-dashboard configured
secret/kubernetes-dashboard-certs configured
secret/kubernetes-dashboard-csrf configured
secret/kubernetes-dashboard-key-holder configured
configmap/kubernetes-dashboard-settings configured
role.rbac.authorization.k8s.io/kubernetes-dashboard configured
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard configured
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard configured
deployment.apps/kubernetes-dashboard configured
service/dashboard-metrics-scraper configured
deployment.apps/dashboard-metrics-scraper configured
# 會遇到這個錯誤
The ClusterRoleBinding "kubernetes-dashboard" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"ClusterRole", Name:"kubernetes-dashboard"}: cannot change roleRef
|
這個錯誤,我目前無解…
因為刪除 kubernetes-dashboard 後會馬上跳出來
1
2
3
4
5
|
$ kubectl proxy
# 預設 localhost
# Starting to serve on 127.0.0.1:8001
kubectl proxy --address='0.0.0.0' --port=8002 --accept-hosts='^*$'
# 開啟遠端連線
|
其他資源:kubernetes-dashboard(1.8.3)部署与踩坑 - 雨夜朦胧 - 博客园
簡單 Hello World
Hello Minikube | Kubernetes
Kind
安裝 Docker
1
|
curl -sSL https://get.daocloud.io/docker | sh
|
詳細建議官網看新教學
設定 docker 權限
1
|
sudo usermod -G docker -a testuser
|
做完重新登錄
安裝 Kind
1
2
3
|
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64
chmod +x ./kind
mv ./kind /usr/local/bin/kind
|
啟用集群
刪除集群
這邊要注意一點
移除集群預設選擇設定會拿掉
所以要重新選擇 k8s config context
1
2
3
4
5
6
|
# 查看現有選擇 k8s 環境
kubectl config current-context
# 列出所有環境
kubectl config get-contexts
# 選擇 k8s 環境
kubectl config use-context minikube
|
更多詳細設定請參考Day 8 - 與 k8s 溝通: kubectl - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天
外來可能會針對設定檔做設定
這樣兩個環境就建置出來
相關教學:
kind – Quick Start
使用 kind 快速搭建 kubernetes 环境 - WeihanLi - 博客园
使用 Kind 在 5 分钟内快速部署一个 Kubernetes 高可用集群 - 奇妙的 Linux 世界
快速搭建kubernetes与kubeSphere环境(亲测有效)
【容器架构】Minikube vs.kind vs.k3s-我应该用哪一个? | 架构师智库
不同Kubernetes构建工具的介绍 - 知乎
使用 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
|