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

【模块一】kubernetes容器编排进阶实战之资源管理核心概念

kubernetes 资源管理核心概念

k8s的设计理念—分层架构

 

CRI-container runtime interface-容器运行接口
CNI-container network interface-容器网络接口
CSI-container storage interface-容器存储接口 

k8s的设计理念—API设计原则

 

https://www.kubernetes.org.cn/kubernetes%e8%ae%be%e8%ae%a1%e7%90%86%e5%bf%b5所有API应该是声明式的。
API对象是彼此互补而且可组合的。
高层API以操作意图为基础设计。
低层API根据高层API的控制需要设计。
尽量避免简单封装,不要有在外部API无法显式知道的内部隐藏的机制。API操作复杂度与对象数量成正比。
API对象状态不能依赖于网络连接状态。
尽量避免让操作机制依赖于全局状态,因为在分布式系统中要保证全局状态的同步是非常困难的。

kubernetes API简介

 

内置API: 部署好kubernetes集群后自带的 API接口.

自定义资源:CRD(Custom Resource Definition),部署kubernetes之后通过安装其 它组件等方式扩展出来的API。

kubernetes 内置API及资源对象简介

 

# curl --cacert /etc/kubernetes/ssl/ca.pem -H "Authorization: Bearer TOKEN" https://127.0.0.1:6443[root@k8s-master1 2.dashboard-v2.7.0]#kubectl get secrets -A |grep admin
kubernetes-dashboard   dashboard-admin-user   kubernetes.io/service-account-token   3      4m27s
kuboard                kuboard-admin-token    kubernetes.io/service-account-token   3      8d
#获取token
[root@k8s-master1 2.dashboard-v2.7.0]#kubectl describe secrets  -n kubernetes-dashboard dashboard-admin-user curl --cacert /etc/kubernetes/ssl/ca.pem -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6InFDU2NVUThyQ3RPREkySExNdTN0dktnRWpkbnhYcXp5b091NmE2TEZTRlEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdXNlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJhZG1pbi11c2VyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiM2UwYmY2MmQtMDk3YS00MmU4LWE5NjItZTNmMTAxMGFlM2NjIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmFkbWluLXVzZXIifQ.LVc_o1AebQHNGveuCQMSsQXNWwDXEyzg-HyLZccLm7IFENETN7PqnR1l6PC0WszWo0ekVfwwqkIpWl0sXLqcgqTGqv-FzIGHS7okwpskdReQOBfzPPPo73O_CLdWMLgo9iISVB-WK7YbMZzrCwZ8aosHTXjI4_5XhlZtbI2UZu0Fiuwxkq5DMwkYQ-_x1vFV_zwyN8u01MdUkpsRo_8CA-b72dAOVmABEO3PxSHVoekVvVkvXLf7rZsMJdiqn1qGFAQL3-xTlivg2bfBPTeHkx7YExn12sre4omRFWkMEGl6Yv9OGenRQgakTImJWjSZhmJgm6bX9XED3LT0kJ9rLA " https://10.0.0.188:6443[root@k8s-master1 2.dashboard-v2.7.0]#curl --cacert /etc/kubernetes/ssl/ca.pem -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6InFDU2NVUThyQ3RPREkySExNdTN0dktnRWpkbnhYcXp5b091NmE2TEZTRlEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdXNlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJhZG1pbi11c2VyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiM2UwYmY2MmQtMDk3YS00MmU4LWE5NjItZTNmMTAxMGFlM2NjIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmFkbWluLXVzZXIifQ.LVc_o1AebQHNGveuCQMSsQXNWwDXEyzg-HyLZccLm7IFENETN7PqnR1l6PC0WszWo0ekVfwwqkIpWl0sXLqcgqTGqv-FzIGHS7okwpskdReQOBfzPPPo73O_CLdWMLgo9iISVB-WK7YbMZzrCwZ8aosHTXjI4_5XhlZtbI2UZu0Fiuwxkq5DMwkYQ-_x1vFV_zwyN8u01MdUkpsRo_8CA-b72dAOVmABEO3PxSHVoekVvVkvXLf7rZsMJdiqn1qGFAQL3-xTlivg2bfBPTeHkx7YExn12sre4omRFWkMEGl6Yv9OGenRQgakTImJWjSZhmJgm6bX9XED3LT0kJ9rLA " https://10.0.0.188:6443
{"paths": ["/.well-known/openid-configuration","/api","/api/v1","/apis","/apis/","/apis/admissionregistration.k8s.io","/apis/admissionregistration.k8s.io/v1","/apis/apiextensions.k8s.io","/apis/apiextensions.k8s.io/v1","/apis/apiregistration.k8s.io","/apis/apiregistration.k8s.io/v1","/apis/apps","/apis/apps/v1","/apis/authentication.k8s.io","/apis/authentication.k8s.io/v1","/apis/authorization.k8s.io","/apis/authorization.k8s.io/v1","/apis/autoscaling","/apis/autoscaling/v1","/apis/autoscaling/v2","/apis/batch","/apis/batch/v1","/apis/certificates.k8s.io","/apis/certificates.k8s.io/v1","/apis/coordination.k8s.io","/apis/coordination.k8s.io/v1","/apis/discovery.k8s.io","/apis/discovery.k8s.io/v1","/apis/events.k8s.io","/apis/events.k8s.io/v1","/apis/flowcontrol.apiserver.k8s.io","/apis/flowcontrol.apiserver.k8s.io/v1beta2","/apis/flowcontrol.apiserver.k8s.io/v1beta3","/apis/networking.k8s.io","/apis/networking.k8s.io/v1","/apis/node.k8s.io","/apis/node.k8s.io/v1","/apis/policy","/apis/policy/v1","/apis/rbac.authorization.k8s.io","/apis/rbac.authorization.k8s.io/v1","/apis/scheduling.k8s.io","/apis/scheduling.k8s.io/v1","/apis/storage.k8s.io","/apis/storage.k8s.io/v1","/apis/storage.k8s.io/v1beta1","/healthz","/healthz/autoregister-completion","/healthz/etcd","/healthz/log","/healthz/ping","/healthz/poststarthook/aggregator-reload-proxy-client-cert","/healthz/poststarthook/apiservice-openapi-controller","/healthz/poststarthook/apiservice-openapiv3-controller","/healthz/poststarthook/apiservice-registration-controller","/healthz/poststarthook/apiservice-status-available-controller","/healthz/poststarthook/bootstrap-controller","/healthz/poststarthook/crd-informer-synced","/healthz/poststarthook/generic-apiserver-start-informers","/healthz/poststarthook/kube-apiserver-autoregistration","/healthz/poststarthook/priority-and-fairness-config-consumer","/healthz/poststarthook/priority-and-fairness-config-producer","/healthz/poststarthook/priority-and-fairness-filter","/healthz/poststarthook/rbac/bootstrap-roles","/healthz/poststarthook/scheduling/bootstrap-system-priority-classes","/healthz/poststarthook/start-apiextensions-controllers","/healthz/poststarthook/start-apiextensions-informers","/healthz/poststarthook/start-cluster-authentication-info-controller","/healthz/poststarthook/start-kube-aggregator-informers","/healthz/poststarthook/start-kube-apiserver-admission-initializer","/healthz/poststarthook/start-kube-apiserver-identity-lease-controller","/healthz/poststarthook/start-kube-apiserver-identity-lease-garbage-collector","/healthz/poststarthook/start-legacy-token-tracking-controller","/healthz/poststarthook/storage-object-count-tracker-hook","/livez","/livez/autoregister-completion","/livez/etcd","/livez/log","/livez/ping","/livez/poststarthook/aggregator-reload-proxy-client-cert","/livez/poststarthook/apiservice-openapi-controller","/livez/poststarthook/apiservice-openapiv3-controller","/livez/poststarthook/apiservice-registration-controller","/livez/poststarthook/apiservice-status-available-controller","/livez/poststarthook/bootstrap-controller","/livez/poststarthook/crd-informer-synced","/livez/poststarthook/generic-apiserver-start-informers","/livez/poststarthook/kube-apiserver-autoregistration","/livez/poststarthook/priority-and-fairness-config-consumer","/livez/poststarthook/priority-and-fairness-config-producer","/livez/poststarthook/priority-and-fairness-filter","/livez/poststarthook/rbac/bootstrap-roles","/livez/poststarthook/scheduling/bootstrap-system-priority-classes","/livez/poststarthook/start-apiextensions-controllers","/livez/poststarthook/start-apiextensions-informers","/livez/poststarthook/start-cluster-authentication-info-controller","/livez/poststarthook/start-kube-aggregator-informers","/livez/poststarthook/start-kube-apiserver-admission-initializer","/livez/poststarthook/start-kube-apiserver-identity-lease-controller","/livez/poststarthook/start-kube-apiserver-identity-lease-garbage-collector","/livez/poststarthook/start-legacy-token-tracking-controller","/livez/poststarthook/storage-object-count-tracker-hook","/logs","/metrics","/openapi/v2","/openapi/v3","/openapi/v3/","/openid/v1/jwks","/readyz","/readyz/autoregister-completion","/readyz/etcd","/readyz/etcd-readiness","/readyz/informer-sync","/readyz/log","/readyz/ping","/readyz/poststarthook/aggregator-reload-proxy-client-cert","/readyz/poststarthook/apiservice-openapi-controller","/readyz/poststarthook/apiservice-openapiv3-controller","/readyz/poststarthook/apiservice-registration-controller","/readyz/poststarthook/apiservice-status-available-controller","/readyz/poststarthook/bootstrap-controller","/readyz/poststarthook/crd-informer-synced","/readyz/poststarthook/generic-apiserver-start-informers","/readyz/poststarthook/kube-apiserver-autoregistration","/readyz/poststarthook/priority-and-fairness-config-consumer","/readyz/poststarthook/priority-and-fairness-config-producer","/readyz/poststarthook/priority-and-fairness-filter","/readyz/poststarthook/rbac/bootstrap-roles","/readyz/poststarthook/scheduling/bootstrap-system-priority-classes","/readyz/poststarthook/start-apiextensions-controllers","/readyz/poststarthook/start-apiextensions-informers","/readyz/poststarthook/start-cluster-authentication-info-controller","/readyz/poststarthook/start-kube-aggregator-informers","/readyz/poststarthook/start-kube-apiserver-admission-initializer","/readyz/poststarthook/start-kube-apiserver-identity-lease-controller","/readyz/poststarthook/start-kube-apiserver-identity-lease-garbage-collector","/readyz/poststarthook/start-legacy-token-tracking-controller","/readyz/poststarthook/storage-object-count-tracker-hook","/readyz/shutdown","/version"][root@k8s-master1 ~]#curl --cacert /etc/kubernetes/ssl/ca.pem -H "Authorization: Bearer <YOUR_ACTUAL_TOKEN> " https://10.0.0.188:6443/api/v1/nodes/10.0.0.123[root@k8s-master1 ~]#curl --cacert /etc/kubernetes/ssl/ca.pem -H "Authorization: Bearer <YOUR_ACTUAL_TOKEN> " https://10.0.0.188:6443/metrics

kubernetes内置资源对象简介

kubernetes 资源对象操作命令

 

 

 

 

相关文章:

【模块一】kubernetes容器编排进阶实战之资源管理核心概念

kubernetes 资源管理核心概念 k8s的设计理念—分层架构 CRI-container runtime interface-容器运行接口 CNI-container network interface-容器网络接口 CSI-container storage interface-容器存储接口 k8s的设计理念—API设计原则 https://www.kubernetes.org.cn/kubernete…...

用Python设置PowerPoint幻灯片背景

使用Python自动化处理Office文档&#xff0c;如PowerPoint演示文稿&#xff0c;是提高效率和创造力的重要手段。设置PowerPoint幻灯片背景不仅能够增强演示文稿的视觉吸引力&#xff0c;还能帮助传达特定的情感或信息&#xff0c;使观众更加投入。通过编程方式批量修改幻灯片背…...

Restful API接⼝简介及为什么要进⾏接⼝压测

一、RESTful API简介 在现代Web开发中&#xff0c;RESTful API已经成为一种标准的设计模式&#xff0c;用于构建和交互网络应用程序。本文将详细介绍RESTful API的基本概念、特点以及如何使用它来设计高效的API接口。 1. 基于协议 HTTP 或 HTTPS RESTful API通常使用HTTP&am…...

[pyspark] pyspark中如何修改列名字

使用 .withColumnRenamed 来重命名&#xff0c;直接看demo&#xff1a; from pyspark.sql import SparkSessionspark SparkSession.builder.appName("example").getOrCreate()data [("Alice", 1, 200),("Bob", 2, 300),("Charlie",…...

掌握 Spring Boot 的最佳方法 – 学习路线图

在企业界&#xff0c;人们说“Java 永垂不朽&#xff01;”。但为什么呢&#xff1f;Java 仍然是开发企业应用程序的主要平台之一。大型公司使用企业应用程序来赚钱。这些应用程序具有高可靠性要求和庞大的代码库。根据Java开发人员生产力报告&#xff0c;62% 的受访开发人员使…...

element-ui】使用el_upload上传文件无法动态修改action

问题&#xff1a;最近在使用el_upload上传文件时&#xff0c;发现无法动态修改action的值&#xff0c;进行提交时&#xff0c;caseId2还是默认值null 原因&#xff1a;el-upload的先执行上传&#xff0c;后执行action里的响应&#xff0c;也就是赋值等操作。 解决方法&#x…...

如何查看电脑支持的最大内存

如何查看电脑支持的最大内存 要查看电脑支持的最大内存容量&#xff0c;可以通过以下几种方法&#xff1a; 一、使用Windows命令查询 打开命令提示符&#xff1a;按下“WinR”键&#xff0c;打开运行窗口&#xff0c;输入“cmd”&#xff0c;然后点击确定。输入查询命令&…...

24 年第十届数维杯国际数模竞赛赛题浅析

本次万众瞩目的数维杯国际大学生数学建模赛题已正式出炉&#xff0c;无论是赛题难度还是认可度&#xff0c;该比赛都是数模届的独一档&#xff0c;含金量极高&#xff0c;可以用于综测加分、保研、简历添彩等各方面。考虑到大家解题实属不易&#xff0c;为了帮助大家取得好成绩…...

Dubbo 3.x源码(25)—Dubbo服务引用源码(8)notify订阅服务通知更新

基于Dubbo 3.1&#xff0c;详细介绍了Dubbo服务的发布与引用的源码。 此前我们学习了接口级的服务引入订阅的refreshInterfaceInvoker方法&#xff0c;当时还有最为关键的notify服务通知更新的部分源码没有学习&#xff0c;本次我们来学习notify通知本地服务更新的源码。 Dubb…...

排序算法 -计数排序

文章目录 1. 计数排序&#xff08;Counting Sort&#xff09;1.1 简介1.2 计数排序的步骤1.3 计数排序C语言实现注释说明&#xff1a; 1.4 时间复杂度1.5 空间复杂度 1. 计数排序&#xff08;Counting Sort&#xff09; 1.1 简介 计数排序&#xff08;Counting Sort&#xff…...

Java学习,基本数据类型

变量就是申请内存来存储值&#xff0c;当创建变量的时候&#xff0c;需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间&#xff0c;分配的空间只能用来储存该类型数据。Java 提供了八种基本数据类型&#xff0c;这些类型可以分为四大类&#xff1a;整数类型…...

单片机GPIO中断+定时器 软件串口通信

单片机GPIO中断定时器 软件串口通信 解决思路代码示例 解决思路 串口波特率9600bps,每个bit约为1000000us/9600104.16us&#xff1b; 定时器第一次定时时间设为52us即半个bit的时间&#xff0c;其目的是偏移半个bit时间&#xff0c;之后的每104us采样并读取1bit数据。使得采样…...

elementui el-table中给表头 el-table-column 加一个鼠标移入提示说明

前言 在使用el-table 表格中有些表格的表头需要加入一些提示&#xff0c;鼠标移入则出现提示&#xff0c;非常实用&#xff0c;我是通过el-table中的el-tooltip实现的&#xff0c;以下的效果预览 代码实现 <el-table ref"multipleTable" :data"data"…...

NVR小程序接入平台/设备EasyNVR多个NVR同时管理设备接入:海康NVR 3.0提示不在线如何处理?

在视频监控领域&#xff0c;设备的兼容性和互操作性一直是用户关注的重点。海康NVR管理平台EasyNVR作为一款轻量级的视频监控平台&#xff0c;凭借其强大的兼容性、可扩展性和丰富的功能&#xff0c;成为了公共安全领域“云平台”解决方案的杰出代表。然而&#xff0c;在实际应…...

datawhale11月组队学习 模型压缩技术2:PyTorch模型剪枝教程

文章目录 一、 prune模块简介1.1 常用方法1.2 剪枝效果1.3 二、三、四章剪枝测试总结 二、局部剪枝&#xff08;Local Pruning&#xff09;2.1 结构化剪枝2.1.1 对weight进行随机结构化剪枝&#xff08;random_structured&#xff09;2.1.2 对weight进行迭代剪枝&#xff08;范…...

SOL链上Meme生态的崛起与未来#Dapp开发#链游#交易所#公链搭建

近年来&#xff0c;随着区块链技术的普及和NFT文化的流行&#xff0c;meme&#xff08;网络迷因&#xff09;逐渐成为区块链生态中的重要组成部分。meme不仅是一种互联网文化符号&#xff0c;更逐步渗透进了去中心化金融&#xff08;DeFi&#xff09;、NFT和元宇宙等多个领域&a…...

部署Apache Doris

官方文档&#xff1a;https://doris.apache.org/zh-CN/installing/compilation.html 一、编译 使用 Docker 开发镜像编译&#xff08;推荐&#xff09; 1.拉取镜像 #下载 Docker 最新主干版本代码&#xff0c;会随主干版本不断更新。 $ docker pull apache/incubator-doris:…...

ElasticSearch-全文检索(一)基本介绍

简介 Elasticsearch&#xff1a;官方分布式搜索和分析引擎 | Elastic 全文搜索属于最常见的需求&#xff0c;开源的Elasticsearch是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、StackOverflow、Github都采用它 Elastic的底层是开源库Lucene。但…...

paramiko 库实现的暴力破解 SSH 密码

import paramiko import optparse import threading import time from threading import Thread, BoundedSemaphore# 用paramiko暴力破解SSH密码 # 最大并发连接尝试的数量&#xff0c;可根据实际情况调整&#xff0c;适当减小可降低对目标服务器的压力以及减少多线程同步问题出…...

Python 操作 Elasticsearch 全指南:从连接到数据查询与处理

文章目录 Python 操作 Elasticsearch 全指南&#xff1a;从连接到数据查询与处理引言安装 elasticsearch-py连接到 Elasticsearch创建索引插入数据查询数据1. 简单查询2. 布尔查询 更新文档删除文档和索引删除文档删除索引 批量插入数据处理分页结果总结 Python 操作 Elasticse…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...