当前位置: 首页 > news >正文

1-k8s1.23.6-底座搭建-基于docker

这里写自定义目录标题

    • 一、服务器准备
    • 二、安装docker
    • 三、安装k8s
    • 四、安装部署dashboard

一、服务器准备

  1. 服务器准备

    服务器名称服务器IP角色CPU(最低要求)内存(最低要求)
    master192.168.248.10master2核2G
    worker1192.168.248.11node2核2G
    worker2192.168.248.12node2核2G
  2. 修改ip:vi /etc/sysconfig/network-scripts/ifcfg-ens33

  3. 修改主机名:hostnamectl set-hostname master

  4. 修改主机名与ip映射:vi /etc/hosts

    192.168.248.10 master
    192.168.248.11 worker1
    192.168.248.12 worker2
    
  5. 重置网络:service network restart

  6. 关闭防火墙:systemctl stop firewalld

  7. 禁用selinux

    [root@localhost ~]# setenforce 0 
    [root@localhost ~]# getenforce
    Permissive
    

    ps:永久禁用方法(需重启服务器)

    sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
    
  8. 关闭swap:swapoff -a

    ps1:swap分区指的是虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间虚拟成内存来使用。但是会对系统性能产生影响。所以这里需要关闭。如果不能关闭,则在需要修改集群的配置参数

    ps2:永久关闭方法,需重启服务器

    sed -ri 's/.*swap.*/#&/' /etc/fstab
    
  9. 查看:free -m

    在这里插入图片描述

  10. bridged网桥设置

    1)概念:为了让服务器的iptables能发现bridged traffic,需要添加网桥过滤和地址转发功能

    2)新建modules-load.d/k8s.conf文件:vi /etc/modules-load.d/k8s.conf

    overlay
    br_netfilter
    

    3)新建sysctl.d/k8s.conf文件:vi /etc/sysctl.d/k8s.conf

    net.bridge.bridge-nf-call-ip6tables = 1
    net.ipv4.ip_forward                 = 1
    net.bridge.bridge-nf-call-iptables = 1
    

    4)加载配置文件:sysctl --system

    5)加载br_netfilter网桥过滤模块 :modprobe br_netfilter

    6)加载网络虚拟化技术模块:modprobe overlay

    7)检验网桥过滤模块是否加载成功:lsmod | grep -e br_netfilter -e overlay
    在这里插入图片描述

  11. 配置IPVS

    1)概念:service有基于iptables和基于ipvs两种代理模型。基于ipvs的性能要高一些。需要手动载入才能使用ipvs模块

    2)安装ipset和ipvsadm:yum install ipset ipvsadm

    3)新建脚本文件:vi /etc/sysconfig/modules/ipvs.modules

    modprobe -- ip_vs
    modprobe -- ip_vs_rr
    modprobe -- ip_vs_wrr
    modprobe -- ip_vs_sh
    modprobe -- nf_conntrack_ipv4
    

    4)添加执行权限给脚本文件,然后执行脚本文件

    chmod +x /etc/sysconfig/modules/ipvs.modules
    /bin/bash /etc/sysconfig/modules/ipvs.modules
    

    5)检验模块是否加载成功:lsmod | grep -e ip_vs -e nf_conntrack_ipv4
    在这里插入图片描述

二、安装docker

ps:三台服务器都装

  1. 下载:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

  2. 启动:systemctl start docker

  3. 设置开机自启动:systemctl enable docker

  4. 验证:docker images

  5. docker设置阿里云加速器和cgroup驱动程序:vi /etc/docker/daemon.json (没有的话,需要自己创建该文件)

    {"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com/","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://bh9y01q2.mirror.aliyuncs.com"],"exec-opts": ["native.cgroupdriver=systemd"]
    }
    

    ps:endpoint = [“https://bh9y01q2.mirror.aliyuncs.com”],这个地址可以自己取阿里云注册使用

    1)登录阿里云:https://www.aliyun.com/

    2)获取平台分配的镜像加速地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
    在这里插入图片描述
    在这里插入图片描述

  6. 重新导入配置:systemctl daemon-reload

  7. 重启:systemctl restart docker

  8. 查看是否配置成功:docker info

