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

Kubernetes 1.20集群部署

文章目录

  • Kubernetes 1.20 集群部署文档
    • 一、集群节点信息表
    • 二、环境准备(所有节点执行)
      • 1. 基础环境初始化(关闭防火墙、SELinux、Swap)
      • 2. 加载IPVS模块(实现K8S服务调度)
      • 3. 设置主机名(按节点角色执行)
      • 4. 修改Hosts文件(所有节点)
      • 5. 调整内核参数(适配K8S网络)
    • 三、所有节点安装Docker
      • 1. 配置Docker YUM源并安装依赖
      • 2. 配置Docker daemon(适配K8S)
    • 四、所有节点安装K8S组件(kubeadm、kubelet、kubectl)
      • 1. 配置K8S YUM源(阿里云)
      • 2. 安装指定版本(1.20.11)
    • 五、部署K8S Master节点
      • 1. 准备K8S镜像(两种方式)
        • 方式1:本地加载镜像(推荐,避免网络问题)
        • 方式2:在线拉取镜像(需保证网络通畅)
      • 2. 初始化Master节点(两种方式)
        • 方式1:通过配置文件初始化(推荐,可复用)
        • 方式2:通过命令行参数初始化
      • 3. 配置kubectl(Master节点)
      • 4. 修复集群健康状态(若kubectl get cs显示不健康)
    • 六、部署容器网络插件(flannel,所有节点)
      • 方式1:本地部署(需提前准备文件)
      • 方式2:在线部署(需网络通畅)
      • 验证网络插件状态(master节点)
    • 七、Node节点加入集群
      • 1. 获取Join命令(master节点执行)
      • 2. 执行Join命令(node01、node02节点分别执行)
      • 验证节点状态(master节点)
    • 八、测试集群功能(master节点)
      • 1. 创建Nginx Deployment
      • 2. 暴露Nginx服务(NodePort类型,外部可访问)
      • 3. 访问Nginx服务(外部机器或节点内部)
      • 4. 扩展Nginx副本(测试调度功能)
    • 九、部署K8S Dashboard(可视化界面,master节点)
      • 1. 准备并修改Dashboard配置文件
      • 2. 部署Dashboard
      • 3. 创建管理员账户并获取Token
      • 4. 访问Dashboard
    • 十、部署Harbor私有仓库(Harbor节点执行)
      • 1. 基础配置(Harbor节点)
      • 2. 安装Docker(同步骤三,已安装可跳过)
      • 3. 配置Docker支持私有仓库(所有节点)
      • 4. 安装Docker Compose(Harbor节点)
      • 5. 安装并配置Harbor
      • 6. 生成SSL证书(Harbor节点)
      • 7. 启动Harbor
      • 8. 访问Harbor并上传镜像
        • (1)浏览器访问Harbor
        • (2)上传Nginx镜像到Harbor(任意node节点)
        • (3)从Harbor拉取镜像部署(master节点)
    • 十一、内核参数优化(所有节点,可选)
    • 关键注意事项

Kubernetes 1.20 集群部署文档

一、集群节点信息表

节点角色硬件配置节点IP需安装组件
master2C/4G(CPU≥2)192.168.100.128docker、kubeadm、kubelet、kubectl、flannel
node012C/2G192.168.100.130docker、kubeadm、kubelet、kubectl、flannel
node022C/2G192.168.100.139docker、kubeadm、kubelet、kubectl、flannel
Harbor节点按需配置(用户自行指定)docker、docker-compose、harbor-offline-v1.2.2

二、环境准备(所有节点执行)

1. 基础环境初始化(关闭防火墙、SELinux、Swap)

# 关闭防火墙并设置开机不自启
systemctl stop firewalld
systemctl disable firewalld# 临时关闭SELinux,永久关闭需修改配置文件
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config# 清空iptables规则
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X# 临时关闭Swap分区,永久关闭需注释配置
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab  # &代表上次匹配的Swap配置行

2. 加载IPVS模块(实现K8S服务调度)

for i in $(ls /usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs|grep -o "^[^.]*");do echo $i; /sbin/modinfo -F filename $i >/dev/null 2>&1 && /sbin/modprobe $i;
done

3. 设置主机名(按节点角色执行)

  • master节点
    hostnamectl set-hostname master01
    
  • node01节点
    hostnamectl set-hostname node01
    
  • node02节点
    hostnamectl set-hostname node02
    

4. 修改Hosts文件(所有节点)

