跳到主要内容

wsl+docker desktop

wsl+docker desktop

WSL2和hyper-v区别

Docker 是指容器化技术,用于支持创建和使用 Linux® 容器(LXC技术) 。 我们在 Window 上安装 Docker Desktop ,需要基于 Linux 环境。 在 Windows上,Docker Desktop 为我们提供通过了两个选项:WSL 与 Hyper-V 。

简单来说:

  • wsl是一个运行在我下面的解释linux命令的程序,可以直接操作win的资源,又集成了如putty类的集合,不过人家是自己做的。WSL 使用 Hyper-V 架构来实现其虚拟化。。
  • WSL 官方文档(Windows Subsystem for Linux,适用于windows的linux子系统)则是Windows 操作系统的一项特性,可让您直接在 Windows 上运行 Linux 文件系统以及 Linux 命令行工具和 GUI 应用程序,以及传统的 Windows 桌面和应用程序。
  • 运行WSL的开销比运行一个虚拟机低很多。WSL 2实际上用的是运行在Hyper-v上的linux内核,相较于虚拟机你不需要很多的性能开销。
  • hyper-v是虚拟机程序,可以提供一个完整的计算机环模拟,与host需要通过网络访问 。Hyper-V 微软官方文档 :让你可以在 Windows 上以虚拟机形式运行多个操作系统,提供硬件虚拟化。

在大多数情况下: 如果你只使用 Docker : WSL 如果你需要Linux,其他的虚拟机或想访问Docker的高级选项卡来分配资源: Hyper-V。

==1、范例:winodws如何安装docker desktop-2024.7.1(测试成功)==

gpt回答

在Windows上安装Docker Desktop是一个相对简单的过程。以下是详细的步骤:

前提条件

  1. 操作系统要求:确保你的Windows系统是64位的,并且是Windows 10专业版、企业版或教育版(版本1607或更高)。

  2. 启用Hyper-V:Docker Desktop需要Hyper-V和容器功能。你可以在“控制面板” -> “程序” -> “程序和功能” -> “启用或关闭Windows功能”中启用这些功能。

    次操作需要重启笔记本。

安装步骤

  1. 下载Docker Desktop

    • 访问Docker官网
    • 点击“Get Docker”按钮下载适用于Windows的Docker Desktop安装程序。

  2. 运行安装程序

    • 双击下载的安装程序(通常名为Docker Desktop Installer.exe)。
    • 如果系统提示你需要管理员权限,请确认并继续。

  3. 安装向导

    • 在安装向导中,你可以选择是否启用WSL 2(Windows Subsystem for Linux 2)后端。推荐启用,因为它可以提高性能并更好地集成Linux环境
    • 点击“OK”或“Next”继续。
  4. 完成安装

    • 安装完成后,Docker Desktop会提示你重启系统。
    • 重启后,Docker Desktop会自动启动。

  5. 配置Docker Desktop

    • 在系统托盘中找到Docker图标,右键点击并选择“Settings”。
    • 在“General”选项卡中,确保“Use the WSL 2 based engine”被选中(如果适用)。
    • 在“Resources”选项卡中,你可以配置CPU、内存、磁盘等资源。
    • 点击“Apply & Restart”保存设置并重启Docker Desktop。

验证安装

  1. 打开命令提示符或PowerShell

    • 输入以下命令检查Docker版本:

      docker --version
    • 输出应该显示Docker的版本信息,例如:

      Docker version 20.10.7, build f0df350
  2. 运行一个测试容器

    • 输入以下命令运行一个简单的Hello World容器:

      docker run hello-world
    • 如果一切正常,你应该会看到一条消息,说明容器成功运行并输出了一条问候信息。

通过以上步骤,你应该已经成功在Windows上安装并配置了Docker Desktop。如果你遇到任何问题,可以参考Docker的官方文档或社区支持资源。

==2、范例:windows10如何安装wsl ubuntu?-2024.7.1(测试成功)==

在Windows 10上安装WSL(Windows Subsystem for Linux)并安装Ubuntu是一个相对简单的过程。以下是详细的步骤:

