k8s redis 集群部署安装

时间: 2023-07-03 07:09:07 浏览: 34
Kubernetes (k8s) 是一个容器编排平台,可以轻松地部署、管理和扩展容器化应用程序。Redis 是一个流行的开源内存数据存储系统,可用于缓存、消息传递、队列等多种场景。在 k8s 上部署 Redis 集群需要以下步骤: 1. 创建 Redis 镜像 你可以使用 Dockerfile 创建 Redis 镜像,或者从 Docker Hub 下载 Redis 镜像。例如,可以使用以下命令下载 Redis 镜像: ``` docker pull redis ``` 2. 创建 Redis 配置文件 Redis 集群需要一个配置文件来定义节点和复制策略。可以创建一个 config 文件夹,并在其中创建 redis.conf 文件,配置内容可以参考 Redis 官方文档。 3. 创建 Redis 集群的 YAML 文件 可以使用 k8s 的 YAML 文件定义 Redis 集群。以下是一个示例 YAML 文件: ```yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: redis-cluster spec: serviceName: redis-cluster replicas: 6 selector: matchLabels: app: redis-cluster template: metadata: labels: app: redis-cluster spec: containers: - name: redis image: redis command: - sh args: - -c - | redis-server /config/redis.conf --port $(echo $POD_NAME | cut -d'-' -f2 | cut -d'-' -f1 | sed 's/^0*//'):6379 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes ports: - containerPort: 6379 name: client - containerPort: 16379 name: gossip volumeMounts: - name: config mountPath: /config - name: data mountPath: /data volumes: - name: config configMap: name: redis-cluster - name: data emptyDir: {} volumeClaimTemplates: - metadata: name: data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 1Gi --- apiVersion: v1 kind: Service metadata: name: redis-cluster spec: ports: - port: 6379 name: client - port: 16379 name: gossip clusterIP: None selector: app: redis-cluster ``` 这个 YAML 文件定义了一个名为 redis-cluster 的 StatefulSet 和一个名为 redis-cluster 的 Service。StatefulSet 定义了 6 个 Redis 节点,每个节点有一个容器,使用 Redis 镜像,并在容器启动时运行 Redis 命令。每个容器都会挂载 config 文件夹和 data 文件夹,其中 config 文件夹中存放 Redis 配置文件,data 文件夹中存放 Redis 数据。Service 将端口映射到每个容器的端口,同时将 clusterIP 设置为 None,以便其他 Pod 无法通过 Service 访问 Redis 集群。 4. 部署 Redis 集群 使用以下命令部署 Redis 集群: ``` kubectl apply -f redis-cluster.yaml ``` 这将创建一个 redis-cluster 的 StatefulSet 和一个 redis-cluster 的 Service。 5. 验证 Redis 集群 可以使用以下命令验证 Redis 集群是否正常运行: ``` kubectl exec -it redis-cluster-0 -- redis-cli cluster info ``` 这将在第一个 Redis 节点上运行 redis-cli 命令,并输出 Redis 集群的信息。 以上就是在 k8s 上部署 Redis 集群的步骤。需要注意的是,Redis 集群需要至少 3 个节点才能正常运行。

相关推荐