在这里插入图片描述

三、安装k8s

ps:三台服务器都装

  1. 安装kubelet、kubeadm、kubectl

    1)添加yum源:vi /etc/yum.repos.d/kubernetes.repo

    [kubernetes]
    name=Kubernetes
    baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=0
    repo_gpgcheck=0
    gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpghttp://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    

    2)下载:yum install -y --setopt=obsoletes=0 kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6

    3)配置: systemctl enable kubelet --now

    4)相关概念

    1. obsoletes等于1表示更新旧的rpm包的同时会删除旧包,0表示更新旧的rpm包不会删除旧包
    2. kubelet启动后,可以用命令journalctl -f -u kubelet查看kubelet更详细的日志
    3. kubelet默认使用systemd作为cgroup driver
    4. 启动后,kubelet现在每隔几秒就会重启,因为它陷入了一个等待kubeadm指令的死循环
    
  2. 下载各个机器需要的镜像

    1)查看集群所需镜像的版本:kubeadm config images list

    2)创建文件夹:mkdir /opt/k8s

    3)创建文件:vi /opt/k8s/images.sh

    #!/bin/bashimages=(
    kube-apiserver:v1.23.17
    kube-controller-manager:v1.23.17
    kube-scheduler:v1.23.17
    kube-proxy:v1.23.17
    pause:3.6
    etcd:3.5.1-0
    coredns:v1.8.6
    )
    for imageName in ${images[@]} ; do
    docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
    done
    
    kube-apiserver:v1.24.0  #接口服务,给予rest风格开放k8s的接口服务
    kube-controller-manager:v1.24.0 #控制管理器,管理各个类型的控制器,针对k8s中的各个资源进行管理
    kube-scheduler:v1.24.0 #调度器,将pod根据一定的算法调用到合适的节点上
    kube-proxy:v1.24.0 #网络代理,负责service的服务发现负载均衡
    pause:3.7
    etcd:3.5.3-0 #理解为ks的数据库,键值类型存储的分布式数据库,提供了基于Raft算法实现自主的集群高可用。老版本:基于内存。新版本:持久化存储
    coredns:v1.8.6 #网络配置
    

    4)赋权: chmod +x /opt/k8s/images.sh

    5)执行下载: /opt/k8s/images.sh

  3. 初始化主节点(只在master节点执行)

    kubeadm init --apiserver-advertise-address=192.168.248.10 --control-plane-endpoint=master --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version v1.23.6 --service-cidr=10.96.0.0/16 --pod-network-cidr=192.169.0.0/16 
    

    ps:–pod-network-cidr跟主机网络必须不同

    ps:将最后一段标黑的保存,后续使用

    在这里插入图片描述

    参数说明

    	  --apiserver-advertise-address string   设置 apiserver 绑定的 IP.--apiserver-bind-port int32            设置apiserver 监听的端口. (默认 6443)--apiserver-cert-extra-sans strings    api证书中指定额外的Subject Alternative Names (SANs) 可以是IP 也可以是DNS名称。 证书是和SAN绑定的。--cert-dir string                      证书存放的目录 (默认 "/etc/kubernetes/pki")--certificate-key string                kubeadm-cert secret 中 用于加密 control-plane 证书的key--config string                         kubeadm 配置文件的路径.--cri-socket string                    CRI socket 文件路径,如果为空 kubeadm 将自动发现相关的socket文件; 只有当机器中存在多个 CRI  socket 或者 存在非标准 CRI socket 时才指定.--dry-run                              测试,并不真正执行;输出运行后的结果.--feature-gates string                 指定启用哪些额外的feature 使用 key=value 对的形式。--help  -h                             帮助文档--ignore-preflight-errors strings       忽略前置检查错误,被忽略的错误将被显示为警告. 例子: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.--image-repository string              选择拉取 control plane images 的镜像repo (default "k8s.gcr.io")--kubernetes-version string            选择K8S版本. (default "stable-1")--node-name string                     指定node的名称,默认使用 node 的 hostname.--pod-network-cidr string              指定 pod 的网络, control plane 会自动将 网络发布到其他节点的node,让其上启动的容器使用此网络--service-cidr string                  指定service 的IP 范围. (default "10.96.0.0/12")--service-dns-domain string            指定 service 的 dns 后缀, e.g. "myorg.internal". (default "cluster.local")--skip-certificate-key-print            不打印 control-plane 用于加密证书的key.--skip-phases strings                  跳过指定的阶段(phase)--skip-token-print                     不打印 kubeadm init 生成的 default bootstrap token --token string                         指定 node 和control plane 之间,简历双向认证的token ,格式为 [a-z0-9]{6}\.[a-z0-9]{16} - e.g. abcdef.0123456789abcdef--token-ttl duration                   token 自动删除的时间间隔。 (e.g. 1s, 2m, 3h). 如果设置为 '0', token 永不过期 (default 24h0m0s)--upload-certs                         上传 control-plane 证书到 kubeadm-certs Secret.
    

    ps:如果想要回退,可执行以下指令

    kubeadm reset -f
    rm -rf /etc/kubernetes
    rm -rf /var/lib/etcd/
    rm -rf $HOME/.kube
    
  4. 查看状态:systemctl status kubelet

    在这里插入图片描述

    ps:如果报错,可以使用journalctl -xefu kubelet看下哪里的问题

  5. 设置.kube/config(只在master执行)

    1)mkdir -p $HOME/.kube

    2)cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

    3)chown ( i d − u ) : (id -u): (idu):(id -g) $HOME/.kube/config

  6. 安装网络插件calico(只在master执行)

    1)切换目录:cd /opt/k8s

    2)下载:curl https://docs.projectcalico.org/archive/v3.19/manifests/calico.yaml -O

    3)修改内容,其中value为上一步的–pod-network-cidr的ip:vi /opt/k8s/calico.yaml

    - name: CALICO_IPV4POOL_CIDR
    value: "192.169.0.0/16"
    

    4)查看需要的镜像:cat calico.yaml | grep image