启用WSL

  1. 打开PowerShell作为管理员

    • 按下Win + X,然后选择“Windows PowerShell (管理员)”或“Windows Terminal (管理员)”。
  2. 启用WSL

    • 在PowerShell中输入以下命令并按回车:

      dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

  3. 启用虚拟机平台(如果需要):

    • 输入以下命令并按回车:

      dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

  4. 重启计算机

    • 输入以下命令重启计算机:

      Restart-Computer

设置WSL 2为默认版本

  1. 打开PowerShell作为管理员

    • 按下Win + X,然后选择“Windows PowerShell (管理员)”或“Windows Terminal (管理员)”。
  2. 设置WSL 2为默认版本

    • 在PowerShell中输入以下命令并按回车:

      wsl --set-default-version 2

安装Ubuntu

  1. 打开Microsoft Store

    • 点击“开始”菜单,搜索并打开“Microsoft Store”。
  2. 搜索Ubuntu

    • 在Microsoft Store中搜索“Ubuntu”。
  3. 选择并安装Ubuntu

    • 选择你想要的Ubuntu版本(例如Ubuntu 20.04 LTS),然后点击“获取”或“安装”。
  4. 启动Ubuntu

    • 安装完成后,你可以在“开始”菜单中找到并启动Ubuntu。
  5. 初始设置

    • 第一次启动Ubuntu时,系统会提示你创建一个用户名和密码。按照提示完成设置。

验证安装

  1. 打开Ubuntu

    • 在“开始”菜单中找到并启动Ubuntu。
  2. 检查Ubuntu版本

    • 在Ubuntu终端中输入以下命令并按回车:

      lsb_release -a
    • 输出应该显示Ubuntu的版本信息,例如:

      No LSB modules are available.
      Distributor ID: Ubuntu
      Description: Ubuntu 20.04.2 LTS
      Release: 20.04
      Codename: focal

通过以上步骤,你应该已经成功在Windows 10上安装并配置了WSL Ubuntu。如果你遇到任何问题,可以参考微软的官方文档或社区支持资源。

😍3、安装好wsl+docker desktop后必配置选项

2、wsl机器默认配置

版本

root@DESKTOP-J4AQ8L4:~# cat /etc/os-release 
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
root@DESKTOP-J4AQ8L4:~#

网络

172.22.254.77/20

image-20240708200456876

image-20240708200542351

vEthernet (WSL)网卡:172.22.240.1

image-20240708200607800

vEthernet (Default Switch)网卡:172.19.208.1

image-20240708200624903

默认,wsl是可以ping测百度的

image-20240708200815019

  • 内核

image-20240708200857369

磁盘

image-20240708200957249

8、docker desktop与wsl配置(已解决)😎

我的win10安装好了wsl2和docker desktop,然后如何配置,可以在wsl里使用docker desktop呢?

gpt

在 Windows 10 上安装了 WSL 2 和 Docker Desktop 后,你可以配置 Docker Desktop 以在 WSL 2 中使用。以下是详细的配置步骤:

1. 启用 WSL 2 支持

确保你的 Windows 10 已经启用了 WSL 2 支持。你可以通过以下步骤检查和启用:

  1. 打开 PowerShell 作为管理员

    • Win + X,然后选择“Windows PowerShell (管理员)”。
  2. 启用 WSL 和虚拟机平台

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

    image-20240709220601220

  3. 设置 WSL 默认版本为 2

    wsl --set-default-version 2

    image-20240709220615191

2. 安装 Docker Desktop

确保你已经安装了 Docker Desktop,并且它正在运行。

3. 配置 Docker Desktop 使用 WSL 2

  1. 打开 Docker Desktop 设置

    • 在系统托盘中找到 Docker 图标,右键点击并选择“Settings”。
  2. 启用 WSL 2 后端

    • 在设置窗口中,选择“General”选项卡,并确保“Use the WSL 2 based engine”选项被勾选。

      image-20240709220747610

  3. 配置 WSL 集成

    • 在设置窗口中,选择“Resources” -> “WSL Integration”。

    • 确保你想要使用 Docker 的 WSL 2 发行版被启用。例如,如果你安装了 Ubuntu,确保“Ubuntu”被勾选。

      image-20240709220827337

  4. 应用并重启 Docker Desktop

    • 点击“Apply & Restart”按钮。

