更新:请参考 https://github.com/AliyunContainerService/k8s-for-docker-desktop

1. 安装 docker for windows

打开 BIOS 中的虚拟化选项。

注意,开启 hyper-v 可能会导致 virtualbox 和 vmware 不可用。

2. 配置 docker 环境

如需启用 docker host,打开 General ”Expose daemon on 2375” 。

3. 配置 k8s

安装过程中会自动安装 kubectl

1
2
$ kubectl get namespaces
$ kubectl get posts --namespace kube-system

4. 安装 dashboard

1
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

验证:

1
kubectl get deployments --namespace kube-system
1
kubectl get services --namespace kube-system

在 Dashboard 启动完毕后,可以使用 kubectl 提供的 Proxy 服务来访问该面板:

1
kubectl proxy

访问:

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

如果不能访问,需要编辑 kubectl -n kube-system edit service kubernetes-dashboardtype: ClusterIP 改为 type: NodePort 并保存,再次访问即可。

显示界面后,可以先点“跳过”,进入到 dashboard.

Docker 同样为我们提供了简单的应用示范,可以直接使用如下的 Docker Compose 配置文件:

 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
26
version: '3.3'

services:
  web:
    build: web
    image: dockerdemos/lab-web
    volumes:
     - "./web/static:/static"
    ports:
     - "80:80"

  words:
    build: words
    image: dockerdemos/lab-words
    deploy:
      replicas: 5
      endpoint_mode: dnsrr
      resources:
        limits:
          memory: 16M
        reservations:
          memory: 16M

  db:
    build: db
    image: dockerdemos/lab-db

然后使用 stack 命令创建应用栈:

1
docker stack deploy --compose-file stack.yml demo

应用栈创建完毕后,可以使用 kubectl 查看创建的 Pods:

1
kubectl get pods

也可以来查看部署的集群与服务:

1
2
kubectl get deployments
kubectl get services

最后我们还可以用 stack 与 kubectl 命令来删除应用:

1
2
docker stack remove demo
kubectl delete deployment kubernetes-dashboard --namespace kube-system

参考:

https://segmentfault.com/a/1190000012850396