最新资讯

  • 【2024】k8s集群 图文详细 部署安装使用(两万字)

【2024】k8s集群 图文详细 部署安装使用(两万字)

2025-04-27 08:00:41 0 阅读

目录💻

  • 一、前言
  • 二、下载依赖配置环境
    • 1、配置系统环境
      • 1.1、配置桥接网络
        • 1.1.1、parallels desktop配置
        • 1.1.2、VMware配置
      • 1.2、配置root用户登陆
    • 2、环境配置安装下载
      • 2.1、安装ipset和ipvsadm
      • 2.2、关闭SWAP分区
    • 3、配置Containerd容器
      • 3.1、下载安装Containerd
      • 3.2、创建&修改配置文件
      • 3.3、启动Containerd&开机自启
    • 4、添加K8S集群组件
      • 4.1、修改下载源
      • 4.2、安装组件
    • 5、克隆服务器
      • 5.1、通过parallels desktop克隆
      • 5.2、通过VMware克隆
    • 6、主机配置
      • 6.1、设置静态ip
      • 6.2、修改主机名
      • 6.3、主机名解析ip
      • 6.4、时间同步
      • 6.5、配置内核转发、网桥过滤配置
  • 三、部署集群
    • 1、配置部署k8s集群
      • 1.1、集群初始化
      • 1.2、准备kubectl配置文件
      • 1.2、添加从节点
    • 2、安装k8s网络插件Calico
      • 2.1、执行安装tigera-operator
      • 2.2、配置custom-resources
      • 2.3、错误解达。
  • 四、测试使用
    • 1、安装可视化Web工具:Kuboard v3
      • 1.1、使用kubectl安装(master01节点执行)
        • 1.1.2、常见错误
      • 1.2、web配置
    • 2、部署Nginx服务
      • 2.1、使用Kuboard部署
      • 2.2、使用yaml方式创建

一、前言

因为我只有一台服务器,我使用的是,所有我采用的是通过安装虚拟机的方式实现集群搭建,先把需要的配置环境拉取下来,然后再通过虚拟机的克隆的方式直接把配置克隆到新的服务器上,减少重复下载。
通过在ubuntu服务器上安装VMware和在MAC上安装parallels desktop都有部署成功,安装虚拟机的实体机配置内存需要够,并且需要可以连接🛜,因为需要下载一些配置依赖,因为是安装k8s集群需要安装三台ubuntu容器。当然如果是有多台服务器的话直接把安装命令都执行一遍就行

下面是我使用的配置:

信息配置
节点主机Ubuntu20.4 / 22.4
K8S版本1.28.1
配置三台集群(内存:2G、磁盘:30G)
SSH连接工具WindTerm / Tabby
宿主机Ubuntu24.4 / M2
虚拟机工具VMWaer / parallels desktop

ubuntu镜像(注意看后缀arm是 苹果的Apple M,Intel 的用amd): https://pan.baidu.com/s/16f1lzIqFOHlsyfzVV3lv9A?pwd=5p8a 提取码: 5p8a

WindTerm(ssh连接工具下载地址):https://github.com/kingToolbox/WindTerm/releases

二、下载依赖配置环境

1、配置系统环境

1.1、配置桥接网络

因为我们实际开发中肯定是把k8s部署在服务器上的嘛,所以需要把虚拟机内服务器的网络改为同物理机在同一网段的。所以需要在 “桥接网络”选项下的列表中选择虚拟机将要桥接的物理适配器。否则同一局域网的其他物理机都没法范围到这些虚拟机的ip

1.1.1、parallels desktop配置
  • 右击对应的虚拟机,点击配置,选择硬件中的网络,修改源为桥接网络中的默认适配器,如果有多个网络,则直接选择你想要用于外部连接的那个网络就行
  • 通过ifconfig命令查看ip是否改为了外表局域网同一网段了
1.1.2、VMware配置
  • 先点击网络适配器

  • 选择第一个,然后保存退出

  • 再右击每个主机服务器,点击设置(Settings)

  • 选择网络,选择桥接网络,点击确认保存,然后就可以到对应的主机查看IP了

1.2、配置root用户登陆

在创建虚拟机的时候需要先添加ssh连接,但我们创建后,是不能直接用root用户直接登陆的,虽然可以通过sudo su转为root,但每次都要转,也麻烦,可以通过修改配置,让直接通过root用户进行ssh登陆。

  1. 首先通过ssh工具连接上虚拟机,账号密码就是我们创建的时候设置的那个账号,然后通过sudo su切换为root管理员用户

  2. 修改/etc/ssh/sshd_config文件配置
    修改下面ssh的配置文件的,34行左右的位置(右下角可以看行数),把标注的三行的注释打开,并且把第34行改为 yes

    vim /etc/ssh/sshd_config
    

    ·

  3. 重制root用户的密码
    把root用户的密码改为自己需要的

    sudo passwd root
    
  4. 重启ssh服务

    service ssh restart
    

  5. 其他
    如果是没有安装ssh命令,可以通过

    #更新软件包
    sudo apt update
    #安装ssh
    sudo apt install openssh-server
    #安装ifconfig命令包(刚创建的虚拟机可能会没有)
    sudo apt install net-tools
    

2、环境配置安装下载

下面的步骤,如果是使用的下面的WindTerm的截图代表是集群的每个容器都需要执行的,如果是使用的上面的tabby的截图代表是只有master节点需要执行就行。
因为他们的配置一样,我免得都下载一遍,所以我直接一个下载好,然后通过克隆的方式直接克隆到其他的节点去,这样也避免出现一些不一样的东西

2.1、安装ipset和ipvsadm