4. 在 WSL 2 中使用 Docker

  1. 打开 WSL 2 发行版

    • 打开你的 WSL 2 发行版,例如 Ubuntu。
  2. 验证 Docker 安装

    • 在 WSL 2 终端中,运行以下命令来验证 Docker 是否正常工作:

      docker --version

      image-20240709220915469

  3. 运行 Docker 命令

    • 现在你可以在 WSL 2 中运行 Docker 命令,例如:

      root@DESKTOP-J4AQ8L4:~# docker run -itd nginx
      Unable to find image 'nginx:latest' locally
      latest: Pulling from library/nginx
      f11c1adaa26e: Pull complete
      c6b156574604: Pull complete
      ea5d7144c337: Pull complete
      1bbcb9df2c93: Pull complete
      537a6cfe3404: Pull complete
      767bff2cc03e: Pull complete
      adc73cb74f25: Pull complete
      Digest: sha256:67682bda769fae1ccf5183192b8daf37b64cae99c6c3302650f6f8bf5f0f95df
      Status: Downloaded newer image for nginx:latest
      1c5b1939506ebe95469e6820bb0ce76d76d5b74649c73a26c6a6fb21589928c9
      root@DESKTOP-J4AQ8L4:~# docker ps
      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
      1c5b1939506e nginx "/docker-entrypoint.…" 4 seconds ago Up 3 seconds 80/tcp hopeful_perlman
      root@DESKTOP-J4AQ8L4:~#

      image-20240710051844537

      image-20240710051955080

      拉取正常。

5. 配置 Docker 环境变量(可选)

这里的步骤不做配置。。。。(因为不懂这里的选项是什么)🤣

为了方便在 WSL 2 中使用 Docker,你可以将 Docker 环境变量添加到你的 WSL 2 发行版的 shell 配置文件中。
  1. 编辑 shell 配置文件

    • 例如,如果你使用的是 Bash,编辑 ~/.bashrc 文件;如果你使用的是 Zsh,编辑 ~/.zshrc 文件。
  2. 添加 Docker 环境变量

    • 在文件末尾添加以下行:

      export DOCKER_HOST=unix:///mnt/wsl/shared-docker/docker.sock
  3. 重新加载配置文件

    • 运行以下命令重新加载配置文件:

      source ~/.bashrc  # 或 source ~/.zshrc

通过以上步骤,你已经成功配置了 Docker Desktop 以在 WSL 2 中使用。现在你可以在 WSL 2 中方便地运行和管理 Docker 容器了。

9、win10安装好了wsl和docker,有什么对docker desktop推荐的配置吗?

在 Windows 10 上安装了 WSL 和 Docker Desktop 后,为了获得更好的性能和更顺畅的体验,你可以进行一些推荐的配置。以下是一些建议:

1. 启用 WSL 2

确保你使用的是 WSL 2 而不是 WSL 1,因为 WSL 2 提供了更好的性能和完整的系统调用兼容性。

  1. 设置 WSL 默认版本为 2

    wsl --set-default-version 2
  2. 将已安装的发行版升级到 WSL 2

    wsl --set-version <DistributionName> 2

    例如,如果你安装了 Ubuntu,命令如下:

    wsl --set-version Ubuntu 2

2. 配置 Docker Desktop 使用 WSL 2

  1. 打开 Docker Desktop 设置

    • 在系统托盘中找到 Docker 图标,右键点击并选择“Settings”。
  2. 启用 WSL 2 后端

    • 在设置窗口中,选择“General”选项卡,并确保“Use the WSL 2 based engine”选项被勾选。
  3. 配置 WSL 集成

    • 在设置窗口中,选择“Resources” -> “WSL Integration”。
    • 确保你想要使用 Docker 的 WSL 2 发行版被启用。例如,如果你安装了 Ubuntu,确保“Ubuntu”被勾选。
  4. 应用并重启 Docker Desktop

    • 点击“Apply & Restart”按钮。

3. 调整 Docker Desktop 资源限制(这个是重点)😁

根据你的系统配置,你可能需要调整 Docker Desktop 的资源限制,以确保 Docker 有足够的资源运行。

  1. 调整内存和 CPU 限制

    • 在设置窗口中,选择“Resources” -> “Advanced”。
    • 根据你的系统配置,调整“Memory”和“CPUs”的值。例如,如果你的系统有 16GB 内存和 8 个 CPU 核心,你可以分配 4GB 内存和 4 个 CPU 核心给 Docker。
  2. 调整磁盘限制

    • 在“Advanced”选项卡中,你还可以调整“Disk image size”和“Disk image location”。
