新聞中心
引言:在Windows上安裝并啟用kubernetes對于剛接觸Kubernetes的開發(fā)人員是非常有幫助的。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)南充免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
在Windows 10上安裝Docker Desktop
Windows版的Docker Desktop 是社區(qū)版本,您可以從Docker Hub上直接下載,下載鏈接如下:
https://hub.docker.com/?overlay=onboarding
注:在使用stable版(2.1.0.5)時,Docker Desktop偶爾會出現(xiàn)lifecycleserver超時無法正常啟動,而使用Edge(2.1.7.0)版本正常。
系統(tǒng)要求:
1、Windows 10 64位,專業(yè)版、企業(yè)版、教育版(15063或更高版本),推薦從msdn上下載cn_windows_10_business_editions_version_1903_updated_sept_2019_x64_dvd_2f5281e1.iso(ed2k://|file|cn_windows_10_business_editions_version_1903_updated_sept_2019_x64_dvd_2f5281e1.iso|5231140864|B1D5C4C401036B0B1EBA64476A95F338|/)
2、必須啟用了Hyper-V和windows 容器特性
硬件要求:
1、支持SLAT(Second Level Address Translation)的64位處理器
2、4GB或以上內(nèi)存
3、必須在BIOS中設(shè)置啟用硬件虛擬化
使用Docker Toolbox和Docker Machine或者Vmware的用戶需知
Docker Desktop需要安裝并啟用Microsoft Hyper-V,并重新啟動計算機。當啟用Hyper-V后,VirtualBox或者Vmware將不能再正常使用。然而,任何現(xiàn)有的虛擬機鏡像都會被保留。
使用docker-machine創(chuàng)建的VirtualBox虛擬機(包括安裝Toolbox期間創(chuàng)建的默認虛擬機)將不能啟動。這些虛擬機不能與Docker Desktop一起同時使用。但是,您仍然可以使用docker machine來管理vms。
注意:禁用Hyper-V后,仍可以正常使用VirtualBox和vmware。
安裝Docker Desktop將包含以下內(nèi)容
1、Docker引擎、Docker CLI、Docker Compose、Docker Machine和Kitematic。
2、使用Docker Desktop創(chuàng)建的容器和鏡像在安裝Docker Desktop的計算機上的所有用戶帳戶之間共享。這是因為所有Windows帳戶都使用同一個VM來構(gòu)建和運行容器。
3、嵌套的虛擬化場景,例如在VMWare或Parallels實例上運行Docker Desktop,可能可以正常使用,但不能保證。
注意:有關(guān)Docker與Windows"所有控制面板" -->"程序和功能" -->"啟用或關(guān)閉Windows功能",勾選上"Containers"和"Hyper-V",如下圖1.1所示。
圖1.1
安裝完Hyper-V后會提示重啟系統(tǒng),完成重啟后,我們可以在任務(wù)管理器中看到,在性能菜單中查看到CPU的虛擬化已啟用,如圖1.2所示。
圖1.2
安裝Docker Desktop
接下來開始安裝Docker Desktop,雙擊“Docker Desktop Installer”開始安裝,如圖1.3所示。
圖1.3
按默認勾選,完成安裝,如圖1.4所示。
圖1.4
關(guān)于Windows容器
Use Windows containers instead of Linux containers(this can be changed after installation)表示是否用Windows容器來替代Linux容器(該切換操作在軟件完成安裝后也是可以切換的)
Windows和Linux容器之間的切換描述了如何在Docker Desktop中切換Linux和Windows容器(可參考:https://docs.docker.com/docker-for-windows/#switch-between-windows-and-linux-containers)。
Windows容器入門提供了如何在Windows 10、Windows Server 2016和Windows Server 2019上設(shè)置和運行Windows容器的教程(可參考:https://github.com/docker/labs/blob/master/windows/windows-containers/README.md)。
安裝完成后,會提示注銷當前用戶并重新登錄,點擊"Close and log out",重新登錄后,Docker Desktop會自動運行,這需要一定的時間才能完成啟動,在啟動過程中可能會告知Hyper-V和Containers的特性還未啟用,詢問是否啟用,如圖1.5所示,點擊“OK"。
圖1.5
Docker Desktop啟動成功后,您應(yīng)該會在電腦右下角的系統(tǒng)托盤中看到Docker圖標,并且顏色是白色狀態(tài)(若為紅色則表示啟動異常),如圖1.6所示。然后還會彈出登錄Docker Hub的對話框,如下圖所示,如果你在Docker Hub上有注冊過賬號,此時是可以登錄的,如圖1.7所示。
圖1.6
圖1.7
右擊系統(tǒng)托盤的docker圖標,點擊"About Docker Desktop",獲取各組件版本信息,如圖1.8所示。
圖1.8
啟用Kubernetes
右擊系統(tǒng)托盤的docker圖標,在導(dǎo)航中,選擇“Settints" ,如圖1.9所示。
圖1.9
首先,設(shè)置Docker的鏡像源為daocloud,便于后續(xù)鏡像加速下載,如圖1.10所示。
圖1.10
{
? "registry-mirrors": [“http://f1361db2.m.daocloud.io”],
? "insecure-registries": [],
? "debug": true,
? "experimental": true
}
若我們直接在Setttings中勾選并啟動kubernetes是無法啟動成功的,原因是Docker Desktop在初始化kubernetes時所用到的鏡像image都是國外源,無法下載成功??梢詮?https://github.com/AliyunContainerService/k8s-for-docker-desktop 下載。
當前master分支默認為1.15.5版本,而我們安裝的Docker Desktop中的Kubernetes版本就是1.15.5,所以克隆后,不需要checkout到其他分支
# git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git
在Windows上,使用 PowerShell執(zhí)行以命令命令,如圖1.11所示
.\load_images.ps1
若報提示禁止運行腳本問題,則先以管理員運行PowerShell,并執(zhí)行以下命令,按"Y"鍵確認
Set-ExecutionPolicy –ExecutionPolicy
圖1.11
kubernetes的鏡像下載成功后,再進入到Docker Desktop的"Settings"中,選中標記為"Enable Kubernetes"的復(fù)選框,如圖1.12所示,然后單擊"Apply&Restart"。Docker Desktop開始設(shè)置并啟動Kubernetes。當成功啟動Kubernetes后,我們可看到“Kubernetes is running”,左側(cè)狀態(tài)顯示綠色,您就會知道一切都已成功完成。
圖1.12
配置 Kubernetes 控制臺
一個沒有Web管理界面的Kubernetes對于小白來講是沒有靈魂的。
部署 Kubernetes dashboard
#?kubectl?apply?-f?https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
注:若提示"Unable to connect to the server...",可以多執(zhí)行幾次,或者先通過其他途徑Wget下來,然后再執(zhí)行命令 kubectl apply -f kubernetes-dashboard.yaml 。
開啟 API Server 訪問代理(當然,我們還可以使用NodePort方式發(fā)布Kubernetes dashboard的端口,這樣就不需要啟動kube proxy了,相關(guān)設(shè)置將在Linux部署版本中講解)
# kubectl proxy &
通過如下 URL 訪問 Kubernetes dashboard,如圖1.13所示,使用kubeconfig登錄。
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default
圖1.13
登錄方式一
使用Kubeconfig文件登錄,Kubeconfig文件位于:C:\Users\xxuser\.kube\config
登錄方式二
配置控制臺令牌并使用令牌登錄,如圖1.14所示
圖1.14
創(chuàng)建并查看訪問令牌方法如圖1.15所示。
PS?C:\Users\tgh>?kubectl?get?pods?-n?kube-system
NAME?????????????????????????????????????READY???STATUS????RESTARTS???AGE
coreDNS-5c98db65d4-gctdb?????????????????1/1?????Running???0??????????122m
coredns-5c98db65d4-kbvbt?????????????????1/1?????Running???0??????????122m
etcd-docker-desktop??????????????????????1/1?????Running???0??????????121m
kube-apiserver-docker-desktop????????????1/1?????Running???0??????????121m
kube-controller-manager-docker-desktop???1/1?????Running???0??????????120m
kube-proxy-v6lln?????????????????????????1/1?????Running???0??????????122m
kube-scheduler-docker-desktop????????????1/1?????Running???0??????????121m
kubernetes-dashboard-7d75c474bb-znk76????1/1?????Running???0??????????22m
??
$TOKEN=((kubectl?-n?kube-system?describe?secret?default?|?Select-String?"token:")?-split?"?+")[1]
kubectl?config?set-credentials?docker-for-desktop?--token="${TOKEN}"
echo?$TOKEN
eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXN4azhyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZjZmZWZiYi05NGM3LTQ0NzAtYWNkOS1mNzE1NDBhZDNmN2IiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.SeZDjaQsXdXyYyCh9hXqoAs93C9KXk766BfRBqy_E0u35uonHtLA6hezahMJUPJxcri1-cJHGhAACjTPZvhwq1hJnEQk2WHErh9DUlrcfSbEN0gQ5xxafhFa76praHHgpkRNZD0lgypfRzOtixwee3OPtMm2Jy_4nmwTr2lGAV-_Vu70VMutM1gk9QLVaBJS2NCDKoL_0z6JPqwpNbkIr3fsW8LWOVUSh2NNYbGlnKhjE9EnN_TbviXJpZQ4BUxgIA1IgbUZ9K6mch8Fp4Vawug_kxWu-ZhM21yK35I-cQ-FB7lRamdxhrr2nv8mRI5GX5_D74PbxUC98Uil3iUixA
圖1.15
成功登錄到Kubernetes 控制臺,如圖1.16所示。
圖1.16
為了確認Kubernetes已啟動并正常運行,現(xiàn)在創(chuàng)建一個名為pod.yaml的文本文件,其中包含以下內(nèi)容:
apiVersion: v1
kind: Pod
metadata:
? name: demo
spec:
? containers:
? - name: testpod
? ? image: alpine:3.5
? ? command: ["ping", "114.114.114.114"]
如圖1.17所示
圖1.17
這段yaml配置用于創(chuàng)建一個pod,并且該pod中僅有一個容器(副本數(shù)為1),在該容器中執(zhí)行ping命令。
在Powershell中執(zhí)行如下命令創(chuàng)建pod。
kubectl?apply?-f?pod.yaml
查看pod是否正常運行
#?kubectl?get?pods
查看pod日志?
#?kubectl?logs?demo
如圖1.18所示。
圖1.18
最后,刪除這個pod,如圖1.19所示。
圖1.19
接下來我們就可以開啟探索Kubernetes之旅了。
網(wǎng)站標題:在Windows10上安裝DockerDesktop并啟用Kubernetes
網(wǎng)頁URL:http://ef60e0e.cn/article/poohig.html