它们在 Kubernetes (k8s) 中用于网络管理和负载均衡。

  1. 首先执行安装

    apt-get install ipset ipvsadm
    

    执行的时候需要你输入y确认,确认就行

  2. 然后执行配置 ipvsadm 模块,用于开机自启动的,可以使用vi /etc/modules-load.d/ipvs.conf查看是否配置成功

    cat << EOF | tee /etc/modules-load.d/ipvs.conf
    ip_vs
    ip_vs_rr
    ip_vs_wrr
    ip_vs_sh
    nf_conntrack
    EOF
    
    

  3. 因为本次也需要启动,所以需要在配置一个脚本用于本次启动的
    配置脚本文件

    cat << EOF | tee ipvs.sh
    #!/bin/sh
    modprobe -- ip_vs
    modprobe -- ip_vs_rr
    modprobe -- ip_vs_wrr
    modprobe -- ip_vs_sh
    modprobe -- nf_conntrack
    EOF
    

    执行刚刚创建的脚本

    sh ipvs.sh
    
  4. 通过下面的命令查看是否配置成功

    lsmod | grep ip_vs
    

    如下图,就表示加载成功了

2.2、关闭SWAP分区

直接通过修改/etc/fstab文件,永久关闭SWAP分区,避免重启时打开

  • 永久关闭

    vim /etc/fstab
    

    打开后,把最后一行/swap.img开头的注释调就行

    修改swap需要重启才能使得配置文件生效,因为现在就需要用,可以直接重启,也可以先临时关闭掉

  • 临时关闭

    swapoff -a
    
  • 查看是否关闭成功

    free -m
    

    变0了表示关闭了

3、配置Containerd容器

Containerd 在 Kubernetes 中扮演了容器运行时的角色,负责创建、管理和运行容器,提供了一个标准的容器运行时环境和安全特性。

3.1、下载安装Containerd

  1. 下载Containerd,因为是在github上所以如果没有外网可能会下载不成功,我上面的百度网盘有放下载好的(注意看后缀arm是 苹果的Apple M,Intel 的用amd),直接导入到服务器里面去就行,如果自己下载也是,别下载错了

    wget https://github.com/containerd/containerd/releases/download/v1.7.5/cri-containerd-1.7.5-linux-amd64.tar.gz
    
  2. 安装 Containerd
    解压后会自动安装到指定位置去

    #解压文件
    tar xf cri-containerd-1.7.5-linux-amd64.tar.gz  -C /
    #查看安装
    containerd --version
    
    

3.2、创建&修改配置文件

  1. 创建配置文件

    #创建配置文件目录
    mkdir /etc/containerd
    #生成默认的配置文件
    containerd config default > /etc/containerd/config.toml
    #查看是否生成成功
    ls /etc/containerd
    

  2. 修改配置文件

    vim /etc/containerd/config.toml
    
  • 修改第65行sanbox_image的值改为registry.aliyuncs.com/google_containers/pause:3.9,改为阿里的镜像地址和版本号。(镜像地址也可以不修改,只需要修改版本号也行,需要和后面–>8.1、集群初始化介绍的kubeadm-config.yaml文件的一致就行)

  • 需要137行的false改为true


    修改好后保存退出

3.3、启动Containerd&开机自启

  • 执行开机启动,并且现在就启动

    systemctl enable --now containerd
    
  • 验证是否启动成功

    systemctl status containerd
    

4、添加K8S集群组件

4.1、修改下载源

  • 添加阿里的软件源

    echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
    
    
  • 验证是否添加成功

    ls /etc/apt/sources.list.d
    
  • 更新软件源

    apt-get update
    

    这个时候会失败,因为没有公钥,缺少 GPG 的key导致的

  • 把公钥添加到服务器
    上面图片箭头的B53DC80D13EDEF05就是你的公钥,需要添加自己的

    apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B53DC80D13EDEF05
    

    导入之后就会更新成功

    apt-get update
    

4.2、安装组件

下面三个是k8s必要的组件,

  • kubeadm:创建、升级和管理 Kubernetes 集群
  • kubelet:管理节点上的容器生命周期
  • kubectl:管理和调试 Kubernetes 应用程序
  1. 执行安装
    安装的时候需要y,y就行
    apt-get install kubeadm=1.28.1-00  kubelet=1.28.1-00 kubectl=1.28.1-00
    

上面是我安装的版本,如果想安装其他版本可以用下面的命令查看,如果不加版本号,会下载最新的

  • 查看版本

    apt-cache madison kubeadm
    apt-cache madison kubelet
    apt-cache madison kubectl
    
    

  • 查看是否安装成功

    kubeadm version
    kubelet --version
    kubectl version
    
    
  1. 锁定版本
    安装好后需要需要锁定版本,避免自动更新造成的一些问题

    apt-mark hold kubeadm kubelet kubectl
    
    

5、克隆服务器

因为我们是要建立k8s集群嘛,所以需要有三台服务器用做搭建集群,
如果是本身有多台服务器的,并且前面的命令都在全部服务器执行过了的,就可以跳过这一步。

克隆服务器在VMware和parallels desktop执行都比较简单

5.1、通过parallels desktop克隆

  1. 先把服务器关闭
  2. 右击你刚刚下载的好配置依赖的容器,点击克隆
  3. 定义名称,点击确认
    重复两次克隆两台从服务器出来

5.2、通过VMware克隆

  1. 克隆
    先关闭虚拟机,然后右击点击

  2. 然后一路next确认



    然后等待克隆完成,启动

6、主机配置