默认配置

image-20240709221901354

✌ 配置磁盘镜像位置(已修改)

docker-desktop-disk-image

image-20240709222011705

✌ 内存、cpu限制文件配置(修改.wslconfig文件)(已解决)
官方

image-20240709222203772

C:\Users\<UserName>\.wslconfig

# Settings apply across all Linux distros running on WSL 2
[wsl2]

# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
memory=4GB

# Sets the VM to use two virtual processors
processors=2

# Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel
kernel=C:\\temp\\myCustomKernel

# Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
kernelCommandLine = vsyscall=emulate

# Sets amount of swap storage space to 8GB, default is 25% of available RAM
swap=8GB

# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
swapfile=C:\\temp\\wsl-swap.vhdx

# Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
pageReporting=false

# Turn on default connection to bind WSL 2 localhost to Windows localhost. Setting is ignored when networkingMode=mirrored
localhostforwarding=true

# Disables nested virtualization
nestedVirtualization=false

# Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
debugConsole=true

# Enable experimental features
[experimental]
sparseVhd=true
  • 自己实际配置
# Settings apply across all Linux distros running on WSL 2
[wsl2]

# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
memory=40GB

# Sets the VM to use two virtual processors
processors=4

# Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel
kernel=C:\\temp\\myCustomKernel

# Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
kernelCommandLine = vsyscall=emulate

# Sets amount of swap storage space to 8GB, default is 25% of available RAM
swap=8GB

# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
swapfile=C:\\temp\\wsl-swap.vhdx

# Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
pageReporting=false

# Turn on default connection to bind WSL 2 localhost to Windows localhost. Setting is ignored when networkingMode=mirrored
localhostforwarding=true

# Disables nested virtualization
nestedVirtualization=false

# Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
debugConsole=true

# Enable experimental features
[experimental]
sparseVhd=true
  • 如果.wslconfig里面填错了,就会报错的:

image-20240710045826436

自己实际配置
  • 修复方法:

image-20240710050028838

注释一部分内容:

# Settings apply across all Linux distros running on WSL 2
[wsl2]

# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
memory=40GB

# Sets the VM to use two virtual processors
processors=4

# Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel
#kernel=C:\\temp\\myCustomKernel

# Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
#kernelCommandLine = vsyscall=emulate

# Sets amount of swap storage space to 8GB, default is 25% of available RAM
swap=8GB

# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
#swapfile=C:\\temp\\wsl-swap.vhdx

# Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
pageReporting=false

# Turn on default connection to bind WSL 2 localhost to Windows localhost. Setting is ignored when networkingMode=mirrored
localhostforwarding=true

# Disables nested virtualization
nestedVirtualization=false

# Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
debugConsole=true

# Enable experimental features
[experimental]
sparseVhd=true
  • 注释完成后,这里就能正常打开wsl了。

image-20240710050226978

✌ 镜像源修改(已解决)
默认

image-20240710050822990

{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false
}
自己配置
{
"registry-mirrors" : [
"https://hub.uuuadc.top",
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://dockerhub.icu",
"https://docker.ckyl.me",
"https://docker.awsl9527.cn"
],
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
}
}

image-20240710051313131

  • 测试镜像拉取(完美)
root@DESKTOP-J4AQ8L4:~# docker run -itd nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
f11c1adaa26e: Pull complete
c6b156574604: Pull complete
ea5d7144c337: Pull complete
1bbcb9df2c93: Pull complete
537a6cfe3404: Pull complete
767bff2cc03e: Pull complete
adc73cb74f25: Pull complete
Digest: sha256:67682bda769fae1ccf5183192b8daf37b64cae99c6c3302650f6f8bf5f0f95df
Status: Downloaded newer image for nginx:latest
1c5b1939506ebe95469e6820bb0ce76d76d5b74649c73a26c6a6fb21589928c9
root@DESKTOP-J4AQ8L4:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1c5b1939506e nginx "/docker-entrypoint.…" 4 seconds ago Up 3 seconds 80/tcp hopeful_perlman
root@DESKTOP-J4AQ8L4:~#

image-20240710051844537

image-20240710051955080

