Windows 10 Kubernetes(minikube)搭建

Kubernetes是什麼?
Kubernetes (K8s) 是開源的集羣管理工具,用來管理集羣中容器對象,自動實現負載均衡。

前言
Windows 10 Docker的環境搭建
https://blog.csdn.net/hanjupiter/article/details/100173356

在Linux系統中,使用kubeadmin來管理多個集羣節點。 例如:一個master主機,兩個node節點,組成1個對外的主機
在Windows系統中,使用minikube 來進行單節點模式管理集羣

在微服務中,將各個接口剝離開後,將每一個業務接口按照業務量的多少 來創建多個容器,在Kubernetes 中自動實現負載均衡 在相同容器間的訪問資源。
如:傳統形式下,創建2臺主機,將所有的業務(登錄,用戶數據查詢,下單等)通過一個war 部署到tomcat中,由於主機的接口是唯一的,當登錄和用戶數據查詢接口被大量訪問時,會造成大量資源被佔用,此時想增加tomcat服務,需要修改代理服務設定,才能響應。
而在Kubernetes 中,可以將各接口按使用量來創建對應個數的容器,負載均衡的方式進行訪問,如登錄 8個容器,用戶數據查詢 10個容器,下單 5 的容器,這時當大量的用戶數據查詢發生時,也不會將其他的業務影響到,並且如果某個業務的容器資源佔用率高時,可以隨時添加新的容器,與原來的容器組進行合併,擴大負載均衡容器的數量,保證業務穩定運行,對外的接口不需要進行變更。

在一個集羣中,通過Kubernetes ,來創建容器集羣(POD),service。外部網絡調用到service,service調用POD中的docker容器。

1.官方鏈接

1.kubernetes官網中minikube安裝文檔 網址跳轉
2.minikube官方文檔 網址跳轉

2.下載

minikube官網 下載地址跳轉
下載方式有2種:

  1. 使用windows 安裝器
minikube-installer.exe
  1. 使用直連的方式,進入到GIT項目中,進行下載
minikube-windows-amd64

下載方式1

在GIT中找到minikube-installer.exe的安裝包,進行下載
當前下載的是v1.6.2版本
下載地址:v1.6.2-minikube-installer

在這裏插入圖片描述
下載後的文件
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

下載方式2

不進行介紹

3創建minikube集羣

文檔鏈接 啓動minikube
準備:
創建hyper-v的虛擬網卡,指向到本機的網卡上
1.開始中搜索hyper-v,並打開Hyper-V管理器
2.打開虛擬交換機管理器
在這裏插入圖片描述
3.創建虛擬交換機,選擇外部
minikube服務器與主機爲同一個網段,並且設定靜態IP後,重啓電腦後,依然可以正確訪問,否則重啓電腦後,IP地址發生變更,無法訪問。
在這裏插入圖片描述

4 虛擬交換機設定名稱,當前設定的是minikube-net(此時主機及虛擬機會共享此IP地址)在這裏插入圖片描述
3.在虛擬網卡中,添加虛擬網卡的DNS。
在這裏插入圖片描述

3.1 啓動 Minikube 並創建一個集羣(kubernetes版本號1.16)

※當前最新版本爲1.17,由於鏡像效驗問題,無法正確安裝,則使用1.16版本

minikube start --vm-driver=hyperv  --memory=4096 --disk-size='30000mb' --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" --hyperv-virtual-switch="minikube-net" --kubernetes-version v1.16.0

解釋:
minikube start 創建默認集羣/啓動已經關閉的默認集羣
--vm-driver=hyperv 指定虛擬機類型,win10是hyperv
--memory=4096  指定服務器的內存大小至4GB,參考下記的問題4,默認爲2GB
--disk-size='30000mb' 多個鏡像及容器啓動佔用大量磁盤,初始值增大服務器的磁盤容量
--image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" 鏡像下載地址重定向,參考下記的問題1和2
--hyperv-virtual-switch="minikube-net" 使用指定的虛擬交換機
--kubernetes-version v1.16.0 指定的kubernetes版本

安裝時間非常漫長,當提示kubeadm,kubelet 下載失敗後,使用問題3的解決方案即可。

3.2 虛擬機驅動名稱一覽

一覽列表

3.3 設定hyperv默認驅動器

minikube config set vm-driver hyperv

3.4 集羣內存設定

minikube 默認內存設定爲2G,擴大內存命令

minikube config set memory 4096

3.5 問題一覽

使用默認啓動命令時,會遇到下面的問題

minikube start --vm-driver=hyperv

問題1
minikube系統 下載速度慢
在這裏插入圖片描述
或者無法下載minikube.iso

