前言
我們之前搭建了第一個docker專案:
windows環境30分鐘從0開始快速搭建第一個docker專案(帶資料庫互動):https://www.cnblogs.com/xiongze520/p/15069441.html
然而我們知道,docker和k8s(Kubernetes)是配套使用的,我們今天就開啟k8s并登錄儀表盤,
注意:沒有安裝docker的可以先進行docker的搭建,接下來都是基于安裝好docker的基礎上進行的,
Docker:Docker Desktop for Window
Kubernetes版本:1.21.2
演示電腦系統版本:Windows 10 專業版
拉取Kubernetes鏡像
方式一:使用下面命令拉取(不建議使用,github比較慢,會導致git失敗)
命令1(拉取鏡像分支):git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git
命令2(進入拉取的分支目錄):cd k8s-for-docker-desktop
命令3(切換到指定版本)git checkout v1.21.2
方式二:強烈建議使用
點擊下面地址鏈接進入Kubernetes主頁,選擇指定的版本下載代碼,點擊下載zip后解壓,后續操作在解壓目錄,
注意:如果顯示無法訪問,可以多訪問幾次,網路問題導致,這個鏈接地址是正確的,
https://github.com/AliyunContainerService/k8s-for-docker-desktop



下載后解壓到自己的指定目錄,檔案名可以自定義,

安裝Kubernetes鏡像
以管理員身份運行PowerShell,如果運行失敗,運行x86的版本也可以,

進入我們下載安裝的目錄,如果路徑不正確的自行跳轉,如下:
cd.. 回傳上一級
cd 進入指定目錄

進入解壓目錄后,執行下面陳述句安裝,靜待安裝完成,
.\load_images.ps1

安裝完成后可以 使用docker images命令查看,

開啟Kubernetes
1、修改host地址
將C:\ProgramData\DockerDesktop\tmp-d4w的host.docker.internal內容修改,
修改后內容指向本機,后續k8s儀表盤地址可自行修改,
# Kubernetes
127.0.0.1 kubernetes.docker.internal
2、配置鏡像加速
配置完后點擊Apply&Restart保存,

{ "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://registry.docker-cn.com", "https://xxx.mirror.aliyuncs.com" ], "insecure-registries": [], "debug": true, "experimental": true, "features": { "buildkit": true }, "builder": { "gc": { "enabled": true, "defaultKeepStorage": "20GB" } } }
https://xxx.mirror.aliyuncs.com是阿里云鏡像,
查看阿里云的鏡像加速器地址,https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,
需要登錄阿里云才能查看,將 xxx 字符替換為你獲取到的地址,下面打碼遮擋的部分,
注:這里的加速地址大家除了這幾個,還可以去百度很多個進來,

3、啟動鏡像加速

4、設定k8s背景關系
首先獲取所有背景關系,執行如下命令,得到NAME名稱:
kubectl config get-contexts

設定背景關系(注意,后面的名稱是查看背景關系時的NAME,也就是docker-desktop,如果有docker-for-desktop的話也可以)
kubectl config use-context docker-desktop

5、驗證集群狀態
kubectl cluster-info

6、安裝k8s管理頁面Dashboard
#方式1 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml #方式2(推薦) kubectl create -f kubernetes-dashboard.yaml

使用命令重新安裝
kubectl delete -f kubernetes-dashboard.yaml kubectl create -f kubernetes-dashboard.yaml

查看Dashboard鏡像是否正常運行
kubectl get pods --all-namespaces

7、訪問Kubernetes Dashboard
使用 kubectl proxy 命令訪問
kubectl proxy

打開瀏覽器輸入以下地址訪問(注意,PowerShell視窗不要關閉,關閉后無法訪問)
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy

配置Token并登錄
1、創建服務賬號
首先創建一個叫admin-user的服務賬號,并放在kubernetes-dashboard命名空間下,
注意:這里需要重新開啟一個PowerShell,原來開啟的不要動,
New-Item admin-user.yaml

創建成功后這是一個空檔案,用記事本或者其他方式打開檔案, 復制如下內容保存,
# admin-user.yaml apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard

保存后執行kubectl create命令
kubectl create -f admin-user.yaml

2、系結角色
默認情況下,kubeadm創建集群時已經創建了admin角色,我們直接系結即可:
使用命令
New-Item admin-user-role-binding.yaml
同樣的,創建成功后這是一個空檔案,用記事本或者其他方式打開檔案, 復制如下內容保存,
# admin-user-role-binding.yaml apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kubernetes-dashboard
保存后執行kubectl create命令

3、獲取Token并登錄
執行如下命令即可獲得,
$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1] kubectl config set-credentials docker-for-desktop --token="${TOKEN}" echo $TOKEN
由于我已經獲取過了,所以這里顯示有問題,這個是永久的,獲取后可以放到記事本保存起來,

獲取到Token后,直接復制token進行登錄剛剛的面板,如下


這樣我們就在Docker里面開啟k8s(Kubernetes)儀表盤并登錄成功了,
參考文獻
- Docker Desktop for Mac/Windows 開啟 Kubernetes:https://codechina.csdn.net/mirrors/AliyunContainerService/k8s-for-docker-desktop/-/tree/v1.19.3
- docker for desktop安裝k8s踩坑記:https://segmentfault.com/a/1190000022975386?utm_source=tag-newest
- 解決開啟Kubernetes失敗:https://blog.csdn.net/zhhao1/article/details/105752429/
- 基于Docker Desktop for Windows安裝Kubernetes:https://blog.csdn.net/simongame/article/details/106727108
- 如何在win10的docker desktop中啟動Kubernetes:https://www.tqwba.com/x_d/jishu/272978.html
下篇預告
在kubernetes里面部署服務器集群并訪問專案
|
歡迎關注訂閱微信公眾號【熊澤有話說】,更多好玩易學知識等你來取 作者:熊澤-學習中的苦與樂 公眾號:熊澤有話說 出處: https://www.cnblogs.com/xiongze520/p/15268520.html 您可以隨意轉載、摘錄,但請在文章內注明作者和原文鏈接,
|

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/300325.html
標籤:其他