6.1、设置静态ip

  1. 复制配置文件
    避免配置错了无法恢复。可能有些版本的配置文件不是叫00-installer-config.yaml这个名字,反正修改/etc/netplan下的那个文件就行

    cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak
    
  2. 修改配置文件

    vim /etc/netplan/00-installer-config.yaml
    
  • 配置文件(三台虚拟机服务器都需要配置本虚拟机的ip)
    需要修改下面文件的addresses: [192.168.5.55/24]via: 192.168.5.1,!!!注意不要有多余空格

    • addresses需要把ip改为本服务器的
    • via:网段改为自己的,网段通过route -n命令查看
  • 安装的arm架构的

    # This is the network config written by 'subiquity'
    network:
      version: 2
      ethernets:
        enp0s5:
          dhcp4: no
          addresses: [192.168.5.55/24]
          routes:
            - to: default
              via: 192.168.5.1
          nameservers:
            addresses: [119.29.29.29,114.114.114.114,8.8.8.8]
    
    
  • 安装的amd架构的

    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33:
          dhcp4: no
          addresses:
            - 192.168.3.170/24
          routes:
            - to: default
              via: 192.168.3.1
          nameservers:
            addresses: [119.29.29.29,114.114.114.114,8.8.8.8]          
    
  1. 配置生效

    netplan apply
    

    配置好之后可以ping一下局域网的其他物理机的网络,看是否可以ping通

6.2、修改主机名

三台服务器分别执行

  • master01执行

    hostnamectl set-hostname master01
    
  • worker01执行

    hostnamectl set-hostname worker01
    
  • worker02执行

    hostnamectl set-hostname worker02
    

    然后exit退出当前用户,在重新登陆一下就可以了,可以看名字都一句以及已经改为了对应的名字

6.3、主机名解析ip