在k8s部署redis集群之后,我们需要对其进行外部访问的配置。首先,我们需要使用Service对象将Redis集群暴露给集群外部。这需要我们创建一个新的Service类型对象,将其暴露为NodePort或LoadBalancer类型。NodePort是一种将端口绑定到每个节点的方式,而LoadBalancer是一种将端口绑定到云提供商的负载平衡器的方式。 对于NodePort类型的Service,我们需要使用 kubectl expose 命令创建一个新的Service,并配置其为NodePort类型,其命令如下: kubectl expose rc redis-cluster --name=redis-cluster-service --port=6379 --target-port=6379 --type=NodePort 这会在Redis集群中创建一个新的Service,将其命名为redis-cluster-service,并将其类型设置为NodePort。此外,我们需要将目标端口与6379端口绑定,以确保外部客户端可以使用正确的端口访问Redis集群。 现在,我们可以使用 kubectl get service 命令获取到该服务的详细信息,其中包括其IP地址和端口号,我们可以使用此信息来访问Redis集群。 如果需要使用LoadBalancer类型的Service,则需要配置一个外部负载均衡器,并将其绑定到Redis集群的Service上。这样,我们就可以在Redis集群和其外部客户端之间实现负载均衡,并高效地处理客户端流量。 总之,在k8s部署Redis集群之后,我们需要配置外部访问选项,以确保我们的Redis集群能够满足外部客户端的请求。通过创建Service对象并配置其类型,我们可以将Redis集群暴露给宿主机上的客户端,或者通过外部负载均衡器将其暴露给公共云上的客户端。
要在 Kubernetes 上部署 Redis Cluster 集群,可以按照以下步骤进行: 1. 创建 Redis ConfigMap 首先,需要创建一个 Redis 配置文件 ConfigMap。可以使用以下命令创建: kubectl create configmap redis-conf --from-file=redis.conf 其中,redis.conf 是 Redis 配置文件的名称。可以根据实际情况进行修改。 2. 创建 Redis StatefulSet 接下来,可以创建 Redis StatefulSet。可以使用以下 YAML 文件作为模板: apiVersion: apps/v1 kind: StatefulSet metadata: name: redis-cluster spec: serviceName: redis-cluster replicas: 6 selector: matchLabels: app: redis-cluster template: metadata: labels: app: redis-cluster spec: containers: - name: redis image: redis:6.0.9 ports: - containerPort: 6379 name: client - containerPort: 16379 name: gossip volumeMounts: - name: config mountPath: /usr/local/etc/redis/redis.conf subPath: redis.conf command: - sh - -c - | if [ -n "${POD_NAME}" ]; then sed -i "s/%cluster-name%/redis-cluster/g" /usr/local/etc/redis/redis.conf sed -i "s/%node-name%/${POD_NAME}/g" /usr/local/etc/redis/redis.conf fi volumes: - name: config configMap: name: redis-conf volumeClaimTemplates: - metadata: name: data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 1Gi 在上述 YAML 文件中,replicas 字段指定了 Redis 集群的节点数,volumeClaimTemplates 字段指定了每个节点的数据卷大小。另外,还需要注意以下几点: - serviceName 字段需要与 metadata.name 字段相同。 - selector.matchLabels 字段需要与 metadata.labels 字段相同。 - command 字段用于修改 Redis 配置文件中的节点名称和集群名称。 3. 创建 Redis Service 最后,需要创建 Redis Service。可以使用以下 YAML 文件作为模板: apiVersion: v1 kind: Service metadata: name: redis-cluster labels: app: redis-cluster spec: ports: - name: client port: 6379 targetPort: 6379 - name: gossip port: 16379 targetPort: 16379 clusterIP: None selector: app: redis-cluster 在上述 YAML 文件中,clusterIP 字段需要设置为 None,以便创建一个 Headless Service,让每个 Redis 节点可以通过 DNS 解析到自己的 IP 地址。 4. 部署 Redis Cluster 完成以上步骤后,可以使用以下命令部署 Redis Cluster: kubectl apply -f redis-cluster.yaml 其中,redis-cluster.yaml 是包含 Redis StatefulSet 和 Redis Service 的 YAML 文件。可以根据实际情况进行修改。 部署完成后,可以使用以下命令查看 Redis Cluster 的状态: kubectl exec -it redis-cluster-0 -- redis-cli cluster nodes 其中,redis-cluster-0 是 Redis Cluster 中的一个节点名称。可以根据实际情况进行修改。
### 回答1: Kubernetes(k8s)是一个流行的容器编排平台,可以用于部署和管理Redis Cluster集群。要部署Redis Cluster集群,您需要创建一个Kubernetes集群,并使用Kubernetes对象(如Deployment、Service和ConfigMap)来定义Redis Cluster的各个组件。您还需要使用Redis官方提供的Redis Cluster镜像来创建Redis节点,并使用Kubernetes的网络和存储资源来确保Redis节点之间的通信和数据持久性。最后,您需要使用Kubernetes的监控和日志记录工具来监视和管理Redis Cluster集群的状态和性能。 ### 回答2: Kubernetes是一种流行的容器编排平台,可以轻松地部署各种应用程序和服务。Redis是一个开源的内存键值数据库,广泛用于缓存和存储解决方案。在生产环境中,我们通常需要对Redis进行集群部署,以提高性能和可用性。在这篇文章中,我们将介绍如何使用Kubernetes部署Redis Cluster集群。 1. 创建Redis镜像 首先,我们需要创建一个Redis Docker镜像,并将其推送到Docker Hub等镜像仓库中。这个过程比较简单,我们可以从Docker官方网站下载Redis的Dockerfile,并进行一些基本的修改。例如: - 安装一些必要的依赖项,如wget和tar。 - 下载和解压Redis源代码。 - 编译Redis,并将其放置在/usr/local/bin目录下。 - 拷贝启动脚本和Redis配置文件到镜像中。 2. 编写Redis Cluster配置文件 接下来,我们需要编写一个Redis Cluster配置文件,用于指定每个Redis节点的端口和IP地址等信息。Redis Cluster要求至少有3个主节点和3个从节点,因此我们需要至少6个Redis节点来构建集群。例如: port 6379 cluster-enabled yes cluster-node-timeout 15000 cluster-config-file /data/nodes.conf cluster-require-full-coverage no appendonly yes dir /data/ daemonize no logfile "" 3. 部署Redis Cluster 现在,我们可以使用Kubernetes来部署Redis Cluster集群。我们需要使用StatefulSet控制器来生成一组具有唯一名称和稳定网络标识符的Redis Pod。此外,我们还需要使用Service来创建一个Redis Headless服务,并允许Pod之间相互发现和通信。例如: apiVersion: apps/v1beta1 kind: StatefulSet metadata: name: redis-cluster spec: serviceName: redis-cluster replicas: 6 template: metadata: labels: app: redis spec: containers: - name: redis image: my-redis-image:latest command: ["redis-server"] args: ["--appendonly", "yes"] ports: - containerPort: 6379 name: redis volumeMounts: - name: data mountPath: /data volumeClaimTemplates: - metadata: name: data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 1Gi apiVersion: v1 kind: Service metadata: name: redis-cluster spec: clusterIP: None ports: - name: redis port: 6379 selector: app: redis 4. 启动Redis Cluster 最后,我们可以启动Redis Cluster集群。首先,我们需要使用kubectl命令创建StatefulSet和Headless Service: kubectl create -f redis-cluster.yaml 然后,我们可以检查StatefulSet和Service是否成功创建: kubectl get statefulset kubectl get service 最后,我们可以使用kubectl命令进入Redis Pod,并运行redis-cli命令来验证集群是否正常工作: kubectl exec redis-cluster-0 redis-cli -c cluster info 总之,使用Kubernetes部署Redis Cluster集群比较简单,只需要做好上述几个步骤即可。在实际生产环境中,我们需要注意确保每个Redis节点之间的网络通信和数据同步,以提高集群的性能和可用性。 ### 回答3: Redis是一种快速的开源键值数据库,它的性能是其他NoSQL解决方案无法匹敌的。而Kubernetes是一个开源的容器编排引擎,负责在容器集群中自动化地部署、扩展和运行容器化应用程序。通过结合Kubernetes和Redis,我们可以快速构建一个高性能的Redis Cluster集群。 首先,我们需要设置Redis Cluster节点。因为Redis Cluster需要在一组单独的Redis实例之间进行数据分片,所以必须创建多个Redis实例来配置集群。因此,在Kubernetes中创建Redis Cluster时,最好使用StatefulSet,这样可以保证每个实例都有唯一的标识符和网络标识符。 接下来,我们创建一个Redis镜像,并将其推送到容器仓库。我们还需要为Redis Cluster创建一个配置文件,以确保各个节点能够正确地彼此通信。这里有一些要注意的事项,如: 1. 配置文件中必须使用静态IP地址来分配节点,否则它们将无法正确地通信。 2. 每个Redis实例还需要独立的持久化存储来保存数据,因此需要为每个节点分配一个存储卷。 3. 我们需要使用Kubernetes Service来将Redis Cluster公开给集群内的其他服务。 4. 对于Redis Cluster来说,最好使用至少6个节点用于数据分片。 接下来,我们使用Kubernetes YAML文件创建Redis Cluster。首先,创建一个名为“redis-cluster.yaml”的文件,并将以下内容复制并粘贴。注意,这里的配置文件和镜像名称都需要修改。 --- apiVersion: v1 kind: Service metadata: name: redis-cluster labels: app: redis-cluster spec: ports: - port: 6379 name: redis clusterIP: None selector: app: redis-cluster --- apiVersion: apps/v1 kind: StatefulSet metadata: name: redis-cluster spec: serviceName: redis-cluster replicas: 6 selector: matchLabels: app: redis-cluster template: metadata: labels: app: redis-cluster spec: containers: - name: redis image: redis:5.0.1-alpine command: - redis-server args: - /data/redis.conf ports: - containerPort: 6379 volumeMounts: - name: redis-data mountPath: /data - name: redis-config mountPath: /data/redis.conf subPath: redis.conf volumes: - name: redis-data persistentVolumeClaim: claimName: redis-data - name: redis-config configMap: name: redis-config --- apiVersion: v1 kind: ConfigMap metadata: name: redis-config data: redis.conf: |- port 6379 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes 最后,我们需要使用kubectl工具将YAML文件应用于Kubernetes集群。使用以下命令: kubectl apply -f redis-cluster.yaml 完成这些步骤后,Redis Cluster集群应该已经成功地部署到了Kubernetes集群中。我们可以使用特定的redis-cli命令将各个节点添加到集群中: redis-cli --cluster create 192.168.0.2:6379 192.168.0.3:6379 192.168.0.4:6379 192.168.0.5:6379 192.168.0.6:6379 192.168.0.7:6379 --cluster-replicas 1 这个命令将在所有节点之间创建数据分片,并将第7个节点设置为冗余备份。这样我们就创建了一个可靠的、高性能的Redis Cluster集群,可以在Kubernetes集群中自动部署、扩展和管理。
你可以使用Kubernetes(k8s)来部署Redis。以下是一个简单的步骤: 1. 首先,确保你已经安装了Kubernetes集群,并且你有访问该集群的权限。 2. 创建一个Redis的Deployment文件,命名为redis-deployment.yaml,并在其中定义Redis的Pod模板。下面是一个示例: apiVersion: apps/v1 kind: Deployment metadata: name: redis spec: replicas: 1 selector: matchLabels: app: redis template: metadata: labels: app: redis spec: containers: - name: redis image: redis:latest ports: - containerPort: 6379 3. 使用kubectl命令来创建Redis的Deployment: kubectl apply -f redis-deployment.yaml 这将在你的Kubernetes集群中创建一个名为redis的Deployment,并启动一个Redis容器。 4. 验证Redis是否已成功部署。你可以使用以下命令来检查Redis的Pod是否运行: kubectl get pods 你应该能够看到一个名为redis-*的Pod正在运行。 5. 如果你想从外部访问Redis服务,你可以创建一个Service。创建一个名为redis-service.yaml的文件,并在其中定义Redis的Service。以下是一个示例: apiVersion: v1 kind: Service metadata: name: redis-service spec: selector: app: redis ports: - protocol: TCP port: 6379 targetPort: 6379 type: ClusterIP 6. 使用kubectl命令来创建Redis的Service: kubectl apply -f redis-service.yaml 这将在你的Kubernetes集群中创建一个名为redis-service的Service,并将其与Redis的Pod关联起来。 现在,你应该能够通过redis-service的ClusterIP来访问Redis服务。
在Kubernetes上部署Redis主从集群可以采用不同的方法。一种常见的方法是使用StatefulSet来部署Redis。StatefulSet是为了解决有状态服务的问题而设计的,它可以为每个Pod分配固定的名称和稳定的网络标识。在Redis的部署中,可以使用StatefulSet来管理Redis的主从节点。同时,可以使用Headless Service来为StatefulSet提供服务,Headless Service不会分配Cluster IP,而是返回所有Pod的Endpoint列表。这样可以确保在主从切换时,客户端可以正确地访问到Redis节点。\[3\] 另一种方法是在Kubernetes上创建一个额外的容器,专门用于进行Redis集群的管理控制。可以在该容器中安装Redis-tribe工具,通过该工具来初始化Redis集群。这种方法可以避免将初始化逻辑写入StatefulSet中,从而简化部署过程。\[2\] 需要注意的是,在Kubernetes上部署Redis Sentinel可能没有意义。因为在容器中,Pod的IP地址在重启时会发生变化,而Sentinel是以IP地址来进行探测和配置的。这导致Sentinel无法识别宕机后重新启动的Master节点,从而无法加入集群。虽然可以通过固定Pod的IP地址或使用NodePort来解决这个问题,但在Kubernetes中,Pod的重启和活性检测已经可以保证Redis主从的高可用性。因此,个人认为在Kubernetes上部署Sentinel没有意义。\[3\] #### 引用[.reference_title] - *1* *3* [k8s上部署高可用redis集群--三主三从](https://blog.csdn.net/Hlroliu/article/details/105859200)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [K8S搭建redis主从集群](https://blog.csdn.net/zxc_123_789/article/details/122924616)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
在Kubernetes上部署Redis高可用可以通过Redis Sentinel或Redis Cluster来实现。这里以Redis Sentinel为例,步骤如下: 1. 创建Redis Sentinel镜像 首先需要创建Redis Sentinel镜像,可以通过以下Dockerfile创建: FROM redis:5.0.7-alpine RUN apk add --no-cache --update curl COPY sentinel.conf /etc/redis/sentinel.conf CMD ["redis-sentinel", "/etc/redis/sentinel.conf"] 其中sentinel.conf是Redis Sentinel的配置文件,可以在其中设置Redis实例的地址、端口等信息。 2. 创建Redis StatefulSet 接着创建Redis StatefulSet,可以参考以下yaml文件: apiVersion: v1 kind: Service metadata: name: redis spec: selector: app: redis ports: - name: redis port: 6379 targetPort: 6379 clusterIP: None --- apiVersion: apps/v1 kind: StatefulSet metadata: name: redis spec: serviceName: redis replicas: 3 selector: matchLabels: app: redis template: metadata: labels: app: redis spec: containers: - name: redis image: redis:5.0.7-alpine command: - redis-server - /etc/redis/redis.conf volumeMounts: - name: redis-config mountPath: /etc/redis - name: sentinel image: my-redis-sentinel:latest volumeMounts: - name: sentinel-config mountPath: /etc/redis volumes: - name: redis-config configMap: name: redis-config - name: sentinel-config configMap: name: sentinel-config volumeClaimTemplates: - metadata: name: data annotations: volume.beta.kubernetes.io/storage-class: "gp2" spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 1Gi 其中,StatefulSet中有两个容器:一个是Redis容器,一个是Redis Sentinel容器。Redis容器使用Redis官方镜像,Redis Sentinel容器使用自己创建的Redis Sentinel镜像。同时,还需要创建两个ConfigMap,一个用于Redis配置,一个用于Redis Sentinel配置。 3. 部署Redis Sentinel 最后部署Redis Sentinel,可以参考以下yaml文件: apiVersion: apps/v1 kind: Deployment metadata: name: redis-sentinel spec: replicas: 3 selector: matchLabels: app: redis-sentinel template: metadata: labels: app: redis-sentinel spec: containers: - name: redis-sentinel image: my-redis-sentinel:latest command: - redis-sentinel - /etc/redis/sentinel.conf volumeMounts: - name: sentinel-config mountPath: /etc/redis volumes: - name: sentinel-config configMap: name: sentinel-config 通过部署Redis Sentinel,可以实现Redis集群的高可用。如果Redis主节点出现故障,Redis Sentinel会自动将从节点升级为主节点,从而保证Redis集群的可用性。