vim /etc/hosts
# 添加以下内容(IP已修正为用户指定地址)
192.168.100.128 master01
192.168.100.130 node01
192.168.100.139 node02
# 若有Harbor节点,需添加:HarborIP  Harbor域名(如192.168.100.xxx hub.kgc.com)

5. 调整内核参数(适配K8S网络)

cat > /etc/sysctl.d/kubernetes.conf << EOF
# 开启网桥模式,允许网桥流量传递到iptables
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
# 关闭IPv6协议
net.ipv6.conf.all.disable_ipv6=1
# 开启IPv4转发
net.ipv4.ip_forward=1
EOF# 生效内核参数
sysctl --system

三、所有节点安装Docker

1. 配置Docker YUM源并安装依赖

# 安装依赖工具
yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加阿里云Docker YUM源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 安装Docker(默认最新稳定版,如需指定版本可加版本号,如docker-ce-20.10.9)
yum install -y docker-ce docker-ce-cli containerd.io

2. 配置Docker daemon(适配K8S)

# 创建Docker配置目录
mkdir /etc/docker# 编写daemon.json(指定镜像加速、Cgroup驱动、日志配置)
cat > /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"],  # 阿里云镜像加速"exec-opts": ["native.cgroupdriver=systemd"],  # 与K8S一致的Cgroup驱动"log-driver": "json-file",  # 日志存储格式"log-opts": {"max-size": "100m"  # 单日志文件最大100M}
}
EOF# 重启Docker并设置开机自启
systemctl daemon-reload
systemctl restart docker.service
systemctl enable docker.service # 验证Cgroup驱动(需输出“Cgroup Driver: systemd”)
docker info | grep "Cgroup Driver"

注:若阿里云加速地址不可用,可替换为华为云加速:"https://0a40cefd360026b40f39c00627fa6f20.mirror.swr.myhuaweicloud.com"

四、所有节点安装K8S组件(kubeadm、kubelet、kubectl)

1. 配置K8S YUM源(阿里云)

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0  # 关闭GPG校验(加速安装)
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

2. 安装指定版本(1.20.11)

# 安装1.20.11版本(版本需统一,避免兼容性问题)
yum install -y kubelet-1.20.11 kubeadm-1.20.11 kubectl-1.20.11# 设置kubelet开机自启(K8S组件以Pod运行,依赖kubelet启动)
systemctl enable kubelet.service

五、部署K8S Master节点

1. 准备K8S镜像(两种方式)

方式1:本地加载镜像(推荐,避免网络问题)
# 1. 在master节点上传 v1.20.11.zip 压缩包至 /opt 目录
# 2. 解压并加载镜像
unzip v1.20.11.zip -d /opt/k8s
cd /opt/k8s/v1.20.11
for i in $(ls *.tar); do docker load -i $i; done# 3. 复制镜像到node节点(避免重复上传)
scp -r /opt/k8s root@node01:/opt  # 复制到node01
scp -r /opt/k8s root@node02:/opt  # 复制到node02# 4. 在node01、node02节点执行镜像加载(分别登录node节点执行)
cd /opt/k8s/v1.20.11
for i in $(ls *.tar); do docker load -i $i; done
方式2:在线拉取镜像(需保证网络通畅)
# 查看需拉取的镜像列表
kubeadm config images list# 在线拉取(指定阿里云镜像仓库,避免访问k8s.gcr.io)
kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.20.11

2. 初始化Master节点(两种方式)

方式1:通过配置文件初始化(推荐,可复用)
# 1. 生成默认配置文件
kubeadm config print init-defaults > /opt/kubeadm-config.yaml# 2. 编辑配置文件(修正IP、版本、网段)
vim /opt/kubeadm-config.yaml
# 关键修改项:
11 localAPIEndpoint:
12   advertiseAddress: 192.168.100.128  # 改为master节点IP
13   bindPort: 6443
......
34 kubernetesVersion: v1.20.11  # 指定K8S版本
35 networking:
36   dnsDomain: cluster.local
37   podSubnet: "10.244.0.0/16"  # 与flannel默认网段匹配
38   serviceSubnet: 10.96.0.0/16  # Service网段
39 scheduler: {}
# 在文件末尾添加(开启ipvs模式)
--- 
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs# 3. 执行初始化(输出日志到文件,便于后续查看)
kubeadm init --config=kubeadm-config.yaml --upload-certs | tee kubeadm-init.log# 4. 查看初始化日志(可选,排查问题用)
less kubeadm-init.log
方式2:通过命令行参数初始化
kubeadm init \
--apiserver-advertise-address=192.168.100.128 \  # master节点IP
--image-repository registry.aliyuncs.com/google_containers \  # 阿里云镜像仓库
--kubernetes-version=v1.20.11 \  # K8S版本
--service-cidr=10.96.0.0/16 \  # Service网段
--pod-network-cidr=10.244.0.0/16 \  # Pod网段(匹配flannel)
--token-ttl=0  # Token永久有效(默认24小时过期)# 若用此方式,需额外开启ipvs模式:
kubectl edit cm kube-proxy -n=kube-system
# 将“mode: ”改为“mode: ipvs”,保存退出