在这里插入图片描述

5)编辑镜像下载文件:vi /opt/calicoImages.sh

#!/bin/bashimages=(
docker.io/calico/cni:v3.19.4
docker.io/calico/pod2daemon-flexvol:v3.19.4
docker.io/calico/node:v3.19.4
docker.io/calico/kube-controllers:v3.19.4
)
for imageName in ${images[@]} ; do
docker pull $imageName
done

6)赋权:chmod +x /opt/calicoImages.sh

7)执行:/opt/calicoImages.sh

8)部署calico(只在master执行):kubectl apply -f calico.yaml

9)此时查看master的状态:kubectl get pods -A

在这里插入图片描述

10)kubectl get nodes

在这里插入图片描述

  1. 加入node节点

    1)执行:kubeadm join master:6443 --token x3mk8z.fzaqp9swqxl2o6r3 --discovery-token-ca-cert-hash sha256:f4ced0c25b14a796e02b3300b011f7ec8e120c01e95595d78b6d1b38b8805dfc

    2)令牌有效期24小时,可以在master节点生成新令牌命令: kubeadm token create --print-join-command

    3)查看master的状态:kubectl get pods -A

    在这里插入图片描述

    4)kubectl get nodes

    在这里插入图片描述

    5)拷贝主节点文件使node节点可以执行kubectl命令:scp -r H O M E / . k u b e w o r k e r 1 : HOME/.kube worker1: HOME/.kubeworker1:HOME

    ​ ps:拷贝完,自行在node节点测试kubectl命令

    6)将主节点中的/etc/kubernetes/admin.conf文件拷贝到从node节点相同目录下:scp /etc/kubernetes/admin.conf worker1:/etc/kubernetes

    7)导入环境

    echo export KUBECONFIG=/etc/kubernetes/admin.conf >> ~/.bash_profile
    source ~/.bash_profile
    

四、安装部署dashboard

