在Windows10上安装DockerDesktop并启用Kubernetes

引言:在Windows上安装并启用kubernetes对于刚接触Kubernetes的开发人员是非常有帮助的。

专注于为中小企业提供成都网站设计、成都网站制作、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业南充免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了数千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

在Windows 10上安装Docker Desktop

Windows版的Docker Desktop 是社区版本,您可以从Docker Hub上直接下载,下载链接如下:

https://hub.docker.com/?overlay=onboarding

注:在使用stable版(2.1.0.5)时,Docker Desktop偶尔会出现lifecycleserver超时无法正常启动,而使用Edge(2.1.7.0)版本正常。

系统要求:

1、Windows 10 64位,专业版、企业版、教育版(15063或更高版本),推荐从msdn上下载cn_windows_10_business_editions_version_1903_updated_sept_2019_x64_dvd_2f5281e1.iso(ed2k://|file|cn_windows_10_business_editions_version_1903_updated_sept_2019_x64_dvd_2f5281e1.iso|5231140864|B1D5C4C401036B0B1EBA64476A95F338|/)

2、必须启用了Hyper-V和windows 容器特性

硬件要求:

1、支持SLAT(Second Level Address Translation)的64位处理器

2、4GB或以上内存

3、必须在BIOS中设置启用硬件虚拟化

使用Docker Toolbox和Docker Machine或者Vmware的用户需知

Docker Desktop需要安装并启用Microsoft Hyper-V,并重新启动计算机。当启用Hyper-V后,VirtualBox或者Vmware将不能再正常使用。然而,任何现有的虚拟机镜像都会被保留。

使用docker-machine创建的VirtualBox虚拟机(包括安装Toolbox期间创建的默认虚拟机)将不能启动。这些虚拟机不能与Docker Desktop一起同时使用。但是,您仍然可以使用docker machine来管理vms。

注意:禁用Hyper-V后,仍可以正常使用VirtualBox和vmware。

安装Docker Desktop将包含以下内容

1、Docker引擎、Docker CLI、Docker Compose、Docker Machine和Kitematic。

2、使用Docker Desktop创建的容器和镜像在安装Docker Desktop的计算机上的所有用户帐户之间共享。这是因为所有Windows帐户都使用同一个VM来构建和运行容器。

3、嵌套的虚拟化场景,例如在VMWare或Parallels实例上运行Docker Desktop,可能可以正常使用,但不能保证。

注意:有关Docker与Windows服务器的完整兼容性信息,请参阅Docker兼容性列表(https://success.docker.com/article/compatibility-matrix)。

安装Hyper-V和Containers

单击 "控制面板" -->"所有控制面板" -->"程序和功能" -->"启用或关闭Windows功能",勾选上"Containers"和"Hyper-V",如下图1.1所示。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.1

安装完Hyper-V后会提示重启系统,完成重启后,我们可以在任务管理器中看到,在性能菜单中查看到CPU的虚拟化已启用,如图1.2所示。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.2

安装Docker Desktop

接下来开始安装Docker Desktop,双击“Docker Desktop Installer”开始安装,如图1.3所示。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.3

按默认勾选,完成安装,如图1.4所示。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.4

关于Windows容器

Use Windows containers instead of Linux containers(this can be changed after installation)表示是否用Windows容器来替代Linux容器(该切换操作在软件完成安装后也是可以切换的)

Windows和Linux容器之间的切换描述了如何在Docker Desktop中切换Linux和Windows容器(可参考:https://docs.docker.com/docker-for-windows/#switch-between-windows-and-linux-containers)。

Windows容器入门提供了如何在Windows 10、Windows Server 2016和Windows Server 2019上设置和运行Windows容器的教程(可参考:https://github.com/docker/labs/blob/master/windows/windows-containers/README.md)。

安装完成后,会提示注销当前用户并重新登录,点击"Close and log out",重新登录后,Docker Desktop会自动运行,这需要一定的时间才能完成启动,在启动过程中可能会告知Hyper-V和Containers的特性还未启用,询问是否启用,如图1.5所示,点击“OK"。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.5

Docker Desktop启动成功后,您应该会在电脑右下角的系统托盘中看到Docker图标,并且颜色是白色状态(若为红色则表示启动异常),如图1.6所示。然后还会弹出登录Docker Hub的对话框,如下图所示,如果你在Docker Hub上有注册过账号,此时是可以登录的,如图1.7所示。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.6

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.7

右击系统托盘的docker图标,点击"About Docker Desktop",获取各组件版本信息,如图1.8所示。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.8

启用Kubernetes

右击系统托盘的docker图标,在导航中,选择“Settints" ,如图1.9所示。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.9

首先,设置Docker的镜像源为daocloud,便于后续镜像加速下载,如图1.10所示。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.10

{

  "registry-mirrors": [“http://f1361db2.m.daocloud.io”],

  "insecure-registries": [],

  "debug": true,

  "experimental": true

}

若我们直接在Setttings中勾选并启动kubernetes是无法启动成功的,原因是Docker Desktop在初始化kubernetes时所用到的镜像image都是国外源,无法下载成功。可以从 https://github.com/AliyunContainerService/k8s-for-docker-desktop 下载。

当前master分支默认为1.15.5版本,而我们安装的Docker Desktop中的Kubernetes版本就是1.15.5,所以克隆后,不需要checkout到其他分支

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

在Windows上,使用 PowerShell执行以命令命令,如图1.11所示

.\load_images.ps1

若报提示禁止运行脚本问题,则先以管理员运行PowerShell,并执行以下命令,按"Y"键确认

Set-ExecutionPolicy –ExecutionPolicy

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.11

kubernetes的镜像下载成功后,再进入到Docker Desktop的"Settings"中,选中标记为"Enable Kubernetes"的复选框,如图1.12所示,然后单击"Apply&Restart"。Docker Desktop开始设置并启动Kubernetes。当成功启动Kubernetes后,我们可看到“Kubernetes is running”,左侧状态显示绿色,您就会知道一切都已成功完成。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.12

配置 Kubernetes 控制台

一个没有Web管理界面的Kubernetes对于小白来讲是没有灵魂的。

部署 Kubernetes dashboard


# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

注:若提示"Unable to connect to the server...",可以多执行几次,或者先通过其他途径Wget下来,然后再执行命令 kubectl apply -f kubernetes-dashboard.yaml 。

开启 API Server 访问代理(当然,我们还可以使用NodePort方式发布Kubernetes dashboard的端口,这样就不需要启动kube proxy了,相关设置将在Linux部署版本中讲解)

# kubectl proxy &

通过如下 URL 访问 Kubernetes dashboard,如图1.13所示,使用kubeconfig登录。

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.13

登录方式一

使用Kubeconfig文件登录,Kubeconfig文件位于:C:\Users\xxuser\.kube\config

登录方式二

配置控制台令牌并使用令牌登录,如图1.14所示

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.14

创建并查看访问令牌方法如图1.15所示。


PS C:\Users\tgh> kubectl get pods -n kube-system

NAME                                     READY   STATUS    RESTARTS   AGE

coreDNS-5c98db65d4-gctdb                 1/1     Running   0          122m

coredns-5c98db65d4-kbvbt                 1/1     Running   0          122m

etcd-docker-desktop                      1/1     Running   0          121m

kube-apiserver-docker-desktop            1/1     Running   0          121m

kube-controller-manager-docker-desktop   1/1     Running   0          120m

kube-proxy-v6lln                         1/1     Running   0          122m

kube-scheduler-docker-desktop            1/1     Running   0          121m

kubernetes-dashboard-7d75c474bb-znk76    1/1     Running   0          22m

  

$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]

kubectl config set-credentials docker-for-desktop --token="${TOKEN}"

echo $TOKEN

eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXN4azhyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZjZmZWZiYi05NGM3LTQ0NzAtYWNkOS1mNzE1NDBhZDNmN2IiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.SeZDjaQsXdXyYyCh9hXqoAs93C9KXk766BfRBqy_E0u35uonHtLA6hezahMJUPJxcri1-cJHGhAACjTPZvhwq1hJnEQk2WHErh9DUlrcfSbEN0gQ5xxafhFa76praHHgpkRNZD0lgypfRzOtixwee3OPtMm2Jy_4nmwTr2lGAV-_Vu70VMutM1gk9QLVaBJS2NCDKoL_0z6JPqwpNbkIr3fsW8LWOVUSh2NNYbGlnKhjE9EnN_TbviXJpZQ4BUxgIA1IgbUZ9K6mch8Fp4Vawug_kxWu-ZhM21yK35I-cQ-FB7lRamdxhrr2nv8mRI5GX5_D74PbxUC98Uil3iUixA

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.15

成功登录到Kubernetes 控制台,如图1.16所示。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.16

为了确认Kubernetes已启动并正常运行,现在创建一个名为pod.yaml的文本文件,其中包含以下内容:

apiVersion: v1

kind: Pod

metadata:

  name: demo

spec:

  containers:

  - name: testpod

    image: alpine:3.5

    command: ["ping", "114.114.114.114"]

如图1.17所示

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.17

这段yaml配置用于创建一个pod,并且该pod中仅有一个容器(副本数为1),在该容器中执行ping命令。

在Powershell中执行如下命令创建pod。

kubectl apply -f pod.yaml

查看pod是否正常运行

# kubectl get pods

查看pod日志 

# kubectl logs demo

如图1.18所示。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.18

最后,删除这个pod,如图1.19所示。

在Windows 10上安装Docker Desktop并启用Kubernetes

图1.19

接下来我们就可以开启探索Kubernetes之旅了。


网站名称:在Windows10上安装DockerDesktop并启用Kubernetes
文章链接:http://azwzsj.com/article/poohig.html