全部都需要执行(!!!!这个要改为自己集群的主机ip

cat >> /etc/hosts << EOF
192.168.5.53 mater01
192.168.5.54 worker01
192.168.5.55 worker02
EOF

通过WindTerm的频道功能,可以实现同频道中,只要一个页面输入,其他的都会同步输入

再执行查看是否写入

cat /etc/hosts

6.4、时间同步

  1. 更改时区为上海时区

    timedatectl set-timezone Asia/Shanghai
    
  2. 安装ntpdate
    ntpdate是一个用于同步系统时钟与NTP服务器的工具

    apt-get install ntpdate
    
  3. 通过ntpdate命令同步时间

    ntpdate time1.aliyun.com
    
  4. 通过定时任务去实现定时同步

    crontab -e
    

    中间会让你选择输入2

    把下面这行加入进去

    0 */1 * * * ntpdate time1.aliyun.com
    

6.5、配置内核转发、网桥过滤配置

  1. 配置依赖模块到 /etc/modules-load.d/k8s.conf,用于实现开启自动加载
  • overlay: 这是 OverlayFS 的内核模块,用于支持 Docker 和 Kubernetes 等容器化技术。

  • br_netfilter: 这是 Linux 内核中的网桥过滤器模块,用于支持 Kubernetes 的网络功能。

    cat << EOF | tee /etc/modules-load.d/k8s.conf
    overlay
    br_netfilter
    EOF
    

    配置完成之后,本次启动这两个配置,因为配置上配置后期开机启动的,当下也需要先启动

    modprobe overlay
    
    modprobe br_netfilter
    


    2. 查看是否启动成功

    lsmod | egrep "overlay"
    
    lsmod | egrep "br_netfilter"
    

  1. 转发配置到k8s.conf文件中

    cat << EOF | tee /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    net.ipv4.ip_forward = 1
    EOF
    
  2. 加载内核参数:

    sysctl --system
    
  3. 然后在查看是否加载成功

    sysctl -a | grep ip_forward
    

    net.ipv4.ip_forward = 1net.ipv4.ip_forward_update_priority = 1都变为1了表示加载成功

三、部署集群

1、配置部署k8s集群

1.1、集群初始化

下面的只需要master节点的主机执行,其他的两个从机不用执行

  1. 创建kubeadm-config配置文件
    把配置文件打印到本地,用于编辑
    kubeadm config print init-defaults > kubeadm-config.yaml
    
  2. 修改文件
    修改拉下来的配置文件
    vim kubeadm-config.yaml
    
  • 修改advertiseAddress的ip为mater01节点的ip

  • 修改name为mater01节点的主机名

  • 修改imageRepository仓库地址为阿里云的镜像仓库registry.aliyuncs.com/google_containers。因为前面/etc/containerd/config.toml文件修改了,如果前面的文件镜像仓库地址没修改,这个地方也可以不修改

  • 修改kubernetesVersion版本号,前面下载的是什么版本就写什么版本

  • dnsDomain表示DNS域名,可以不修改,但一个局域网内只能有一个相同的,如果有两个k8s集群用的一样的DNS名字就会冲突,一般推荐修改为公司的域名

  • networking中的 serviceSubnet 后面添加

    podSubnet: 10.244.0.0/16
    
  • 在最后面在添加下面的配置

    ---
    kind: KubeletConfiguration
    apiVersion: kubelet.config.k8s.io/v1beta1
    cgroupDriver: systemd
    

    红色的是修改,绿色的是添加

  1. 重启服务
    修改完,分别重启containerd 和 kubelet

    systemctl restart containerd
    systemctl restart kubelet
    
  2. 下载镜像
    下载k8s所需要的镜像到主节点

  • --image-repository:指定镜像仓库
  • --kubernetes-version:版本号,改为你的k8s版本
    kubeadm config images pull --image-repository=registry.aliyuncs.com/google_containers --kubernetes-version v1.28.1
    
  1. 执行初始化

    kubeadm init --config kubeadm-config.yaml
    

    出现下面的,就表示初始化成功了

1.2、准备kubectl配置文件

  1. 添加配置文件
    把上面输出的内容在master节点执行一遍

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
  2. 查看节点

    kubectl get nodes
    

1.2、添加从节点

复制刚刚自己初始化的地址,到从节点执行,也就是另外两个worker02节点
(!!!这个是我的,需要复制自己的)

  1. 复制token

    kubeadm join 192.168.5.53:6443 --token abcdef.0123456789abcdef 
            --discovery-token-ca-cert-hash sha256:55917a9c22cb444e83ce19517b8b9f1856401cf3ca11df4e661978fd9eed222e
    

  2. 查看
    在到主节点进行查看

    kubectl get nodes
    

    在查看,就可以看到刚刚加入的worker节点了

2、安装k8s网络插件Calico

k8s常用的网络插件主要有

  • Flannel:Flannel是Kubernetes官方推荐的网络插件之一。它提供了一种基于UDP的网络通信方式,支持多租户和多网段。
  • Calico:Calico是另一个流行的K8S网络插件。它提供了一种基于BGP的网络通信方式,支持多租户和多网段。
  • Weave:Weave是一种基于 Overlay 网络的K8S网络插件。它提供了一种简单易用的方式来管理集群中的网络通信。
  • Cilium:Cilium是一种基于 Linux 内核的K8S网络插件。它提供了一种高性能的网络通信方式,支持多租户和多网段。
  • OpenVSwitch:OpenVSwitch是一种基于开源的K8S网络插件。它提供了一种高性能的网络通信方式,支持多租户和多网段。

2.1、执行安装tigera-operator

  1. 下载
    我这安装的是3.26.1,如果需要安装其他版本,直接改版本号就行,其他目录都是一样的

    kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/tigera-operator.yaml
    

  2. 查看是否安装成功tigera-operator

    kubectl get ns
    
  3. 查看pod状态
    如果是Runing 状态就代表成功了,如果不是就代表有问题

    kubectl get pods -n tigera-operator
    

2.2、配置custom-resources

custom-resources.yaml 是一个用于配置 Kubernetes 的自定义资源定义(CRD)文件

  1. 先拉取下来

    wget https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/custom-resources.yaml
    
  2. 修改配置
    修改配置网段,这个网段是前面初始化时设置的podSubnet的网段 cidr: 10.244.0.0/16

    vim custom-resources.yaml
    

  3. 拉取镜像
    因为一些原因,选择不能下载,需要通过一些大佬弄的映射加速仓库去拉。
    !!!全部节点都要拉取。
    如果下面的地址不行,可以到里面去找最新的
    https://github.com/DaoCloud/public-image-mirror/issues/2328

    ctr image pull docker.1panel.live/calico/cni:v3.26.1
    ctr image pull docker.1panel.live/calico/pod2daemon-flexvol:v3.26.1
    ctr image pull docker.1panel.live/calico/node:v3.26.1
    ctr image pull docker.1panel.live/calico/kube-controllers:v3.26.1
    ctr image pull docker.1panel.live/calico/typha:v3.26.1
    ctr image pull docker.1panel.live/calico/node-driver-registrar:v3.26.1
    ctr image pull docker.1panel.live/calico/csi:v3.26.1
    

  4. 查看是否下次完成

    ctr image list
    

    要确保全部都是application/vnd.docker.distribution.manifest.list.v2+json没有出现 Init:ErrImagePull

  5. 应用配置
    下载完成之后执行下面命令,应用配置

    kubectl create -f custom-resources.yaml
    
  6. 查看命名空间

    kubectl get ns
    

    看到calico-system代表ok了

  • 查看pod

    kubectl get pods -n calico-system
    

    大概等个几分钟,都是 Runing,代表成功

  • 再查看节点信息,就会发现状态已经变成 Ready 状态

    kubectl get nodes
    

    到这一步,说明就是全部安装完成了

2.3、错误解达。

如果哪个节点有问题
执行下面命令直接删除掉k8s相关的东西,然后重新安装三个组件,在去重新通过链接加入就行。

#重置 Kubernetes 集群,它会删除所有与 Kubernetes 相关的配置文件、数据和组件。
sudo kubeadm reset
rm -rf /var/lib/cni/
rm -rf /var/lib/kubelet/*
rm -rf /etc/cni/*
rm -rf /root/.kube
rm -rf /etc/kubernetes/*

ipvsadm -C
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X

四、测试使用

1、安装可视化Web工具:Kuboard v3

1.1、使用kubectl安装(master01节点执行)

发生错误可以查看kuboard官网
https://press.demo.kuboard.cn/install/v3/install-in-k8s.html

  1. 下载配置文件

    wget  https://addons.kuboard.cn/kuboard/kuboard-v3-swr.yaml
    
  2. 执行创建

    kubectl apply -f kuboard-v3-swr.yaml
    

    如果镜像拉取不下来可以修改下镜像仓库地址改为我的阿里云的进行仓库地址

    vim kuboard-v3-swr.yaml
    
    # 地址:
    registry.cn-hangzhou.aliyuncs.com/zhengfp_images/kuboard-agent
    registry.cn-hangzhou.aliyuncs.com/zhengfp_images/etcd-host:3.4.16-1
    registry.cn-hangzhou.aliyuncs.com/zhengfp_images/kuboard:v3
    registry.cn-hangzhou.aliyuncs.com/zhengfp_images/questdb:6.0.4
    

    分别把地址放入下面对应的地方


    继续执行部署

    kubectl apply -f vim kuboard-v3-swr.yaml
    
  3. 查看部署

    kubectl get pods -n kuboard
    

    都是Running即可

  4. web测试

  • 在浏览器打开链接http://节点IP:30080

  • 输入初始用户名和密码,并登录

    • 用户名: admin
    • 密码: Kuboard123
1.1.2、常见错误

通过kubectl get pods -n kuboard查看pod,看哪个pod不成功
查看对应的错误
powershell kubectl logs kuboard-v3-7979bc788f-hln74 -n kuboard

  • desc = "transport: Error while dialing dial tcp: missing address"错误表明 Kuboard 无法连接到 etcd。
  • kuboard-v3-xxxxx 的容器出现 CrashLoopBackOff 的状态,可能的原因有
    需要执行

前面两个错误都是执行下面的命令

kubectl label nodes mater01 k8s.kuboard.cn/role=etcd

1.2、web配置

  1. 刚进去会有一个错误的集群,删除掉,点击添加集群

  2. 输入集群名称和描述

  3. 复制kubeConfig
    在master01节点执行cat ~/.kube/config命令,把全部内容复制到kubeConfig框内,点击确认


    如图显示,代表成功

2、部署Nginx服务

2.1、使用Kuboard部署

  1. 在首页点击集群,选择命名空间

  2. 填写信息
    左边选择,名称空间>常用操作>创建工作负载,然后再填写基本信息

  3. 填写容器信息
    阿里云镜像地址

    registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
    

    如果镜像拉取不下来可以看我【docker镜像加速服务搭建】这篇文章,自己搭建一个加速服务

    填写好之后点击上面的保存>应用>确认>

  4. 查看

5.访问对应的节点进行测试

2.2、使用yaml方式创建

  1. 创建yaml

    vim nginx-deployment.yaml
    
  2. 编写配置

    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginxweb # 部署的名称
    spec:
      replicas: 2  # 设置副本数量为2
      selector:
        matchLabels:
          app: nginxweb1 # 用于选择匹配的Pod标签
      template:
        metadata:
          labels:
            app: nginxweb1 # Pod的标签
        spec:
          containers:
          - name: nginxwebc # 容器名称
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest # 镜像拉取地址,换成阿里云的,不然会拉取失败
            imagePullPolicy: IfNotPresent # 镜像拉取策略,如果本地没有就拉取
            ports:
            - containerPort: 80 # 容器内部监听的端口
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: nginxweb-service # 服务的名称
    spec:
      externalTrafficPolicy: Cluster # 外部流量策略设置为集群
      selector:
        app: nginxweb1 # 用于选择匹配的Pod标签
      ports:
      - protocol: TCP # 使用TCP协议
        port: 80 # 服务暴露的端口
        targetPort: 80 # Pod中容器的端口
        nodePort: 30080 # 在每个Node上分配的端口,用于外部访问
      type: NodePort # 服务类型,使用NodePort
    
  3. 应用配置

    kubectl apply -f nginx-deployment.yaml
    
  4. 检查是否成功

  • 查看pod

    kubectl get pods
    
  • 查看service

    service 可以查看到对应pod的名称还有端口映射

    kubectl get service
    
  • 查看访问ip

    curl http://10.244.5.3
    curl http://10.244.30.69
    
    

  1. 通过对应的节点IP进行测试

⌨️码字不易,觉得可以的话可以一键三连一下!!!

本文地址:https://www.vps345.com/3057.html

搜索文章

Tags

PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? CC攻击 攻击怎么办 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP 服务器 linux 运维 游戏 云计算 ssh deepseek Ollama 模型联网 API CherryStudio python MCP 进程 操作系统 进程控制 Ubuntu llama 算法 opencv 自然语言处理 神经网络 语言模型 javascript 前端 chrome edge 数据库 centos oracle 关系型 安全 分布式 阿里云 网络 网络安全 网络协议 harmonyos 华为 开发语言 typescript 计算机网络 ubuntu nuxt3 vue3 sql KingBase 银河麒麟 kylin v10 麒麟 v10 spring boot websocket docker 实时音视频 adb nginx 监控 自动化运维 node.js json html5 firefox gitlab numpy java android c++ c语言 spring RTSP xop RTP RTSPServer 推流 视频 kvm 无桌面 命令行 经验分享 react.js 前端面试题 持续部署 zotero WebDAV 同步失败 代理模式 科技 ai 人工智能 个人开发 自动化 蓝耘科技 元生代平台工作流 ComfyUI IIS .net core Hosting Bundle .NET Framework vs2022 笔记 C 环境变量 进程地址空间 php ollama llm Dell R750XS AI agent windows macos 向日葵 tcp/ip java-ee udp uni-app IIS服务器 IIS性能 日志监控 react next.js 部署 部署next.js bash 小程序 YOLOv8 NPU Atlas800 A300I pro 国标28181 视频监控 监控接入 语音广播 流程 SIP SDP android studio 交互 后端 qt 多线程服务器 TCP服务器 qt项目 qt项目实战 qt教程 消息队列 容器 Docker Hub docker pull 镜像源 daemon.json Linux 根服务器 Reactor 设计模式 性能优化 C++ vscode 1.86 vscode 宝塔面板 同步 备份 建站 安全威胁分析 深度学习 YOLO 目标检测 计算机视觉 fastapi mcp mcp-proxy mcp-inspector fastapi-mcp agent sse 豆瓣 追剧助手 迅雷 nas 微信 pytorch 内存 LDAP https jvm kylin aws googlecloud 串口服务器 服务器繁忙 备选 网站 api 调用 示例 postman mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 tomcat maven intellij idea Dify Docker Compose docker compose docker-compose MQTT mosquitto 智能路由器 外网访问 内网穿透 端口映射 JAVA IDEA Java 面试 jdk intellij-idea 架构 idm spring cloud kafka hibernate shell redis pycharm conda pillow 统信 国产操作系统 虚拟机安装 游戏程序 ftp http github git 远程工作 kubernetes jenkins 云原生 ci/cd apache 孤岛惊魂4 学习方法 程序人生 golang ssl microsoft 报错 DeepSeek-R1 API接口 Headless Linux pdf fpga开发 Linux网络编程 编辑器 live555 rtsp rtp visualstudio 银河麒麟操作系统 国产化 嵌入式硬件 驱动开发 硬件工程 嵌入式实习 ffmpeg 音视频 爬虫 Hyper-V WinRM TrustedHosts ecmascript nextjs reactjs flask 网络工程师 华为认证 机器学习 搜索引擎 eureka web安全 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 MI300x DeepSeek ux 多线程 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 svn string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap 开发环境 SSL证书 rust mongodb 创意 社区 远程登录 telnet c# Flask FastAPI Waitress Gunicorn uWSGI Uvicorn prometheus rpc 远程过程调用 Windows环境 直播推流 佛山戴尔服务器维修 佛山三水服务器维修 flutter 网络结构图 联想开天P90Z装win10 matlab gitee asi_bench vim 重启 排查 系统重启 日志 原因 mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 ecm bpm 运维开发 ide MCP server C/S LLM agi AIGC ansible playbook gpu算力 Cursor AI编程 腾讯云 华为云 物联网 集成学习 集成测试 FunASR ASR pygame 小游戏 五子棋 僵尸进程 权限 mysql 安全架构 媒体 深度优先 图论 并集查找 换根法 树上倍增 AI MNN Qwen 电脑 pppoe radius ESP32 arm开发 数据集 flash-attention rclone AList webdav fnOS 图形化界面 学习 信息与通信 ocr epoll 5G 3GPP 卫星通信 思科模拟器 思科 Cisco vue.js audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 ruoyi kind mac AI写作 AI作画 QQ 聊天室 开源 其他 银河麒麟服务器操作系统 系统激活 服务器主板 AI芯片 visual studio code 系统架构 Radius 机器人 鸿蒙 ios 魔百盒刷机 移动魔百盒 机顶盒ROM stm32 单片机 muduo EMQX 通信协议 safari pip Mac 系统 Python基础 Python教程 Python技巧 asm 弹性计算 虚拟化 KVM 计算虚拟化 弹性裸金属 历史版本 下载 安装 windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 系统安全 devops 企业微信 Linux24.04 deepin 代码调试 ipdb 华为od laravel vue css less postgresql grafana 视觉检测 junit SEO db deepseek r1 漏洞 远程桌面 显示管理器 lightdm gdm ddos 负载均衡 文件系统 路径解析 阻塞队列 生产者消费者模型 服务器崩坏原因 网络穿透 云服务器 程序 SSH Xterminal 流水线 脚本式流水线 k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm iphone openEuler unity unity3d log4j web 安卓 HarmonyOS Next 游戏机 Kali 虚拟机 wireshark Netty 即时通信 NIO 镜像 dns 远程连接 HTTP 服务器控制 ESP32 DeepSeek can 线程池 fd 文件描述符 鸿蒙系统 反向代理 致远OA OA服务器 服务器磁盘扩容 HCIE 数通 能力提升 面试宝典 技术 IT信息化 VMware安装Ubuntu Ubuntu安装k8s k8s navicat C语言 linux上传下载 健康医疗 互联网医院 无人机 ROS 自动驾驶 filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 信号处理 大模型 vasp安装 SenseVoice 查询数据库服务IP地址 SQL Server WSL2 语音识别 AutoDL openssl 密码学 hadoop gateway Clion Nova ResharperC++引擎 Centos7 远程开发 业界资讯 客户端 SVN Server tortoise svn r语言 数据挖掘 数据可视化 数据分析 MacOS录屏软件 计算机 程序员 mamba Vmamba django sqlite 交换机 dubbo KylinV10 麒麟操作系统 Vmware rabbitmq 硬件架构 iBMC UltraISO kamailio sip VoIP 大数据 大数据平台 Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 烟花代码 烟花 元旦 debian etl CUDA PyTorch GCC aarch64 编译安装 HPC TRAE minio n8n dity make okhttp 医疗APP开发 app开发 Java Applet URL操作 服务器建立 Socket编程 网络文件读取 armbian u-boot AI大模型 大模型入门 Deepseek 大模型教程 王者荣耀 sqlserver webstorm ukui 麒麟kylinos openeuler rust腐蚀 树莓派 VNC dify 模拟器 教程 微服务 elasticsearch 课程设计 .net selenium 测试工具 jar 回显服务器 UDP的API使用 vSphere vCenter web3.py yaml Ultralytics 可视化 springboot 升级 CVE-2024-7347 ui 需求分析 规格说明书 zabbix 安装教程 GPU环境配置 Ubuntu22 Anaconda安装 cursor 微信小程序 webrtc big data opensearch helm 飞书 web3 恒源云 游戏引擎 抗锯齿 wsl tcp vscode1.86 1.86版本 ssh远程连接 autodl 监控k8s集群 集群内prometheus IPMITOOL BMC 硬件管理 腾讯云大模型知识引擎 chatgpt oneapi 软件测试 open webui IMM ArkUI 多端开发 智慧分发 应用生态 鸿蒙OS echarts oceanbase 传统数据库升级 银行 前端框架 大语言模型 LLMs frp yum apt 单一职责原则 Python 网络编程 聊天服务器 套接字 TCP Socket 中兴光猫 换光猫 网络桥接 自己换光猫 云服务 Linux的基础指令 可信计算技术 1024程序员节 鲲鹏 FTP 服务器 编程 性能分析 redhat 计算机外设 gitea eclipse 单元测试 功能测试 asp.net大文件上传 asp.net大文件上传下载 asp.net大文件上传源码 ASP.NET断点续传 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 中间件 iis Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 移动云 昇腾 npu 换源 国内源 Debian nfs 实时互动 SSL 域名 rsyslog 虚拟局域网 ruby ESXi Dell HPE 联想 浪潮 网络攻击模型 显卡驱动 Typore Trae IDE AI 原生集成开发环境 Trae AI 工作流 workflow wsl2 tcpdump WSL win11 无法解析服务器的名称或地址 selete 高级IO 本地部署 温湿度数据上传到服务器 Arduino HTTP 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 EasyConnect Cline Kali Linux 黑客 渗透测试 信息收集 黑客技术 iperf3 带宽测试 网工 虚幻 ssrf 失效的访问控制 virtualenv openwrt ShenTong 智能手机 矩阵 open Euler dde 统信UOS 图像处理 3d LLM Web APP Streamlit 交叉编译 嵌入式 bug springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 游戏服务器 TrinityCore 魔兽世界 博客 P2P HDLC sysctl.conf vm.nr_hugepages 数学建模 adobe elk Linux环境 工业4.0 excel odoo 服务器动作 Server action 环境迁移 IMX317 MIPI H265 VCU Ubuntu 24.04.1 轻量级服务器 python3.11 arm 群晖 文件分享 软件工程 Agent 小智AI服务端 xiaozhi TTS 小艺 Pura X wps netty 数据结构 sentinel CPU AI-native Docker Desktop 远程 命令 执行 sshpass 操作 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 yolov8 缓存 毕设 linux安装配置 VR手套 数据手套 动捕手套 动捕数据手套 unix 微信公众平台 主板 电源 网卡 ipython 毕昇JDK linux驱动开发 半虚拟化 硬件虚拟化 Hypervisor 策略模式 单例模式 seatunnel DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 加解密 Yakit yaklang 多个客户端访问 IO多路复用 TCP相关API 输入法 bootstrap html 软考 Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 jupyter C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 ollama下载加速 .netcore 麒麟 bonding 链路聚合 压力测试 开机自启动 rag ragflow ragflow 源码启动 tailscale derp derper 中转 windows日志 Windows express Minecraft 防火墙 NAT转发 NAT Server Unity Dedicated Server Host Client 无头主机 stm32项目 ip onlyoffice gcc freebsd 合成模型 扩散模型 图像生成 glibc npm thingsboard W5500 OLED u8g2 lio-sam SLAM H3C iDRAC R720xd springsecurity6 oauth2 授权服务器 前后端分离 tensorflow dell服务器 go css3 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 Linux PID XFS xfs文件系统损坏 I_O error es HiCar CarLife+ CarPlay QT RK3588 DevEco Studio HarmonyOS OpenHarmony 真机调试 iot Node-Red 编程工具 流编程 个人博客 X11 Xming OD机试真题 华为OD机试真题 服务器能耗统计 sdkman xpath定位元素 低代码 file server http server web server 智能音箱 智能家居 rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK jmeter 相机 rdp 实验 我的世界服务器搭建 linux 命令 sed 命令 Wi-Fi Spring Security 我的世界 我的世界联机 数码 jetty undertow 繁忙 解决办法 替代网站 汇总推荐 AI推理 Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 UOS 统信操作系统 CDN rc.local 开机自启 systemd dba ISO镜像作为本地源 实习 云电竞 云电脑 todesk mysql离线安装 ubuntu22.04 mysql8.0 职场和发展 源码 毕业设计 XCC Lenovo llama3 Chatglm 开源大模型 IM即时通讯 剪切板对通 HTML FORMAT 在线office embedding NAS Termux Samba hive Hive环境搭建 hive3环境 Hive远程模式 webgl 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 金仓数据库 2025 征文 数据库平替用金仓 hugo LORA NLP gaussdb 银河麒麟桌面操作系统 Kylin OS xss 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 docker命令大全 figma 测试用例 MySql 链表 分布式训练 cuda matplotlib USB转串口 CH340 边缘计算 飞牛NAS 飞牛OS MacBook Pro 双系统 harmonyOS面试题 cnn Google pay Apple pay 邮件APP 免费软件 Linux的权限 软件需求 GoogLeNet 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 Ubuntu Server Ubuntu 22.04.5 算力 李心怡 HAProxy edge浏览器 物联网开发 clickhouse docker部署Python 社交电子 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 AnythingLLM AnythingLLM安装 软链接 硬链接 langchain 直流充电桩 充电桩 IPMI nvidia WebUI DeepSeek V3 NFS VMware创建虚拟机 环境配置 Claude tidb GLIBC docker run 数据卷挂载 交互模式 大模型面经 大模型学习 make命令 makefile文件 粘包问题 Nuxt.js 基础环境 efficientVIT YOLOv8替换主干网络 TOLOv8 知识库 RAGFlow 本地知识库部署 DeepSeek R1 模型 信创 信创终端 中科方德 ip命令 新增网卡 新增IP 启动网卡 ubuntu20.04 开机黑屏 裸金属服务器 弹性裸金属服务器 DenseNet 技能大赛 p2p iftop 网络流量监控 搭建个人相关服务器 CrewAI sqlite3 Windsurf CORS 跨域 linux环境变量 list 模拟实现 wordpress 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 沙盒 word PX4 增强现实 沉浸式体验 应用场景 技术实现 案例分析 AR 多路转接 Xinference AD域 GPU word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 eNSP 网络规划 VLAN 企业网络 uv Playwright 自动化测试 大模型微调 Qwen2.5-coder 离线部署 gradle ssh远程登录 虚幻引擎 架构与原理 cocoapods xcode C# MQTTS 双向认证 emqx DocFlow threejs 3D gpt 串口驱动 CH341 uart 485 ubuntu24 vivado24 智能硬件 USB网络共享 RAGFLOW 模拟退火算法 vmware 卡死 Attention EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 自动化编程 code-server camera Arduino 电子信息 浏览器开发 AI浏览器 ssh漏洞 ssh9.9p2 CVE-2025-23419 wpf k8s集群资源管理 云原生开发 MS Materials 欧标 OCPP AISphereButler lua ros2 moveit 机器人运动 nac 802.1 portal vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 银河麒麟高级服务器 外接硬盘 Kylin flink AI代码编辑器 信息可视化 网页设计 华为机试 ai小智 语音助手 ai小智配网 ai小智教程 esp32语音助手 diy语音助手 RAG 检索增强生成 文档解析 大模型垂直应用 数据库系统 数据库架构 数据管理 数据治理 数据编织 数据虚拟化 lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 EtherCAT转Modbus ECT转Modbus协议 EtherCAT转485网关 ECT转Modbus串口网关 EtherCAT转485协议 ECT转Modbus网关 域名服务 DHCP 符号链接 配置 做raid 装系统 音乐库 飞牛 实用教程 remote-ssh mcu bcompare Beyond Compare 框架搭建 trea idea c rime 火绒安全 VPS DBeaver 数据仓库 kerberos 内网服务器 内网代理 内网通信 ceph VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 searxng 网络药理学 生物信息学 生信 PPI String Cytoscape CytoHubba RustDesk自建服务器 rustdesk服务器 docker rustdesk Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 perf firewall openstack VMware Xen 雨云 NPS kali 共享文件夹 深度求索 私域 状态管理的 UDP 服务器 Arduino RTOS WebRTC uniapp TCP协议 嵌入式Linux IPC composer EMUI 回退 降级 产测工具框架 IMX6ULL 管理框架 gnu 软件定义数据中心 sddc rocketmq RTMP 应用层 技术共享 opcua opcda KEPServer安装 AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 Logstash 日志采集 程序员创富 nlp jina 开发 匿名管道 命名管道 mariadb 嵌入式系统开发 milvus 代理服务器 token sas 灵办AI SysBench 基准测试 spark HistoryServer Spark YARN jobhistory mybatis VSCode springcloud 服务器数据恢复 数据恢复 存储数据恢复 raid5数据恢复 磁盘阵列数据恢复 自定义客户端 SAS 具身智能 强化学习 dock 加速 prompt 元服务 应用上架 僵尸世界大战 游戏服务器搭建 政务 分布式系统 监控运维 Prometheus Grafana proxy模式 zookeeper 服务器部署ai模型 远程服务 Anolis nginx安装 环境安装 linux插件下载 conda配置 conda镜像源 crosstool-ng ai工具 java-rocketmq win服务器架设 windows server v10 软件 ldap fast 迁移指南 大模型应用 GIS 遥感 WebGIS OpenSSH 大模型部署 llama.cpp trae gpt-3 文心一言 YOLOv12 大大通 第三代半导体 碳化硅 ubuntu24.04.1 流式接口 URL 人工智能生成内容 项目部署到linux服务器 项目部署过程 多层架构 解耦 金融 pyqt IO模型 网络用户购物行为分析可视化平台 大数据毕业设计 Kylin-Server 服务器安装 deekseek 内网环境 h.264 实战案例 序列化反序列化 IPv4 子网掩码 公网IP 私有IP SSH 密钥生成 SSH 公钥 私钥 生成 etcd 数据安全 RBAC .net mvc断点续传 剧本 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 大文件秒传跨域报错cors cpp-httplib cudnn anaconda 微信分享 Image wxopensdk 压测 ECS 线程 uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 拓扑图 状态模式 SSE 服务器管理 配置教程 网站管理 分析解读 网卡的名称修改 eth0 ens33 docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos 风扇控制软件 xrdp SRS 流媒体 直播 信号 VS Code Deepseek-R1 私有化部署 推理模型 QT 5.12.12 QT开发环境 Ubuntu18.04 GRUB引导 Linux技巧 雨云服务器 AD 域管理 网站搭建 serv00 崖山数据库 YashanDB 微信开放平台 微信公众号配置 视频编解码 源码剖析 rtsp实现步骤 流媒体开发 RAID RAID技术 磁盘 存储 dash 正则表达式 hexo MacMini 迷你主机 mini Apple 宠物 免费学习 宠物领养 宠物平台 项目部署 性能测试 相差8小时 UTC 时间 远程控制 远程看看 远程协助 mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 知识图谱 软负载 多进程 cpu 实时 使用 midjourney swoole 三级等保 服务器审计日志备份 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 Ark-TS语言 FTP服务器 AI Agent 字节智能运维 办公自动化 自动化生成 pdf教程 minecraft CentOS rnn hosts 语法 risc-v 热榜 Invalid Host allowedHosts 客户端与服务端通信 g++ g++13 Cookie visual studio micropython esp32 mqtt 7z 产品经理 cmos 硬件 干货分享 黑客工具 密码爆破 MDK 嵌入式开发工具 论文笔记 sublime text av1 电视盒子 arcgis triton 模型分析 线性代数 电商平台 运维监控 xshell termius iterm2 pgpool 服务器时间 流量运营 neo4j 数据库开发 database VMware安装mocOS macOS系统安装 田俊楠 ue4 着色器 ue5 seleium chromedriver 宕机切换 服务器宕机 pyautogui keepalived ros 执法记录仪 智能安全帽 smarteye sonoma 自动更新 Ubuntu共享文件夹 共享目录 Linux共享文件夹 bot Docker js transformer leetcode 推荐算法 Linux find grep ABAP chrome devtools DOIT 四博智联 代理 outlook ArcTS 登录 ArcUI GridItem arkUI 离线部署dify 服务网格 istio PVE 系统开发 binder 车载系统 framework 源码环境 SSH 服务 SSH Server OpenSSH Server 常用命令 文本命令 目录命令 存储维护 NetApp存储 EMC存储 企业网络规划 华为eNSP 端口测试 chfs ubuntu 16.04 cd 目录切换 鸿蒙开发 移动开发 Unity插件 iventoy VmWare OpenEuler x64 SIGSEGV xmm0 LInux 磁盘监控 rustdesk 服务器配置 firewalld Open WebUI sequoiaDB 捆绑 链接 谷歌浏览器 youtube google gmail bat 端口 查看 ss 图形渲染 黑苹果 TrueLicense UDP prometheus数据采集 prometheus数据模型 prometheus特点 CentOS Stream 北亚数据恢复 oracle数据恢复 deep learning docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 西门子PLC 通讯 RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 alias unalias 别名 超融合 DNS 混合开发 JDK regedit 开机启动 easyui grub 版本升级 扩容 rpa 游戏开发 蓝桥杯 带外管理 设备 PCI-Express 自动化任务管理 本地化部署 音乐服务器 Navidrome 音流 影刀 #影刀RPA# centos-root /dev/mapper yum clean all df -h / du -sh ping++ 考研 京东云 minicom 串口调试工具 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 基础入门 wsgiref Web 服务器网关接口 Erlang OTP gen_server 热代码交换 事务语义 skynet 大模型推理 yum源切换 更换国内yum源 阿里云ECS 玩机技巧 软件分享 软件图标 SWAT 配置文件 服务管理 网络共享 ardunio BLE dns是什么 如何设置电脑dns dns应该如何设置 vr DeepSeek行业应用 Heroku 网站部署 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 Redis Desktop 私有化