前言

我們之前搭建了第一個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)儀表盤並登入成功了。


參考文獻


下篇預告

在kubernetes裡面部署伺服器叢集並訪問專案

 
歡迎關注訂閱微信公眾號【熊澤有話說】,更多好玩易學知識等你來取

作者:熊澤-學習中的苦與樂
公眾號:熊澤有話說


出處:   https://www.cnblogs.com/xiongze520/p/15268520.html



您可以隨意轉載、摘錄,但請在文章內註明作者和原文連結。