3. 配置kubectl(Master节点)

# 普通用户配置(推荐)
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config# 若用root用户,可直接执行:
# export KUBECONFIG=/etc/kubernetes/admin.conf

4. 修复集群健康状态(若kubectl get cs显示不健康)

# 编辑 scheduler 和 controller-manager 配置文件
vim /etc/kubernetes/manifests/kube-scheduler.yaml 
vim /etc/kubernetes/manifests/kube-controller-manager.yaml# 关键修改项(两个文件均需改):
1. 将 --bind-address=127.0.0.1 改为 --bind-address=192.168.100.128(master IP)
2. 将 httpGet: 字段下的 host: 127.0.0.1 改为 host: 192.168.100.128(共两处)
3. 搜索 --port=0,将该行注释(#--port=0)# 重启kubelet生效
systemctl restart kubelet# 验证集群组件状态(均为 Healthy 则正常)
kubectl get cs

六、部署容器网络插件(flannel,所有节点)

方式1:本地部署(需提前准备文件)

# 1. 所有节点上传 flannel.tar 镜像至 /opt 目录,加载镜像
cd /opt
docker load < flannel.tar# 2. master节点上传 kube-flannel.yml 文件至 /opt 目录,执行部署
kubectl apply -f kube-flannel.yml 

方式2:在线部署(需网络通畅)

# 选择任一命令执行
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 或
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

验证网络插件状态(master节点)

# 查看kube-system命名空间下的flannel Pod(均为Running则正常)
kubectl get pods -n kube-system | grep flannel

七、Node节点加入集群

1. 获取Join命令(master节点执行)

# 方式1:从初始化日志中提取(若保留了kubeadm-init.log)
grep "kubeadm join" kubeadm-init.log# 方式2:重新生成Join命令(若Token过期或丢失)
kubeadm token create --print-join-command

2. 执行Join命令(node01、node02节点分别执行)

# 替换为实际获取的Join命令(IP已修正为master节点IP)
kubeadm join 192.168.100.128:6443 --token xxxxx.xxxxxxxxxx \--discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

验证节点状态(master节点)

# 查看所有节点(均为Ready则正常)
kubectl get nodes
# 输出示例:
NAME       STATUS   ROLES                  AGE   VERSION
master01   Ready    control-plane,master   30m   v1.20.11
node01     Ready    <none>                 10m   v1.20.11
node02     Ready    <none>                 8m    v1.20.11

八、测试集群功能(master节点)

1. 创建Nginx Deployment

# 创建1个Nginx副本
kubectl create deployment nginx --image=nginx# 查看Pod状态(STATUS为Running则正常)
kubectl get pods -o wide

2. 暴露Nginx服务(NodePort类型,外部可访问)

# 暴露80端口,类型为NodePort
kubectl expose deployment nginx --port=80 --type=NodePort# 查看服务状态(获取NodePort端口,如32404)
kubectl get svc
# 输出示例:
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP        1h
nginx        NodePort    10.96.56.120   <none>        80:32404/TCP   5s

3. 访问Nginx服务(外部机器或节点内部)

# 方式1:节点内部访问(用node节点IP+NodePort)
curl http://192.168.100.130:32404  # node01 IP
# 或
curl http://192.168.100.139:32404  # node02 IP# 方式2:外部浏览器访问(需节点防火墙开放NodePort端口)
http://192.168.100.130:32404  # 替换为实际NodePort

4. 扩展Nginx副本(测试调度功能)

# 扩展为3个副本
kubectl scale deployment nginx --replicas=3# 查看副本分布(Pod会调度到不同node节点)
kubectl get pods -o wide

九、部署K8S Dashboard(可视化界面,master节点)

1. 准备并修改Dashboard配置文件

# 1. 上传 recommended.yaml 文件至 /opt/k8s 目录
cd /opt/k8s# 2. 编辑文件,修改Service为NodePort类型(外部可访问)
vim recommended.yaml
# 找到Service配置段,添加NodePort端口:
kind: Service
apiVersion: v1
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
spec:ports:- port: 443targetPort: 8443nodePort: 30001  # 添加:外部访问端口type: NodePort       # 添加:服务类型改为NodePortselector:k8s-app: kubernetes-dashboard

2. 部署Dashboard

kubectl apply -f recommended.yaml# 查看Dashboard Pod状态(Running则正常)
kubectl get pods -n kubernetes-dashboard

3. 创建管理员账户并获取Token

# 1. 创建service account(dashboard-admin)
kubectl create serviceaccount dashboard-admin -n kube-system# 2. 绑定cluster-admin角色(授予管理员权限)
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin# 3. 获取Token(复制输出的token,用于登录)
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

4. 访问Dashboard

# 浏览器访问(用master或node节点IP+30001,需用https)
https://192.168.100.128:30001  # master节点IP
# 或
https://192.168.100.130:30001  # node01节点IP# 登录步骤:
1. 选择“Token”登录方式
2. 粘贴上一步获取的Token,点击“登录”

十、部署Harbor私有仓库(Harbor节点执行)

1. 基础配置(Harbor节点)

# 1. 设置Harbor主机名(如hub.kgc.com,可自定义)
hostnamectl set-hostname hub.kgc.com# 2. 所有节点添加Harbor主机名映射(包括master、node01、node02)
echo 'Harbor节点IP  hub.kgc.com' >> /etc/hosts  # 替换为实际Harbor节点IP

2. 安装Docker(同步骤三,已安装可跳过)

略(参考“三、所有节点安装Docker”)

3. 配置Docker支持私有仓库(所有节点)

# 编辑daemon.json,添加insecure-registries
cat > /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"],"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"insecure-registries": ["https://hub.kgc.com"]  # 添加Harbor域名(支持http)
}
EOF# 重启Docker生效
systemctl daemon-reload
systemctl restart docker