ps:只在master执行

  1. dashboard和kubernetes的版本对应关系,参考:https://github.com/kubernetes/dashboard/blob/v2.5.1/go.mod

  2. 下载镜像

    1)切换目录:cd /opt/k8s

    2)下载:curl https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml -O

    3)创建资源:kubectl apply -f recommended.yaml

    ps:会下载kubernetesui/dashboard:v2.5.1、kubernetesui/metrics-scraper:v1.0.7两个镜像。也可以直接先下载镜像,避免等待

  3. 定时刷新查看进度:watch -n 3 kubectl get pods -A

    在这里插入图片描述

  4. 设置访问端口:kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard

    将type: ClusterIP改为:type: NodePort
    添加 nodePort: 32414
    

在这里插入图片描述

  1. 查看端口命令:kubectl get svc -A | grep kubernetes-dashboard

    在这里插入图片描述

  2. 访问dashborad页面:https://192.168.248.11:32414,如下所示

    在这里插入图片描述

  3. 获取普通用户token

    1)获取列表: kubectl get secrets -n kubernetes-dashboard

    2)获取密钥:kubectl describe secrets default-token-fjzh6 -n kubernetes-dashboard
    在这里插入图片描述

  4. 获取admin用户token

    1)创建访问账号:vi /opt/dash.yaml

    创建用户–》申明角色–》用户和角色绑定

    apiVersion: v1
    kind: ServiceAccount
    metadata:name: admin-usernamespace: kubernetes-dashboard
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:name: admin-user
    roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
    subjects:
    - kind: ServiceAccountname: admin-usernamespace: kubernetes-dashboard
    

    2)应用: kubectl apply -f /opt/dash.yaml

    3)获取访问令牌: kubectl describe secrets admin-user-token-d8f7x -n kubernetes-dashboard
    在这里插入图片描述

  5. 将获取的token填入页面登录即可

    在这里插入图片描述

相关文章:

1-k8s1.23.6-底座搭建-基于docker

这里写自定义目录标题 一、服务器准备二、安装docker三、安装k8s四、安装部署dashboard 一、服务器准备 服务器准备 服务器名称服务器IP角色CPU(最低要求)内存(最低要求)master192.168.248.10master2核2Gworker1192.168.248.11node2核2Gworker2192.168.248.12node2核2G 修改ip&…...

【SA8295P 源码分析 (一)】76 - Thermal 功耗 之 /dev/thermalmgr 相关调试命令汇总

【SA8295P 源码分析】76 - Thermal 功耗 之 /dev/thermalmgr 相关调试命令汇总 1、配置文件:/mnt/etc/system/config/thermal-engine.conf2、获取当前SOC所有温度传感器的温度:cat /dev/thermalmgr3、查看所有 Thermal 默认配置和自定义配置:echo query config > /dev/th…...

每日汇评:随着上升趋势的恢复,黄金在1950美元上方等待破位

周三早间,黄金价格逼近1950美元,买家纷纷出手; 尽管市场情绪谨慎,但美元与美债交投疲弱,中国的乐观情绪逐渐消退; 金价重拾200日移动均线,但料持续升穿1950美元; 金价正从每盎司1943…...

postgresql字符串处理的函数

1. SPLIT_PART SPLIT_PART() 函数通过指定分隔符分割字符串,并返回第N个子串。语法: SPLIT_PART(string, delimiter, position) string : 待分割的字符串 delimiter:指定分割字符串 position:返回第几个字串,从1开始&…...

(1)攻防世界web-Training-WWW-Robots

1.开启环境,查看网页 翻译一下 2.前往robots.txt 命令:http://61.147.171.105:57663/robots.txt 3.前往fl0g.php 命令:http://61.147.171.105:57663/fl0g.php 4.得到flag cyberpeace{92ec1ef9b6d900100399093b9ae9e386}...

list.set交换数据需要(or不需要)添加其他中间变量,两个例子告诉你

