clone k8s-for-docker-desktop 项目

1
git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git

从阿里云镜像服务下载 Kubernetes 所需要的镜像

  • 如果项目未支持想要的镜像版本, 可以通过修改 images.properties 文件自行加载你自己需要的镜像

  • 如果因为安全策略无法执行 PowerShell 脚本,请在 “以管理员身份运行” 的 PowerShell 中执行 Set-ExecutionPolicy RemoteSigned 命令。

在Windows上,使用 PowerShell

1
.\load_images.ps1

开启 Kubernetes,并等待 Kubernetes 开始运行

如果在Kubernetes部署的过程中出现问题

  • 可以在 C:\ProgramData\DockerDesktop下的service.txt 查看Docker日志

  • 在 C:\Users\yourUserName\AppData\Local\Docker下的log.txt 查看Kubernetes日志

如果看到 Kubernetes一直在启动状态

  • 在Windows上面删除 'C:\ProgramData\DockerDesktop\pki' 目录 和 'C:\Users\yourUserName\AppData\Local\Docker\pki' 目录

配置 Kubernetes 控制台

部署 Kubernetes dashboard

recommended.yaml地址

下载下来并create

检查 kubernetes-dashboard 应用状态

1
kubectl get pod -n kubernetes-dashboard

开启 API Server 访问代理

1
kubectl proxy

通过如下 URL 访问 Kubernetes dashboard

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

配置控制台访问令牌

授权kube-system默认服务账号

kube-system-default.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kube-system-default
labels:
k8s-app: kube-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: default
namespace: kube-system
---
apiVersion: v1
kind: Secret
metadata:
name: default
namespace: kube-system
labels:
k8s-app: kube-system
annotations:
kubernetes.io/service-account.name: default
type: kubernetes.io/service-account-token

执行

1
kubectl apply -f kube-system-default.yaml

Windows环境下, 使用powershell执行

1
2
3
$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-desktop --token="${TOKEN}"
echo $TOKEN

登录dashboard的时候

选择 令牌

输入上文控制台输出的内容

或者选择 Kubeconfig 文件,路径如下:

1
Win: %UserProfile%\.kube\config

点击登陆,进入Kubernetes Dashboard

其他部分[istio/ingress...]可以参考: https://github.com/AliyunContainerService/k8s-for-docker-desktop