30 分鐘學會 Docker 裏面開啓 k8s-Kubernetes- 登錄儀表盤 -圖文講解-

目錄

前言

我們之前搭建了第一個 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 裏面部署服務器集羣並訪問項目

番外:kubernetes,簡稱 k8s,k 和 s 之間有 8 個字母。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/Qn5UoBokDgALw0dkacymaQ