Docker Desktop中使用K8S

在Docker Desktop的设置中找到Kubernetes,然后选中Enable Kubernetes 和Show System conteainers,按“Apply & restart”,可用设置启动K8S。需要注意的是,在启动过程中,需要从网络下载必要的镜像,所以需要花费一些时间(有可能几十分钟),在Images中可以看到下载的镜像。

如果镜像下载完成,但启动出现问题,有可能是与现有镜像冲突,需要在Troubleshoot中清除现有的容器和镜像。注意,这个步骤会清除所有现有容器和镜像。重新设置启动Kubernetes,多半就可以了。

Kubernetes启动后,需要安装Dashboard,用来监测和管理,下面是安装和使用步骤。

首先执行下面的代码:

1
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

部署完成后,在终端执行:

1
kubectl proxy

然后在浏览器输入地址:

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

这时会提示需要认证,选择Token方式。

接下来,需要创建admin用户,然后为这个用户生成token。先要创建一个文件:

1
2
3
4
5
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard

名称为create_adminaccount1.yaml,用于创建用户,再创建一个yaml用于设置角色,名称为create_adminaccount2.yaml:

1
2
3
4
5
6
7
8
9
10
11
12
13
apiVersion: rbac.authorization.k8s.io/v1
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

执行下面的命令:

1
2
kubectl apply -f createaccount_1.yaml
kubectl apply -f createaccount_2.yaml

然后执行:

1
kubectl -n kubernetes-dashboard create token admin-user

将产生的token拷贝到浏览器中,就可以进入dashboard了。