拉取正常。

4. 启用 Docker CLI 自动补全

为了提高开发效率,你可以启用 Docker CLI 的自动补全功能。

  1. 编辑 shell 配置文件

    • 例如,如果你使用的是 Bash,编辑 ~/.bashrc 文件;如果你使用的是 Zsh,编辑 ~/.zshrc 文件。
  2. 添加 Docker 自动补全脚本

    • 在文件末尾添加以下行:

      if [ -f /usr/share/bash-completion/bash_completion ]; then
      . /usr/share/bash-completion/bash_completion
      fi
  3. 重新加载配置文件

    • 运行以下命令重新加载配置文件:

      source ~/.bashrc  # 或 source ~/.zshrc

5. 配置 Docker 环境变量(可选)

这里的步骤不做配置。。。。(因为不懂这里的选项是什么)🤣

为了方便在 WSL 2 中使用 Docker,你可以将 Docker 环境变量添加到你的 WSL 2 发行版的 shell 配置文件中。

  1. 编辑 shell 配置文件

    • 例如,如果你使用的是 Bash,编辑 ~/.bashrc 文件;如果你使用的是 Zsh,编辑 ~/.zshrc 文件。
  2. 添加 Docker 环境变量

    • 在文件末尾添加以下行:

      export DOCKER_HOST=unix:///mnt/wsl/shared-docker/docker.sock
  3. 重新加载配置文件

    • 运行以下命令重新加载配置文件:

      source ~/.bashrc  # 或 source ~/.zshrc

通过以上配置,你可以确保 Docker Desktop 在 WSL 2 中运行得更加高效和稳定。这些配置可以根据你的具体需求和系统资源进行调整。

==11、docker desktop的一些自定义优化配置、高级使用???(待解决)==

引用

https://blog.csdn.net/lzb348110175/article/details/132897423

4、devops8-wsl-decktop使用

导入本地镜像(导入完成)

root@DESKTOP-J4AQ8L4:~# ll -h
total 1.1G
drwx------ 5 root root 4.0K Jul 10 05:33 ./
drwxr-xr-x 20 root root 4.0K Jul 10 05:01 ../
-rw------- 1 root root 576 Jul 9 22:43 .bash_history
-rw-r--r-- 1 root root 3.2K Jul 9 22:30 .bashrc
drwx------ 2 root root 4.0K Jul 8 13:23 .cache/
drwxr-xr-x 3 root root 4.0K Jul 9 22:08 .docker/
-rw------- 1 root root 20 Jul 10 05:32 .lesshst
-rw-r--r-- 1 root root 0 Jul 8 13:24 .motd_shown
-rw-r--r-- 1 root root 161 Jul 9 2019 .profile
-rw------- 1 root root 14K Jul 9 22:30 .viminfo
-rw-rw-rw- 1 root root 1.1G Jul 10 05:32 devops8-basic-test-environment.tar.gz
drwx------ 3 root root 4.0K Jul 8 13:23 snap/
root@DESKTOP-J4AQ8L4:~# docker load -i devops8-basic-test-environment.tar.gz
  • 导入完成:

image-20240710053644088

image-20240710053655929

image-20240710053713359

安装kind并启动k8s集群(配置成功)

  • 配置config-new.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: devopscluster
nodes:
- role: control-plane
image: kindest/node:v1.29.0
kubeadmConfigPatches:
- |
kind: InitConfiguration
imageRepository: registry.aliyuncs.com/google_containers
networking:
serviceSubnet: 10.0.0.0/16
apiServerAddress: "0.0.0.0"
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
---
kind: KubeletConfiguration
cgroupDriver: systemd
cgroupRoot: /kubelet
failSwapOn: false
extraMounts:
- hostPath: /root/myiac/k8s/resolv.conf
containerPath: /etc/resolv.conf
labels:
tier: frontend
extraPortMappings:
- containerPort: 80
hostPort: 80
listenAddress: "0.0.0.0"
- containerPort: 443
hostPort: 443
listenAddress: "0.0.0.0"
- containerPort: 6443
hostPort: 6443
listenAddress: "0.0.0.0"

- role: worker
image: kindest/node:v1.29.0
labels:
tier: backend
- role: worker
image: kindest/node:v1.29.0
labels:
tier: backend
networking:
kubeProxyMode: "ipvs"
  • 拉取gitee代码
