zoukankan      html  css  js  c++  java
  • windows wsl 常用命令

    初始化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. 调低这个
      Pulpit rock
      Pulpit rock

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

    安装插件

    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
    
    本人水平有限,还在不断学习中 难免有很多错误或者遗漏,望见谅
  • 相关阅读:
    Oracle-启动和关闭oracle的归档(ARCHIVELOG)模式
    Linux-数据表示方式
    Linux-21-30
    linux-1-10
    自律
    jenkins-修改系统时间
    jenkins-通过ssh username with private key配置节点服务器
    jenkins-slave开机自动启动
    mongodb-mongo使用
    mongodb-centos76yum安装mongodb
  • 原文地址:https://www.cnblogs.com/faberbeta/p/15677341.html
Copyright © 2011-2022 走看看