Windows安装Docker Desktop并在WSL2集成Kubernetes

Windows安装Docker Desktop并在WSL2集成Kubernetes

  • 安装WSL2
    • 确认Windows版本
    • 启用WSL功能
    • 安装Linux发行版
    • 改为阿里云镜像
  • 安装Docker Desktop
    • 安装Docker Desktop
    • 设置Docker
  • KinD环境安装Kubernetes
    • 安装KinD
    • 安装kubelet,kubeadm和kubectl
  • 使用KinD创建Kubernetes集群

安装WSL2

确认Windows版本

注意:
首先要确保Windows版本在18917以上
可在设置 > 系统 > 关于中查看
Windows安装Docker Desktop并在WSL2集成Kubernetes_第1张图片

启用WSL功能

以管理员权限启动 PowerShell,然后输入以下命令启用虚拟机平台:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

以管理员权限启动 PowerShell,然后输入以下命令启用 Linux 子系统功能:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

在以上每一步命令执行完之后,PowerShell 中可能会提示你重新启动计算机。按“Y”可以重新启动。

设置 WSL 默认版本为2

wsl --set-default-version 2

安装Linux发行版

在Microsoft Store中下载Linux发行版,我这里下载了Ubuntu
Windows安装Docker Desktop并在WSL2集成Kubernetes_第2张图片
安装完成后,只是APP安装完成,Ubuntu系统还没有装到电脑里,需要启动该APP,然后自动执行安装,几分钟后就会提醒你设置用户名和密码。
设置好用户名和密码后,这个系统并没有设置root权限的密码,使用以下命令

sudo passwd root

然后输入你刚刚设置的密码,就可以设置root用户的密码。
Windows安装Docker Desktop并在WSL2集成Kubernetes_第3张图片
至此,Ubuntu就安装完了,可以关闭该终端。

再次确认版本是否为 WSL 2(如果上面设置了默认版本为2,这一步应该可以忽略)
打开Windows下的PowerShell,输入如下命令:

wsl -l -v

Windows安装Docker Desktop并在WSL2集成Kubernetes_第4张图片
如果Ubuntu的version为2,则可以忽略这一步,否则需要把Version转换为2,使用如下命令:

wsl --set-version Ubuntu 2

然后会自动转换为 WSL 2 版本。

改为阿里云镜像

由于国内原因,可能Ubuntu自带的软件源下载很慢,所以最好把软件源换成阿里的。
打开Ubuntu APP,或者在PowerShell中输入“wsl”,就能进入Ubuntu的命令行中。
首先输入su获取root权限。
先把原来的软件源备份一下

cp /etc/apt/sources.list /etc/apt/sources.list.bak

然后输入以下命令配置阿里云镜像(适用于20.04版本的Ubuntu,其它版本可以去阿里云镜像官网查看)

echo "deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse" > /etc/apt/sources.list

然后执行更新

apt update && apt upgrade -y

至此,WSL2的配置全部完成。

安装Docker Desktop

其实直接在Ubuntu中使用apt install命令就能安装docker,但是docker官方已经有了适用于Windows中WSL2环境的桌面版本的docker,比较方便,而且有图形界面,便于上手。

安装Docker Desktop

进入官网直接下载:Docker Desktop官网
安装时记得勾选使用 WSL 2 特性

设置Docker

首先确保 WSL 2 引擎打开
Windows安装Docker Desktop并在WSL2集成Kubernetes_第5张图片
然后要选中将Docker集成到Ubuntu
Windows安装Docker Desktop并在WSL2集成Kubernetes_第6张图片
这里也可以配置docker镜像下载位置为阿里云,可以进入阿里云容器镜像服务官网,阿里云可以给你一个加速器地址,使用加速器可以提升获取Docker官方镜像的速度。
Windows安装Docker Desktop并在WSL2集成Kubernetes_第7张图片

然后复制到docker的设置中
Windows安装Docker Desktop并在WSL2集成Kubernetes_第8张图片
至此,Docker全部设置完毕,可以去 WSL 环境下使用docker version查看是否成功。
Windows安装Docker Desktop并在WSL2集成Kubernetes_第9张图片

KinD环境安装Kubernetes

Kind 的全称是Kubernetes in Docker

安装KinD

可以查看KinD官网
打开 WSL 终端,先下载KinD二进制文件(最新版本可在官网中查看,目前是0.8.1)由于网络原因,这一步需要的时间比较长,如果很快就下完了,很有可能没下完整。

curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.8.1/kind-$(uname)-amd64

然后标记为可执行文件

chmod +x ./kind

然后移动到bin目录下

mv ./kind /usr/local/bin/

使用kind version命令验证KinD是否安装成功。
验证是否安装成功

安装kubelet,kubeadm和kubectl

可以看Kubectl官方文档,官方文档中给出的安装命令如下:

#请不要使用这段代码!
sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl

但是官方文档在国内网络环境下并不适用,请使用以下代码:

第一步是安装https,这一步因为上面已经配置好了apt使用阿里云镜像,所以没问题。

sudo apt-get update && sudo apt-get install -y apt-transport-https

但是,由于国内网络原因,无法连接Google,很可能第二步会卡死。

这里也可以使用阿里云的镜像,把第二步的命令改为:

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

然后运行:

cat </etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF

修改完这个list文件后,最后执行

apt-get update
apt-get install -y kubelet kubeadm kubectl

至此,kubelet,kubeadm和kubectl就安装成功了。

可以使用kubectl version验证是否安装成功
验证安装

使用KinD创建Kubernetes集群

使用如下命令创建集群:
kind create cluster --name myk8s
Windows安装Docker Desktop并在WSL2集成Kubernetes_第10张图片
然后使用kubectl cluster-info --context kind-myk8s即可查看集群信息,访问该网站可以看到
Windows安装Docker Desktop并在WSL2集成Kubernetes_第11张图片
在Docker Desktop也可以看到对应的容器,这就是Desktop的方便之处。
Windows安装Docker Desktop并在WSL2集成Kubernetes_第12张图片
同时使用kubectl get nodes也可以看到kubernetes节点,这就是一个单节点的集群
查看节点

你可能感兴趣的:(docker,kubernetes)