環境
vmware的ubuntu18.04.1的虛擬機
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
容器:
# docker version
Client:
Version: 18.09.7
API version: 1.39
Go version: go1.10.1
Git commit: 2d0083d
Built: Fri Aug 16 14:20:06 2019
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.09.7
API version: 1.39 (minimum version 1.12)
Go version: go1.10.1
Git commit: 2d0083d
Built: Wed Aug 14 19:41:23 2019
OS/Arch: linux/amd64
Experimental: false
前置條件
支持虛擬化
egrep -q ‘vmx|svm’ /proc/cpuinfo && echo yes || echo no
這裏得輸出是yes,表示你的機器支持虛擬化
安裝virtualbox(不是必須的了)
Minikube 也支持 --vm-driver=none 選項來在本機運行 Kubernetes 組件,這時候需要本機安裝了 Docker。此外 none 驅動會運行一個不安全的API Server,會導致安全隱患,不建議在個人工作環境安裝。
安裝minikube
以前使用官方的minikube不行, 不行的原因:
- 下載minikube的安裝包很慢
- minikube啓動的時候要下載鏡像,也下不動
現在直接參照使用阿里雲的 Minikube - Kubernetes本地實驗環境
啓動
以前
minikube start
現在
現在,某些選項要明確指定了, 比如–image-mirror-country 爲cn的時候,就用的阿里,牛逼啊,阿里代表cn了
以前用這個阿里的minikube是直接start的,現在:
minikube start --image-mirror-country cn
–iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.5.1.iso
–registry-mirror=https://xxxx.mirror.aliyuncs.com
–kubernetes-version=v1.16.2
–image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
–vm-driver=none
ps:
–vm-driver=none
這代表用宿主機的docker來搞,用kvm或者virtualbox太耗資源了,以前你用虛擬機的時候用minikube ssh登陸進vm,再docker ps看到一堆容器,現在這堆容器直接起在你的宿主機裏了.
–registry-mirror
這裏用你自己的阿里雲鏡像加速器地址
mainland
minikube start -h 裏有2個地方出現了mainland,分別是:
–image-mirror-country
–image-repository
報錯
E1205 00:07:44.819948 16195 start.go:389] kubectl info: exec: exit status 1
不知道爲啥…
安裝kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release
/stable.txt)/bin/darwin/amd64/kubectl
&& chmod +x kubectl
&& sudo mv kubectl /usr/local/bin/
驗證
kubectl cluster-info // 查看集羣信息
minikube ssh // 登陸到vm, --vm-driver=none 的時候不能用
其基本架構
Minikube利用本地虛擬機環境部署Kubernetes,其基本架構如下圖所示:
來源: Minikube - Kubernetes本地實驗環境
參考資料
書: kubernets in action
minicube Documentation