最新推荐

2023年全球聚甘油行业总体规模.docx

2023年全球聚甘油行业总体规模.docx

java web Session 详解

java web Session 详解

rt-thread-code-stm32f091-st-nucleo.rar,STM32F091RC-NUCLEO 开发板

STM32F091RC-NuCLEO 开发板是 ST 官方推出的一款基于 ARM Cortex-M0 内核的开发板,最高主频为 48Mhz,该开发板具有丰富的扩展接口,可以方便验证 STM32F091 的芯片性能。MCU:STM32F091RC,主频 48MHz,256KB FLASH ,32KB RAM,本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。

超声波雷达驱动(Elmos524.03&Elmos524.09)

超声波雷达驱动(Elmos524.03&Elmos524.09)

ROSE: 亚马逊产品搜索的强大缓存

89→ROSE:用于亚马逊产品搜索的强大缓存Chen Luo,Vihan Lakshman,Anshumali Shrivastava,Tianyu Cao,Sreyashi Nag,Rahul Goutam,Hanqing Lu,Yiwei Song,Bing Yin亚马逊搜索美国加利福尼亚州帕洛阿尔托摘要像Amazon Search这样的产品搜索引擎通常使用缓存来改善客户用户体验;缓存可以改善系统的延迟和搜索质量。但是,随着搜索流量的增加,高速缓存不断增长的大小可能会降低整体系统性能。此外,在现实世界的产品搜索查询中广泛存在的拼写错误、拼写错误和冗余会导致不必要的缓存未命中,从而降低缓存 在本文中,我们介绍了ROSE,一个RO布S t缓存E,一个系统,是宽容的拼写错误和错别字,同时保留传统的缓存查找成本。ROSE的核心组件是一个随机的客户查询ROSE查询重写大多数交通很少流量30X倍玫瑰深度学习模型客户查询ROSE缩短响应时间散列模式,使ROSE能够索引和检