4. 安装Docker Compose(Harbor节点)

# 1. 上传 docker-compose 文件至 /opt 目录
# 2. 移动到可执行目录并授权
cp /opt/docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose# 验证安装(输出版本则正常)
docker-compose --version

5. 安装并配置Harbor

# 1. 上传 harbor-offline-installer-v1.2.2.tgz 至 /opt 目录,解压
cd /opt
tar zxvf harbor-offline-installer-v1.2.2.tgz
cd harbor/# 2. 编辑Harbor配置文件
vim harbor.cfg
# 关键修改项:
5  hostname = hub.kgc.com  # Harbor域名(与hosts映射一致)
9  ui_url_protocol = https  # 访问协议(https)
24 ssl_cert = /data/cert/server.crt  # 证书路径
25 ssl_cert_key = /data/cert/server.key  # 私钥路径
59 harbor_admin_password = Harbor12345  # 管理员密码(可自定义)

6. 生成SSL证书(Harbor节点)

# 1. 创建证书目录
mkdir -p /data/cert
cd /data/cert# 2. 生成私钥(输入密码,如123456,后续需重复输入)
openssl genrsa -des3 -out server.key 2048# 3. 生成证书签名请求(CSR)
openssl req -new -key server.key -out server.csr
# 按提示输入(关键项:Common Name需为Harbor域名hub.kgc.com):
Enter pass phrase for server.key: 123456(输入私钥密码)
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BJ(省份,自定义)
Locality Name (eg, city) [Default City]:BJ(城市,自定义)
Organization Name (eg, company) [Default Company Ltd]:BENET(组织名,自定义)
Organizational Unit Name (eg, section) []:BENET(部门名,自定义)
Common Name (eg, your name or your server's hostname) []:hub.kgc.com(关键:Harbor域名)
Email Address []:admin@benet.com(邮箱,自定义)
A challenge password []:(直接回车,无需密码)
An optional company name []:(直接回车)# 4. 备份私钥并清除密码(避免启动Harbor时需输入密码)
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key  # 输入私钥密码123456# 5. 生成自签名证书(有效期1000天)
openssl x509 -req -days 1000 -in server.csr -signkey server.key -out server.crt# 6. 授权证书文件
chmod +x /data/cert/*

7. 启动Harbor

# 回到Harbor安装目录,执行安装脚本
cd /opt/harbor/
./install.sh# 验证Harbor状态(所有容器均为Up则正常)
docker-compose ps

8. 访问Harbor并上传镜像

(1)浏览器访问Harbor
# 访问地址(https+Harbor节点IP或域名+443端口,默认443可省略)
https://hub.kgc.com# 登录:
用户名:admin
密码:Harbor12345(harbor.cfg中配置的密码)
(2)上传Nginx镜像到Harbor(任意node节点)
# 1. 登录Harbor(输入用户名admin,密码Harbor12345)
docker login -u admin -p Harbor12345 https://hub.kgc.com# 2. 给本地Nginx镜像打标签(格式:Harbor域名/项目名/镜像名:版本)
docker tag nginx:latest hub.kgc.com/library/nginx:v1  # library为默认项目# 3. 上传镜像到Harbor
docker push hub.kgc.com/library/nginx:v1
(3)从Harbor拉取镜像部署(master节点)
# 1. 删除原有Nginx Deployment(可选)
kubectl delete deployment nginx# 2. 从Harbor拉取镜像创建Deployment(3个副本,暴露80端口)
kubectl create deployment nginx-deployment --image=hub.kgc.com/library/nginx:v1 --port=80 --replicas=3# 3. 暴露服务(NodePort类型,外部可访问)
kubectl expose deployment nginx-deployment --port=30000 --target-port=80 --type=NodePort# 4. 查看服务和Pod状态
kubectl get svc,pods
# 访问测试(用node节点IP+NodePort)
curl http://192.168.100.130:32xxxx  # 替换为实际NodePort

十一、内核参数优化(所有节点,可选)

# 编写优化配置文件
cat > /etc/sysctl.d/kubernetes.conf <<EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
vm.swappiness=0  # 禁止使用Swap,仅OOM时允许
vm.overcommit_memory=1  # 不检查物理内存是否充足
vm.panic_on_oom=0  # 开启OOM(避免系统崩溃)
fs.inotify.max_user_instances=8192  # 最大实例数
fs.inotify.max_user_watches=1048576  # 最大监控数
fs.file-max=52706963  # 最大文件句柄数
fs.nr_open=52706963  # 最大打开文件数(内核4.4+支持)
net.ipv6.conf.all.disable_ipv6=1  # 关闭IPv6
net.netfilter.nf_conntrack_max=2310720  # 最大连接数
EOF# 生效配置
sysctl --system

关键注意事项

  1. IP一致性:所有配置文件、命令中的节点IP需与用户指定的192.168.100.128(master)192.168.100.130(node01)192.168.100.139(node02)严格一致,避免因IP错误导致节点无法通信。
  2. Token有效性kubeadm join命令中的Token和Hash需从master节点实时生成(通过kubeadm token create --print-join-command),文档中示例Token无效。
  3. 镜像兼容性:K8S 1.20.11需搭配对应版本的flannel、Docker(推荐20.10.x系列),避免版本不兼容。
  4. Harbor配置:若Harbor节点IP变更,需同步修改所有节点的/etc/hosts和Docker的daemon.json,确保镜像拉取/上传正常。
http://www.dtcms.com/a/465778.html

相关文章:

  • PostgresWAL文件和序列号
  • 个人网页设计制作网站模板中国建设银行网站忘记密码怎么办
  • cms 官方网站网站建设团队管理怎么写
  • 什么是Ansible 清单
  • MySQL——数据库入门指南
  • 国外网站空间租用费用电商食品网站建设
  • 一级a做爰片免费网站短视频教程软件开发需要用什么软件
  • 机器人如何帮助工厂提升工作效率
  • 苹果软件混淆与 iOS 代码加固趋势,IPA 加密、应用防反编译与无源码保护的工程化演进
  • 将聚合工程的ssm项目部署到本地tomcat
  • 网站开发模块的需求网站搜索引擎优化建议
  • 方正宋体超大字符集
  • 网站和系统哪个好做网站开发的总结
  • 【大前端】 TypeScript vs JavaScript:全面对比与实践指南
  • wpf之MVVM中只读属性更新界面
  • 南通企业免费建站深圳网站开发运营公司
  • php微信商家转账回调通知数据解密
  • 使用Linux的read和write系统函数操作文件
  • 基于 PLC 的仓储管理系统设计
  • 企业网站建设计划内部局域网怎么搭建
  • elasticsearch索引多长时间刷新一次(智能刷新索引根据数据条数去更新)
  • 脑电模型实战系列(二):PyTorch实现简单DNN模型
  • 脑电模型实战系列(二):为什么从简单DNN开始脑电情绪识别?
  • 哪个网站做h5比较好看金华手机建站模板
  • 制作网站源码电子商务网站建设课后习题答案
  • Google 智能体设计模式:模型上下文协议 (MCP)
  • 智能 DAG 编辑器:从基础功能到创新应用的全方位探索
  • 多语言建站系统深圳做网站比较好的公司有哪些
  • 基于OpenCV的智能疲劳检测系统:原理、实现与创新
  • Google 智能体设计模式:多智能体协作