解決方案
登錄minikube的git庫,下載指定版本的鏡像文件,例如:當前提示爲minikube-v1.7.0.iso
保存到用戶下的緩存路徑中,例如:C:\Users\Administrator.minikube\cache\iso

https://github.com/kubernetes/minikube/releases

在這裏插入圖片描述

問題2
無效的內存地址或空指針異常
在這裏插入圖片描述
解決方案
鏡像及容器替代路徑:

--image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" 

問題3
kubeadm 和 kubele聯網下載失敗
在這裏插入圖片描述
問題3的解決方案
使用第三方工具進行下載,存儲至user下的{user}.minikube\cache\v1.16.0文件夾中
例如:

C:\Users\Administrator\.minikube\cache\v1.16.0
kubeadm http://storage.googleapis.com/kubernetes-release/release/v1.16.0/bin/linux/amd64/kubeadm

kubelet http://storage.googleapis.com/kubernetes-release/release/v1.16.0/bin/linux/amd64/kubelet

存儲路徑:
在這裏插入圖片描述
再次啓動minikube,成功安裝

minikube start --vm-driver=hyperv --memory=4096 --disk-size='30000mb' --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" --hyperv-virtual-switch="minikube-net" --kubernetes-version v1.16.0

加粗樣式

問題4

apiserver無法響應
1.未重啓WIN10系統的場合,minikube服務器的IP地址沒有發生變更
在這裏插入圖片描述
在這裏插入圖片描述
解決方法:
增大 minikube 服務器的內存

--memory=8192

2.重啓WIN10系統的場合,hyper-v的內部虛擬網卡及minikube的服務器的IP地址發生了變更。

解決方法:
需要minikube綁定靜態IP地址,設定指定Vlan的虛擬網卡

--hyperv-virtual-switch="minikube-net"

IP地址恢復

minikube ssh "sudo ifconfig eth0:0 IP地址"
例如:minikube ssh "sudo ifconfig eth0:0 192.168.1.105"
問題5

1.7.0版本的minikube工具,無法正確創建minikube的服務器主機
提示錯誤:

'minikube delete': create: provisioning: Temporary Error: mkdir -p C:\Users\Administrator\.minikube: exec: "mkdir": executable file not found in %PATH%

在這裏插入圖片描述
解決方案
使用1.6.2版本的minikube工具
下載地址:v1.6.2-minikube-installer

3.6 啓動minikube控制檯

生成kubernetes控制檯網址

minikube dashboard
※1.重啓電腦/退出當前命令行,網頁無法進行訪問,需要重新生成url地址

在這裏插入圖片描述

使用網址登錄到kubernetes網頁控制檯
在這裏插入圖片描述
在Nodes選項卡中,minikube的集羣節點已經創建
在這裏插入圖片描述

3.7 查詢minikube集羣中已經下載的容器鏡像

登錄到集羣
minikube ssh
查看集羣中已經下載的鏡像 
docker images

在這裏插入圖片描述
minikube安裝基礎環境包
路徑:/var/lib/minikube/images/
在這裏插入圖片描述

3.8 刪除minikube集羣節點

minikube delete

在這裏插入圖片描述

3.9 查看minikube集羣節點狀態

minikube status

在這裏插入圖片描述

3.10 查看kubernetes集羣節點(node)狀態

kubectl get node

在這裏插入圖片描述

3.10 查看kubernetes集羣節點組件

kubectl get pod -n kube-system

在這裏插入圖片描述

3.11 停止minikube集羣節點

minikube stop

minikube stop

3.12 創建新的minikube集羣節點

minikube start -p 集羣節點名稱

3.13 重啓已經存在的minikube集羣節點

默認集羣
minikube start --vm-driver=hyperv --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" --kubernetes-version v1.16.0
指定名稱的集羣
minikube start -p 集羣名稱 --vm-driver=hyperv --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" --kubernetes-version v1.16.0

3.14 配置minikube的docker鏡像加速

由於minikube中下載registry-1.docker.io/v2/library/站點中的docker鏡像非常緩慢,導致創建容器失敗,需要配置docker的加速配置
※注:不要配置本地倉庫 insecure-registries,因爲/lib/systemd/system/docker.service文件中已經有相關的配置,如果重複設定會導致docker重啓失敗。

1.登錄到minikube中
minikube ssh
2.切換到/etc/docker/路徑下
$ cd /etc/docker/
3.切換到root權限
$ sudo su root
4.創建並編寫daemon.json文件
$ cat > daemon.json <<EOF
5.提示 > 時,粘貼下面的配置 
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
    "https://hub-mirror.c.163.com",
    "https://registry.docker-cn.com",
    "https://dockerhub.azk8s.cn",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
6.輸入EOF ,退出並保存
>EOF
7.重啓docker
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章