1 - 安裝 minikube
宿主機環境
- 操作系統: Windows 10
- 虛擬化: VirtualBox 6.1.14
Install kubectl
下載kubectl.exe,然後加入到系統環境變量PATH
Install minikube
下載 minikube-windows-amd64.exe 文件,並重命名爲minikube.exe,然後加入到系統環境變量PATH
- https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.13.0/minikube-windows-amd64.exe
從github下載
- kubectl: https://github.com/kubernetes/kubernetes/releases (在
CHANGELOG-*.*.md
鏈接的“Client Binaries”區域) - minikube: https://github.com/kubernetes/minikube/releases
驗證
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.0", GitCommit:"e19964183377d0ec2052d1f1fa930c4d7575bd50", GitTreeState:"clean", BuildDate:"2020-08-26T14:30:33Z", GoVersion:"go1.15", Compiler:"gc", Platform:"windows/amd64"}
Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it.
$ minikube version
minikube version: v1.13.0
commit: 23aa1eb200a03ae5883dd9d453d4daf3e0f59668
2 - 創建集羣
命令
minikube start --vm-driver=virtualbox --image-mirror-country=cn --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.7.3.iso --registry-mirror=https://reg-mirror.qiniu.com
選項說明
--vm-driver
: 虛擬機驅動,默認自動檢測,可選值 virtualbox, vmwarefusion, hyperv, vmware--image-mirror-country
: 鏡像國家碼,默認使用全球代碼,中國大陸用戶可設置爲 cn--image-repository
: 拉取集羣所需鏡像的倉庫--iso-url
: 加速下載虛擬機安裝和啓動所需的ISO文件--registry-mirror
: docker registry 的鏡像源,集羣安裝後拉取鏡像加速用,可以使用其它加速器地址--cpu
: 虛擬機CPU數量--memory
: 虛擬機內存大小--disk-size
: 虛擬機磁盤大小- 更多選項
minikube start --help
示例
$ minikube start --vm-driver=virtualbox --image-mirror-country=cn --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
� Microsoft Windows 10 Home China 10.0.18362 Build 18362 上的 minikube v1.13.0
✨ 根據用戶配置使用 virtualbox 驅動程序
✅ 正在使用鏡像存儲庫 registry.cn-hangzhou.aliyuncs.com/google_containers
� 正在下載 VM boot image...
> minikube-v1.13.0.iso.sha256: 65 B / 65 B [-------------] 100.00% ? p/s 0s
> minikube-v1.13.0.iso: 173.73 MiB / 173.73 MiB [ 100.00% 18.35 MiB p/s 10s
� Starting control plane node minikube in cluster minikube
� Creating virtualbox VM (CPUs=2, Memory=6000MB, Disk=20000MB) ...
� 正在 Docker 19.03.12 中準備 Kubernetes v1.19.0…
> kubectl.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
> kubeadm.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
> kubelet.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
> kubectl: 41.01 MiB / 41.01 MiB [---------------] 100.00% 11.31 MiB p/s 4s
> kubeadm: 37.30 MiB / 37.30 MiB [---------------] 100.00% 1.97 MiB p/s 19s
> kubelet: 104.88 MiB / 104.88 MiB [-------------] 100.00% 4.87 MiB p/s 22s
� Verifying Kubernetes components...
� Enabled addons: default-storageclass, storage-provisioner
� Done! kubectl is now configured to use "minikube" by default
$ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
$ minikube service list
|-------------|------------|--------------|-----|
| NAMESPACE | NAME | TARGET PORT | URL |
|-------------|------------|--------------|-----|
| default | kubernetes | No node port |
| kube-system | kube-dns | No node port |
|-------------|------------|--------------|-----|
$ minikube profile list
|----------|------------|---------|----------------|------|---------|---------|
| Profile | VM Driver | Runtime | IP | Port | Version | Status |
|----------|------------|---------|----------------|------|---------|---------|
| minikube | virtualbox | docker | 192.168.99.100 | 8443 | v1.19.0 | Running |
|----------|------------|---------|----------------|------|---------|---------|
$ minikube addons list
|-----------------------------|----------|--------------|
| ADDON NAME | PROFILE | STATUS |
|-----------------------------|----------|--------------|
| ambassador | minikube | disabled |
| dashboard | minikube | disabled |
| default-storageclass | minikube | enabled ✅ |
| efk | minikube | disabled |
| freshpod | minikube | disabled |
| gcp-auth | minikube | disabled |
| gvisor | minikube | disabled |
| helm-tiller | minikube | disabled |
| ingress | minikube | disabled |
| ingress-dns | minikube | disabled |
| istio | minikube | disabled |
| istio-provisioner | minikube | disabled |
| kubevirt | minikube | disabled |
| logviewer | minikube | disabled |
| metallb | minikube | disabled |
| metrics-server | minikube | disabled |
| nvidia-driver-installer | minikube | disabled |
| nvidia-gpu-device-plugin | minikube | disabled |
| olm | minikube | disabled |
| pod-security-policy | minikube | disabled |
| registry | minikube | disabled |
| registry-aliases | minikube | disabled |
| registry-creds | minikube | disabled |
| storage-provisioner | minikube | enabled ✅ |
| storage-provisioner-gluster | minikube | disabled |
|-----------------------------|----------|--------------|
$ minikube service list
|-------------|------------|--------------|-----|
| NAMESPACE | NAME | TARGET PORT | URL |
|-------------|------------|--------------|-----|
| default | kubernetes | No node port |
| kube-system | kube-dns | No node port |
|-------------|------------|--------------|-----|
$ minikube node list
minikube 192.168.99.100
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready master 62m v1.19.0
$ kubectl get pods
No resources found in default namespace.
$ kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-6c76c8bb89-8njsf 1/1 Running 0 85m
kube-system etcd-minikube 1/1 Running 0 85m
kube-system kube-apiserver-minikube 1/1 Running 0 85m
kube-system kube-controller-manager-minikube 1/1 Running 0 85m
kube-system kube-proxy-r5vg6 1/1 Running 0 85m
kube-system kube-scheduler-minikube 1/1 Running 0 85m
kube-system storage-provisioner 1/1 Running 0 85m
kubernetes-dashboard dashboard-metrics-scraper-c95fcf479-znstc 1/1 Running 0 16m
kubernetes-dashboard kubernetes-dashboard-5c448bc4bf-wtzmd 1/1 Running 0 16m
注意
minikube調用VirtualBox interface需要admin權限
執行minikube start
將會自動創建C:\Users\<username>\.minikube
目錄
- cache 文件夾緩存下載的文件
$ ls -la ~/.minikube/
total 52
drwxr-xr-x 1 anliven 197121 0 10月 23 22:29 ./
drwxr-xr-x 1 anliven 197121 0 10月 23 22:29 ../
drwxr-xr-x 1 anliven 197121 0 10月 23 22:26 addons/
-rw-r--r-- 1 anliven 197121 1066 10月 23 22:29 ca.crt
-rw-r--r-- 1 anliven 197121 1679 10月 23 22:29 ca.key
-rw-r--r-- 1 anliven 197121 1038 10月 23 22:27 ca.pem
drwxr-xr-x 1 anliven 197121 0 10月 23 22:28 cache/
-rw-r--r-- 1 anliven 197121 1078 10月 23 22:27 cert.pem
drwxr-xr-x 1 anliven 197121 0 10月 23 22:26 certs/
drwxr-xr-x 1 anliven 197121 0 10月 23 22:26 config/
drwxr-xr-x 1 anliven 197121 0 10月 23 22:26 files/
-rw-r--r-- 1 anliven 197121 1675 10月 23 22:27 key.pem
drwxr-xr-x 1 anliven 197121 0 10月 23 22:26 logs/
drwxr-xr-x 1 anliven 197121 0 10月 23 22:27 machines/
drwxr-xr-x 1 anliven 197121 0 10月 23 22:26 profiles/
-rw-r--r-- 1 anliven 197121 1074 10月 23 22:29 proxy-client-ca.crt
-rw-r--r-- 1 anliven 197121 1675 10月 23 22:29 proxy-client-ca.key
$ ls -la ~/.minikube/cache/
total 4
drwxr-xr-x 1 anliven 197121 0 10月 23 22:28 ./
drwxr-xr-x 1 anliven 197121 0 10月 23 22:29 ../
drwxr-xr-x 1 anliven 197121 0 10月 23 22:26 images/
drwxr-xr-x 1 anliven 197121 0 10月 23 22:26 iso/
drwxr-xr-x 1 anliven 197121 0 10月 23 22:28 linux/
3 - minikube ssh
執行minikube ssh
可以進入到minikube虛擬機內部,但建議通過終端工具SSH登入
- 執行
minikube ip
獲取minikube虛擬機的IP地址 - SSH用戶名: docker
- 認證方式:
Public Key
- 私鑰文件:
.minikube\machines\minikube\id_rsa
$ minikube ip
192.168.99.100
$ minikube ssh
_ _
_ _ ( ) ( )
___ ___ (_) ___ (_)| |/') _ _ | |_ __
/' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
448f70c7f8e2 kubernetesui/metrics-scraper "/metrics-sidecar" 10 minutes ago Up 10 minutes k8s_dashboard-metrics-scraper_dashboard-metrics-scraper-c95fcf479-znstc_kubernetes-dashboard_7a3e77c6-093d-4154-822b-7baf21145cb1_0
55a85ae3c2ad kubernetesui/dashboard "/dashboard --insecu…" 10 minutes ago Up
10 minutes k8s_kubernetes-dashboard_kubernetes-dashboard-5c448bc4bf-wtzmd_kubernetes-dashboard_69701406-e4ec-4a60-b6c0-d945a745a180_0
5d15da4f6606 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 "/pause" 10 minutes ago Up 10 minutes k8s_POD_dashboard-metrics-scraper-c95fcf479-znstc_kubernetes-dashboard_7a3e77c6-093d-4154-822b-7baf21145cb1_0
864559bce79a registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 "/pause" 10 minutes ago Up 10 minutes k8s_POD_kubernetes-dashboard-5c448bc4bf-wtzmd_kubernetes-dashboard_69701406-e4ec-4a60-b6c0-d945a745a180_0
34432b64b1ff bad58561c4be "/storage-provisioner" About an hour ago Up About an hour k8s_storage-provisioner_storage-provisioner_kube-system_e757cda2-612f-4a67-9727-523e80221162_0
7890bf43797a registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 "/pause" About an hour ago Up About an hour k8s_POD_storage-provisioner_kube-system_e757cda2-612f-4a67-9727-523e80221162_0
f27b7bf41f1f bfe3a36ebd25 "/coredns -conf /etc…" About an hour ago Up
About an hour k8s_coredns_coredns-6c76c8bb89-8njsf_kube-system_455e485c-1373-4f0f-bac5-7ed64a6a56ce_0
7bfb425cf8cb registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 "/pause" About an hour ago Up About an hour k8s_POD_coredns-6c76c8bb89-8njsf_kube-system_455e485c-1373-4f0f-bac5-7ed64a6a56ce_0
1896d79c4c35 bc9c328f379c "/usr/local/bin/kube…" About an hour ago Up
About an hour k8s_kube-proxy_kube-proxy-r5vg6_kube-system_cfe16a25-94fa-424b-a75d-e819bac57068_0
8bd0bc430e96 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 "/pause" About an hour ago Up About an hour k8s_POD_kube-proxy-r5vg6_kube-system_cfe16a25-94fa-424b-a75d-e819bac57068_0
21c54a187d46 d4ca8726196c "etcd --advertise-cl…" About an hour ago Up
About an hour k8s_etcd_etcd-minikube_kube-system_e9aabf1795110e3aa8779deb082e84c6_0
314b4160ecc5 cbdc8369d8b1 "kube-scheduler --au…" About an hour ago Up
About an hour k8s_kube-scheduler_kube-scheduler-minikube_kube-system_a58b14f747704acef7fc4d3a19ced088_0
07681229f3f8 09d665d529d0 "kube-controller-man…" About an hour ago Up
About an hour k8s_kube-controller-manager_kube-controller-manager-minikube_kube-system_45ac13b940779ae8f250c55c1b668de4_0
152f08e101aa 1b74e93ece2f "kube-apiserver --ad…" About an hour ago Up
About an hour k8s_kube-apiserver_kube-apiserver-minikube_kube-system_b9d786c0c16e0c94627f9bd2f22955eb_0
4e44a7106e31 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 "/pause" About an hour ago Up About an hour k8s_POD_etcd-minikube_kube-system_e9aabf1795110e3aa8779deb082e84c6_0
ef6cd7886928 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 "/pause" About an hour ago Up About an hour k8s_POD_kube-scheduler-minikube_kube-system_a58b14f747704acef7fc4d3a19ced088_0
22653f97f0ef registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 "/pause" About an hour ago Up About an hour k8s_POD_kube-controller-manager-minikube_kube-system_45ac13b940779ae8f250c55c1b668de4_0
0cce920163b3 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 "/pause" About an hour ago Up About an hour k8s_POD_kube-apiserver-minikube_kube-system_b9d786c0c16e0c94627f9bd2f22955eb_0
$
$ docker images
REPOSITORY TAG IMAGE ID CREATED
SIZE
registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner v3 bad58561c4be 7 weeks ago
29.7MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy v1.19.0 bc9c328f379c 8 weeks ago
118MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver v1.19.0 1b74e93ece2f 8 weeks ago
119MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager v1.19.0 09d665d529d0 8 weeks ago
111MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler v1.19.0 cbdc8369d8b1 8 weeks ago
45.7MB
registry.cn-hangzhou.aliyuncs.com/google_containers/etcd 3.4.9-1 d4ca8726196c 3 months ago
253MB
registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard v2.0.3 503bc4b7440b 4 months ago
225MB
kubernetesui/dashboard v2.0.3 503bc4b7440b 4 months ago
225MB
registry.cn-hangzhou.aliyuncs.com/google_containers/coredns 1.7.0 bfe3a36ebd25 4 months ago
45.2MB
kubernetesui/metrics-scraper v1.0.4 86262685d9ab 7 months ago
36.9MB
registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-scraper v1.0.4 86262685d9ab 7 months ago
36.9MB
registry.cn-hangzhou.aliyuncs.com/google_containers/pause 3.2 80d28bedfe5d 8 months ago
683kB
$
$ exit
logout
4 - 啓動dashboard
執行minikube dashboard
命令會自動打開瀏覽器,進入 Dashboard
$ minikube dashboard
� 正在開啓 dashboard ...
� 正在驗證 dashboard 運行情況 ...
� Launching proxy ...
� 正在驗證 proxy 運行狀況 ...
� Opening http://127.0.0.1:51609/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default
browser...