初始化wsl

wsl --install

通过帮助指令了解wsl用法

wsl.exe --help

wsl常用命令

安装系统Ubuntu,先用wsl --list --online查看有哪些可用的系统

wsl.exe --install -d Ubuntu

wsl安装centos7

在这个地址下载centos7: https://github.com/mishamosher/CentOS-WSL/releases

解压了下载安装包
在powershell里进入解压后的centos7目录
运行./Centos7.exe 就安装了

报错
WSL的CentOS7使用systemctl和service命令时报错Failed to get D-Bus connection: Operation not permitted,
解决办法是更换systemctl文件

mv /usr/bin/systemctl /usr/bin/systemctl.old
curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > /usr/bin/systemctl
chmod +x /usr/bin/systemctl

查看已安装的Linux子系统

wsl.exe -l -v

进入Linux子系统Ubuntu, 需要进入哪个,先用wsl.exe -l -v查看之后选择

#只有一个默认子系统
wsl
#多个子系统 ,-d 指定某个
wsl -d Ubuntu

删除 某个 wsl 子系统,例如 Ubuntu-20.04

wsl --unregister Ubuntu-20.04

powershell执行Linux命令

#只有一个默认子系统
wsl -e df -h
#执行某个子系统的命令
wsl -e 

让某个子系统关机

wsl -t Ubuntu #或者 wsl --terminate Ubuntu

显示可以安装的子系统

 wsl --list --online

设置默认子系统

PS C:\Users\Administrator> wsl -l -v
  NAME       STATE           VERSION
* Ubuntu     Stopped         1
  CentOS7    Running         1
PS C:\Users\Administrator> wsl -s CentOS7
PS C:\Users\Administrator> wsl -l -v
  NAME       STATE           VERSION
* CentOS7    Running         1
  Ubuntu     Stopped         1
PS C:\Users\Administrator>

windows server 2022 安装 windows terminal

参考https://www.thomasmaurer.ch/2021/05/install-windows-terminal-on-windows-server-2022/
命令

Invoke-WebRequest -Uri https://github.com/microsoft/terminal/releases/download/v1.7.1091.0/Microsoft.WindowsTerminal_1.7.1091.0_8wekyb3d8bbwe.msixbundle -outfile Microsoft.WindowsTerminal_1.7.1091.0_8wekyb3d8bbwe.msixbundle
#这种方式安装,版本无法自动升级,需要手动升级
Add-AppxPackage -Path .\Microsoft.WindowsTerminal_1.7.1091.0_8wekyb3d8bbwe.msixbundle

PVE 安装 wsl 2 子系统 报错

修改 /etc/pve/qemu-server/101.conf (101还是102要看虚拟机的编号)
添加args 例如

args: -cpu 'host,hv_ipi,hv_relaxed,hv_reset,hv_runtime,hv_spinlocks=0x1fff,hv_stimer,hv_synic,hv_time,hv_vapic,hv_vpindex,+kvm_pv_eoi,+kvm_pv_unhalt,-kvm,-hypervisor'

参考https://forum.proxmox.com/threads/hyper-v-in-windows-guest-not-working-for-wsl2.87791/

wsl2 启动docker支持

安装docker Windows
https://www.docker.com/products/docker-desktop
下载安装

关闭Windows自动更新

  1. run services.msc ,禁用windows update
  2. 调低这个
    windows wsl 常用命令
    windows wsl 常用命令

vs code 安装插件搜索 Remote Development extension pack

安装插件
windows wsl 常用命令

vs code 调试 shell script

安装插件bash debug
https://zbttl-github-io.vercel.app/vscode-diao-shi-bash-shell-jiao-ben/

安装python 3.9

官网下载安装

vs code插件安装ansible

wsl2 通过KinD (kubernetes in docker) 安装k8s集群

请参考: https://www.qikqiak.com/post/deploy-k8s-on-win-use-wsl2/

# 下载 KinD 二进制文件
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64
# 标记为可执行文件
chmod +x ./kind
# 移动到 PATH 目录下去
mv ./kind /usr/local/bin/
# TODO,记得提前下载安装 kubectl 二进制文件
# 检查是否设置了 KUBECONFIG 环境变量
echo $KUBECONFIG
# 检查是否存在 .kube 目录,不需要手动创建
ls $HOME/.kube
# 使用 kind 命令创建一个名为 wslk8s 的集群
kind create cluster --name wslk8s
# 创建后检查 .kube 目录
ls $HOME/.kube




# 创建一个3节点集群的配置文件 **注意以下配置只是看看而已,请参考下方带ingress 转发(映射到宿主机的80,443)的配置**
cat << EOF > kind-3nodes.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
#注意,该配置只是看看和参考,不带端口映射和ingress
nodes:
  - role: control-plane
  - role: worker
  - role: worker
EOF
# 使用配置文件创建新的集群
kind create cluster --name wslkindmultinodes --config ./kind-3nodes.yaml

# 获取集群节点
kubectl get nodes

# 删除现在的集群
kind delete cluster --name wslkindmultinodes 

kind安装k8s( 带ingress 转发(映射到宿主机的80,443))

#第一步,建立集群
cat <<EOF | kind create cluster --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
#注意该配置拿来生产都没问题,????
nodes:
- role: control-plane
  kubeadmConfigPatches:
  - |
    kind: InitConfiguration
    nodeRegistration:
      kubeletExtraArgs:
        node-labels: "ingress-ready=true"
  extraPortMappings:
  - containerPort: 80
    hostPort: 80
    protocol: TCP
  - containerPort: 443
    hostPort: 443
    protocol: TCP
EOF
#第二步 添加 ingress-nginx 控制器
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml

#第三步,添加服务和ingress,验证ingress是否工作正常
kubectl apply -f https://kind.sigs.k8s.io/examples/ingress/usage.yaml
#打开 http://宿主机IP/foo
#打开 http://宿主机IP/bar

相关文章:

  • 2021-08-06
  • 2021-07-15
  • 2022-01-01
  • 2021-05-08
  • 2022-03-05
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-06
  • 2021-12-09
  • 2021-12-28
  • 2021-08-05
相关资源
相似解决方案