java中mysql的update

Java中MySQL的update可以通过JDBC实现。具体步骤如下: 1. 导入JDBC驱动包,连接MySQL数据库。 2. 创建Statement对象。 3. 编写SQL语句,使用update关键字更新表中的数据。 4. 执行SQL语句,更新数据。 5. 关闭Statement对象和数据库连接。 以下是一个Java程序示例,用于更新MySQL表中的数据: ```java import java.sql.*; public class UpdateExample { public static void main(String[] args) { String

JavaFX教程-UI控件

JavaFX教程——UI控件包括:标签、按钮、复选框、选择框、文本字段、密码字段、选择器等

社交网络中的信息完整性保护

141社交网络中的信息完整性保护摘要路易斯·加西亚-普埃约Facebook美国门洛帕克lgp@fb.com贝尔纳多·桑塔纳·施瓦茨Facebook美国门洛帕克bsantana@fb.com萨曼莎·格思里Facebook美国门洛帕克samguthrie@fb.com徐宝轩Facebook美国门洛帕克baoxuanxu@fb.com信息渠道。这些网站促进了分发,Facebook和Twitter等社交媒体平台在过去十年中受益于大规模采用,反过来又助长了传播有害内容的可能性,包括虚假和误导性信息。这些内容中的一些通过用户操作(例如共享)获得大规模分发,以至于内容移除或分发减少并不总是阻止其病毒式传播。同时,社交媒体平台实施解决方案以保持其完整性的努力通常是不透明的,导致用户不知道网站上发生的任何完整性干预。在本文中,我们提出了在Facebook News Feed中的内容共享操作中添加现在可见的摩擦机制的基本原理,其设计和实现挑战,以�

fluent-ffmpeg转流jsmpeg

以下是使用fluent-ffmpeg和jsmpeg将rtsp流转换为websocket流的示例代码: ```javascript const http = require('http'); const WebSocket = require('ws'); const ffmpeg = require('fluent-ffmpeg'); const server = http.createServer(); const wss = new WebSocket.Server({ server }); wss.on('connection', (ws) => { const ffmpegS

Python单选题库(2).docx

Python单选题库(2) Python单选题库(2)全文共19页,当前为第1页。Python单选题库(2)全文共19页,当前为第1页。Python单选题库 Python单选题库(2)全文共19页,当前为第1页。 Python单选题库(2)全文共19页,当前为第1页。 Python单选题库 一、python语法基础 1、Python 3.x 版本的保留字总数是 A.27 B.29 C.33 D.16 2.以下选项中,不是Python 语言保留字的是 A while B pass C do D except 3.关于Python 程序格式框架,以下选项中描述错误的是 A Python 语言不采用严格的"缩进"来表明程序的格式框架 B Python 单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代码根据缩进关系决定所属范围 C Python 语言的缩进可以采用Tab 键实现 D 判断、循环、函数等语法形式能够通过缩进包含一批Python 代码,进而表达对应的语义 4.下列选项中不符合Python语言变量命名规则的是 A TempStr B I C 3_1 D _AI 5.以下选项中