root@DESKTOP-J4AQ8L4:~# git clone https://jihulab.com/devopsvvip/myiac.git
Cloning into 'myiac'...
remote: Enumerating objects: 11605, done.
remote: Counting objects: 100% (11082/11082), done.
remote: Compressing objects: 100% (7178/7178), done.
remote: Total 11605 (delta 3147), reused 10983 (delta 3103), pack-reused 523 (from 1)
Receiving objects: 100% (11605/11605), 500.59 MiB | 28.27 MiB/s, done.
Resolving deltas: 100% (3334/3334), done.
Updating files: 100% (10717/10717), done.
root@DESKTOP-J4AQ8L4:~#
  • 修改resolf文件
root@DESKTOP-J4AQ8L4:~# cat /etc/resolv.conf 
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 172.22.240.1


#vim /root/myiac/k8s/resolv.conf
cat /root/myiac/k8s/resolv.conf
nameserver 172.22.240.1 #support docker kind network
nameserver 114.114.114.114 #custom
nameserver 223.5.5.5
  • 启动kind集群
root@DESKTOP-J4AQ8L4:~# kind create cluster --config config-new.yaml
Creating cluster "devopscluster" ...
✓ Ensuring node image (kindest/node:v1.29.0) 🖼
✓ Preparing nodes 📦 📦 📦
✓ Writing configuration 📜
✓ Starting control-plane 🕹️
✓ Installing CNI 🔌
✓ Installing StorageClass 💾
✓ Joining worker nodes 🚜
Set kubectl context to "kind-devopscluster"
You can now use your cluster with:

kubectl cluster-info --context kind-devopscluster

Thanks for using kind! 😊
root@DESKTOP-J4AQ8L4:~# kind get clusters
devopscluster
root@DESKTOP-J4AQ8L4:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2275153d526b kindest/node:v1.29.0 "/usr/local/bin/entr…" 55 seconds ago Up 52 seconds devopscluster-worker2
08bec8a56455 kindest/node:v1.29.0 "/usr/local/bin/entr…" 55 seconds ago Up 51 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:6443->6443/tcp, 127.0.0.1:46619->6443/tcp devopscluster-control-plane
ee1073230e23 kindest/node:v1.29.0 "/usr/local/bin/entr…" 55 seconds ago Up 52 seconds devopscluster-worker
root@DESKTOP-J4AQ8L4:~#

root@DESKTOP-J4AQ8L4:~# kubectl get po -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-76f75df574-cpwp6 1/1 Running 0 53s
kube-system coredns-76f75df574-nd7bm 1/1 Running 0 53s
kube-system etcd-devopscluster-control-plane 1/1 Running 0 68s
kube-system kindnet-d9p5q 1/1 Running 0 54s
kube-system kindnet-ds5cs 1/1 Running 0 51s
kube-system kindnet-ndlx9 1/1 Running 0 50s
kube-system kube-apiserver-devopscluster-control-plane 1/1 Running 0 70s
kube-system kube-controller-manager-devopscluster-control-plane 1/1 Running 0 68s
kube-system kube-proxy-qwk24 1/1 Running 0 50s
kube-system kube-proxy-x7m4s 1/1 Running 0 51s
kube-system kube-proxy-zgc4k 1/1 Running 0 54s
kube-system kube-scheduler-devopscluster-control-plane 1/1 Running 0 70s
local-path-storage local-path-provisioner-6f8956fb48-xvmsw 1/1 Running 0 53s
root@DESKTOP-J4AQ8L4:~#

ubuntu22.04安装nfs

自己实际配置:

sudo apt update
sudo apt install nfs-kernel-server

mkdir -p /data/storage/kubernetes
chmod 777 /data/storage/kubernetes
echo "/data/storage/kubernetes *(rw,insecure,sync,no_root_squash)" > /etc/exports


sudo exportfs -a
sudo systemctl restart nfs-kernel-server
sudo systemctl status nfs-kernel-server

showmount -e 172.22.254.77

image-20240710055926927

image-20240710055934825

5、放弃使用这个方式

截止2024年7月10日

和老师的环境不一致,会导致各种问题……,很大浪费时间。。。;

这种wsl+docker desktop,不伦不类的……🤣