说明:set()方法是来修改指定位置的元素。 两个参数,第一个参数是要修改的元素的索引,第二个参数是要设置的新值。 案例一:当链表中传入的是字符串时: public static void main(String[] args) {List list new Linke…...

Linux中的主要系统调用

Linux 操作系统中就是创建进程。创建进程的系统调用叫fork。在 Linux 里,要创建一个新的进程,需要一个老的进程调用 fork 来实现,其中老的进程叫作父进程(Parent Process),新的进程叫作子进程(C…...

在vscode中配置git bash终端、git 源码管理

打开vscode文件->首选项->设置,打开设置搜索shell windows将以下配置添加到vscode中的settings.json中 注意: terminal.integrated.profiles.windows这个配置项是就是添加终端的terminal.integrated.defaultProfile.windows这个是配置默认选项的…...

(三十四)大数据实战——scala运行环境安装配置及IDEA开发工具集成

前言 本节内容我们主要介绍一下scala运行环境的安装配置以及在idea开发工具中集成scala插件,便于scala项目的开发。 在开始scala安装配置之前,我们要先安装好jvm运行环境,scala运行于Java虚拟机(JVM)上,并…...

Double 4 VR智能互动教学系统的教学应用

1. 激发学习兴趣 Double 4 VR智能互动教学系统通过虚拟现实技术为学生创造了一个身临其境的学习环境。学生可以通过戴上VR头盔,进入虚拟世界中与教学内容互动。这种沉浸式的学习方式能够激发学生的学习兴趣,使他们更加主动地参与到课堂中来。 2. 提供直…...

GPU 驱动下载记录

1. 我的GPU 是这个:GeForce RTX 2060 下载链接是:Official Drivers | NVIDIA...

KILM: Knowledge Injection into Encoder-Decoder Language Models

本文是LLM系列文章,针对《KILM: Knowledge Injection into Encoder-Decoder Language Models》的翻译。 KILM:知识注入到编码器-解码器语言模型 摘要1 引言2 相关工作3 方法4 实验5 讨论6 结论局限性 摘要 大型预训练语言模型(PLMs)已被证明在其参数内保…...

205、使用消息队列实现 RPC(远程过程调用)模型的 服务器端 和 客户端

目录 ★ RPC模型(远程过程调用通信模型)▲ 完整过程:代码演示总体流程解释:ConstantUtil 常量工具类ConnectionUtil RabbitMQ连接工具类Server 服务端Client 客户端测试结果服务端客户端 完整代码ConstantUtil 常量工具类Connecti…...

C++中的函数

在C中,函数是程序的一部分,它执行特定的任务。函数的基本语法如下: type function-name( parameter list ) { body of the function } type 是函数的返回类型,function-name 是函数的名称, parameter list 是传递…...

java操作时间的方式

java操作时间的方式 获取年月日时分秒 public class Test { public static void main(String[] args) { System.out.println("----------使用Calendar--------------------"); Calendar cal Calendar.getInstance(); System.out.println(&q…...

上网冲浪发现多处XSS

突然的发现 今天上网冲浪,突然想起来有一种神器,叫废话生成器,之前是在哪里下了个软件玩了一下,然后就给删除了,因为我觉得这个软件不过就是调用了一个web接口实现的,一个网页能解决的事还要我下一个软件。…...

机器学习的打分方程汇总

机器学习的打分方程集合 受到机器学习(Machine Learning)和深度学习(Deep Learning)等算法模型的创新性冲击,其应用范围涵盖了自然语言处理(Natural Language Processing)、自动驾驶&#xff08…...

一文了解数据管理框架以及数据战略制定方法

这一节主要介绍数据管理这一章的另一重要部分,也就是我们在数据管理经常使用到的数据管理框架以及数据战略制定方法。 要制定数据管理框架,或者是组织需要制定数据治理规划或数据管理规划,需要首先制定与业务战略对齐的数据战略。 01、数据…...

智能管家“贾维斯”走进现实?AI Agent或成2023科技领域新风向标

漫威粉们想必都知道《钢铁侠》系列电影中,有一个不可或缺的角色——贾维斯。但就算是没有看过任何一部大电影的路人,只要通过一个词就可以了解“贾维斯”是一个什么样的角色——智能管家。 作为托尼斯塔克的助手,贾维斯的存在让主人的生活更…...

【广州华锐互动】VR高层小区安全疏散演练系统

在今天的高科技时代,虚拟现实(VR)技术已经被广泛应用到各个领域,包括教育和培训。由广州华锐互动定制开发的VR高层小区安全疏散演练系统,开始在房地产行业中崭露头角。这种系统通过模拟真实的紧急情况,帮助…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...