1. 查看所需K8S的版本

右键Docker desktop icon -> 选择Settings -> 点击Kubernetes

image-20210201212223536

2. 镜像代码地址

k8s-for-docker-desktop github

3. 切换分支到所需版本branch

我这里需要的版本号是:v1.19.3

用到的命令:

git clone https://codechina.csdn.net/mirrors/AliyunContainerService/k8s-for-docker-desktop.git
git checkout v1.19.3
git pull origin v1.19.3

如图所示:

image-20210201212715585

4. 加载镜像

进到仓库目录中 -> 使用管理员权限打开Powershell -> 执行命令**.\load_images.ps1**

4.1 执行报错:无法加载文件…,因为在此系统上严禁运行脚本

image-20210201213123840

解决办法:

在powershell中执行 set-ExecutionPolicy RemoteSigned

如图所示:

image-20210201213324267

5. 查看Docker镜像

cmd -> 执行docker images命令

image-20210201214041363

6. 开启 Kubernetes

image-20210201214226567

结果:

image-20210201214532383

7. 验证 Kubernetes 集群状态

执行命令:

  • kubectl cluster-info
  • kubectl get nodes

如图所示:

image-20210201215217750

8. 配置 Kubernetes 控制台

8.1 部署 Kubernetes dashboard

回到仓库目录下 -> 执行:kubectl create -f kubernetes-dashboard.yaml 命令

如图所示:

image-20210201215505253

8.2 开启 API Server 访问代理

执行:kubectl proxy命令

image-20210201215624611

8.3 访问K8S Dashboard

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

8.4 配置控制台访问令牌

如果没有登陆,则会默认定向到登陆页面,可以使用config或者token方式登陆。我们这里使用token方式登陆。

一般情况下,登陆的token默认都以secret对象的形式存在kube-system名称空间下,我们执行

kubectl get secret -n=kube-system

如图所示:

image-20210203204534763

这些secrets中的大部分都可以用来访问dashboard的,只有不同的账户权限不同,很多账户被限制不能进行操作。比如我们使用名称为default-token-7czv5的secret包含的token进行登陆

我们使用以下命令来查看这个secret包含的token的值

kubectl describe secret -n=kube-system default-token-fxmsx

如图所示:

image-20210203204848220

我们复制以上token值,然后粘贴到登陆页面的token里,就可以登陆了。

如图所示:

image-20210203204928427

8.5 如何配置一个拥有完整权限的token

8.5.1 创建一个dashboard管理用户

kubectl create serviceaccount dashboard-admin -n kube-system

image-20210203205024156

8.5.2 绑定用户为集群管理用户

kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

image-20210203205113343

8.5.3 结果

执行完以上操作后,由于管理用户的名称为dashboard-admin,生成的对应的secret的值则为dashboard-admin-token-随机字符串,我的机器上完整名称为dashboard-admin-token-gpqc4

image-20210203205541886

9. 参考

k8s-for-docker-desktop

Docker for Mac 搭建 Kubernetes

Logo

开源、云原生的融合云平台

更多推荐