引言:在Windows上安装并使用kubernetes对于刚接触Kubernetes的开发人员是很是有帮助的。linux
在Windows 10上安装Docker Desktopgit
Windows版的Docker Desktop 是社区版本,您能够从Docker Hub上直接下载,下载连接以下:github
https://hub.docker.com/?overlay=onboardingdocker
注:在使用stable版(2.1.0.5)时,Docker Desktop偶尔会出现lifecycleserver超时没法正常启动,而使用Edge(2.1.7.0)版本正常。windows
系统要求:api
一、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|/)服务器
二、必须启用了Hyper-V和windows 容器特性app
硬件要求:ide
一、支持SLAT(Second Level Address Translation)的64位处理器性能
二、4GB或以上内存
三、必须在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将包含如下内容
一、Docker引擎、Docker CLI、Docker Compose、Docker Machine和Kitematic。
二、使用Docker Desktop建立的容器和镜像在安装Docker Desktop的计算机上的全部用户账户之间共享。这是由于全部Windows账户都使用同一个VM来构建和运行容器。
三、嵌套的虚拟化场景,例如在VMWare或Parallels实例上运行Docker Desktop,可能能够正常使用,但不能保证。
注意:有关Docker与Windows服务器的完整兼容性信息,请参阅Docker兼容性列表(https://success.docker.com/article/compatibility-matrix)。
安装Hyper-V和Containers
单击 "控制面板" -->"全部控制面板" -->"程序和功能" -->"启用或关闭Windows功能",勾选上"Containers"和"Hyper-V",以下图1.1所示。
图1.1
安装完Hyper-V后会提示重启系统,完成重启后,咱们能够在任务管理器中看到,在性能菜单中查看到CPU的虚拟化已启用,如图1.2所示。
图1.2
安装Docker Desktop
接下来开始安装Docker Desktop,双击“Docker Desktop Installer”开始安装,如图1.3所示。
图1.3
按默认勾选,完成安装,如图1.4所示。
图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 十、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"。
图1.5
Docker Desktop启动成功后,您应该会在电脑右下角的系统托盘中看到Docker图标,而且颜色是白色状态(若为红色则表示启动异常),如图1.6所示。而后还会弹出登陆Docker Hub的对话框,以下图所示,若是你在Docker Hub上有注册过帐号,此时是能够登陆的,如图1.7所示。
图1.6
图1.7
右击系统托盘的docker图标,点击"About Docker Desktop",获取各组件版本信息,如图1.8所示。
图1.8
启用Kubernetes
右击系统托盘的docker图标,在导航中,选择“Settints" ,如图1.9所示。
图1.9
首先,设置Docker的镜像源为daocloud,便于后续镜像加速下载,如图1.10所示。
{
"registry-mirrors": [“http://f1361db2.m.daocloud.io”],
"insecure-registries": [],
"debug": true,
"experimental": true
}
图1.10
若咱们直接在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
图1.11
kubernetes的镜像下载成功后,再进入到Docker Desktop的"Settings"中,选中标记为"Enable Kubernetes"的复选框,如图1.12所示,而后单击"Apply&Restart"。Docker Desktop开始设置并启动Kubernetes。当成功启动Kubernetes后,咱们可看到“Kubernetes is running”,左侧状态显示绿色,您就会知道一切都已成功完成。
图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
图1.13
登陆方式一
使用Kubeconfig文件登陆,Kubeconfig文件位于:C:\Users\xxuser\.kube\config
登陆方式二
配置控制台令牌并使用令牌登陆,如图1.14所示
图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_0z6JPqwpNbkIr3fsW8LWOVUSh1NNYbGlnKhjE9EnN_TbviXJpZQ4BUxgIA1IgbUZ9K6mch8Fp4Vawug_kxWu-ZhM21yK35I-cQ-FB7lRamdxhrr2nv8mRI5GX5_D74PbxUC98Uil3iUixA
图1.15
成功登陆到Kubernetes 控制台,如图1.16所示。
图1.16
接下来咱们就能够开启探索Kubernetes之旅了。