k8存储卷管理

k8存储卷管理

k8s支持的卷类型
	1.持久卷:存储的数据不会随着pod的删除消失
	2.临时卷:卷遵循pod的生命周期,与pod一起创建和删除
	3.投射卷:通过将不同的卷组合成一个统一的卷,更方地管理和使用这些资源


1.持久卷

	(1)hostPath持久卷
	---
	kind: Pod
	apiVersion: v1
	metadata:
	  name: web1
	spec:
	  volumes:                              # 卷定义
	  - name: logdata                       # 卷名称
	    hostPath:                           # 资源类型
	      path: /var/weblog                 # 宿主机路径
	      type: DirectoryOrCreate           # 目录不存在就创建
	  containers:
	  - name: nginx
	    image: myos:nginx
	    volumeMounts:                       # mount 卷
	    - name: logdata                     # 卷名称
	      mountPath: /usr/local/nginx/logs  # 容器内路径	

	(2)nfs卷:不同的pod中共享读写数据
		---
		kind: Pod
		apiVersion: v1
		metadata:
		  name: web1
		spec:
		  volumes:
		  - name: website                       # 卷名称
			nfs:                                # NFS 资源类型
			  server: 192.168.88.240            # NFS 服务器地址
			  path: /var/webroot                # NFS 共享目录
		  containers:
		  - name: nginx
			image: myos:nginx
			volumeMounts:
			- name: website                     # 卷名称
			  mountPath: /usr/local/nginx/html  # 路径
		
	(3)PV和PVC(持久卷和持久卷申明):提供一种通用的api实现对卷的管理
	pv:
		---
		kind: PersistentVolume
		apiVersion: v1
		metadata:
		  name: pv-local
		spec:
		  volumeMode: Filesystem   #卷的资源类型
		  accessModes:		 #卷的访问模式(官网查阅)
		  - ReadWriteOnce
		  capacity:			 #卷的提供的存储空间
			storage: 30Gi
		  persistentVolumeReclaimPolicy: Retain  #数据回收方式,删除还是取消挂载
		  hostPath:
			path: /var/weblog
			type: DirectoryOrCreate

		---
		kind: PersistentVolume
		apiVersion: v1
		metadata:                       
		  name: pv-nfs
		spec:
		  volumeMode: Filesystem
		  accessModes:
		  - ReadWriteOnce
		  - ReadOnlyMany
		  - ReadWriteMany
		  capacity:
			storage: 20Gi
		  persistentVolumeReclaimPolicy: Retain(umount)
		  nfs:
			server: 192.168.88.240
			path: /var/webroot
			
	pvc:(自动匹配pv)
		---
		kind: PersistentVolumeClaim
		apiVersion: v1
		metadata:
		  name: pvc1
		spec:
		  volumeMode: Filesystem
		  accessModes:
		  - ReadWriteOnce
		  resources:
			requests:
			  storage: 25Gi

		---
		kind: PersistentVolumeClaim
		apiVersion: v1
		metadata:
		  name: pvc2
		spec:
		  volumeMode: Filesystem
		  accessModes:
		  - ReadWriteMany
		  resources:
			requests:
			  storage: 15Gi

2.临时卷
	(1)configMap:向pod注入配置数据,
		用途:(1)配置环境变量
		     (2)修改配置文件(挂载)
		1.1 configMap设置时区’环境变量‘
			---
			kind: ConfigMap #资源
			apiVersion: v1
			metadata:
			  name: timezone
			data:
			  TZ: Asia/Shanghai(键值对)
	
		1.2 使用资源修改时区
			---
			kind: Pod
			apiVersion: v1
			metadata:
			  name: web1
			spec:
			  volumes:
			  - name: logdata
				persistentVolumeClaim:
				  claimName: pvc1
			  containers:
			  - name: nginx
				image: myos:nginx
				envFrom:              # 配置环境变量
				- configMapRef:       # 调用资源对象
					name: timezone    # 资源对象名称
				volumeMounts:
				- name: logdata
				  mountPath: /usr/local/nginx/logs

		1.1 nginx解析php,在 Pod 中增加 php 容器,与 nginx 共享同一块网卡
			---
			kind: Pod
			apiVersion: v1
			metadata:
			  name: web1
			spec:
			  volumes:
			  - name: logdata
				persistentVolumeClaim:
				  claimName: pvc1
			  - name: website
				persistentVolumeClaim:
				  claimName: pvc2
			  containers:
			  - name: nginx
				image: myos:nginx
				envFrom:
				- configMapRef:
					name: timezone
				volumeMounts:
				- name: logdata
				  mountPath: /usr/local/nginx/logs
				- name: website
				  mountPath: /usr/local/nginx/html
			  - name: php                            # 以下为新增加内容
				image: myos:php-fpm
				envFrom:                             # 不同容器需要单独配置时区
				- configMapRef:
					name: timezone
				volumeMounts:
				- name: website                      # 不同容器需要单独挂载NFS
				  mountPath: /usr/local/nginx/html
				  
		1.2 使用 nginx '配置文件'创建 configMap
			# 使用命令创建 configMap
			[root@master ~]# kubectl create configmap nginx-php --from-file=nginx.conf --dry-run=client -o yaml
			# 使用配置文件
			[root@master ~]# cat nginx-conf.yaml
			---
			kind: ConfigMap
			apiVersion: v1
			metadata:
			  name: nginx-conf
			data:
			  nginx.conf: |
				# 以下为原始配置文件内容
				# 注意缩进对其
				# ......
		
		1.3 挂载 ConfigMap
			[root@master ~]# vim web1.yaml
			---
			kind: Pod
			apiVersion: v1
			metadata:
			  name: web1
			spec:
			  volumes:
			  - name: logdata
				persistentVolumeClaim:
				  claimName: pvc1
			  - name: website
				persistentVolumeClaim:
				  claimName: pvc2
			  - name: nginx-php     # 卷名称
				configMap:          # 引用资源对象
				  name: nginx-php   # 资源对象名称
			  containers:
			  - name: nginx
				image: myos:nginx
				envFrom:
				- configMapRef:
					name: timezone
				volumeMounts:
				- name: nginx-php                              # 卷名称
				  subPath: nginx.conf                         # 键值(以文件的方式映射,而不是目录)
				  mountPath: /usr/local/nginx/conf/nginx.conf  # 路径
				- name: logdata
				  mountPath: /usr/local/nginx/logs
				- name: website
				  mountPath: /usr/local/nginx/html
			  - name: php
				image: myos:php-fpm
				envFrom:
				- configMapRef:
					name: timezone
				volumeMounts:
				- name: website
				  mountPath: /usr/local/nginx/html
				  
	(2)secret卷:类似于configMap的使用,但专门用于保存机密数据(加密存储)
				用途:设置环境变量,配置文件,登录仓库 
	
			2.1创建secret卷的语法格式
				kubectl create secret 子类型 名称 [选项/参数]
				子类型:
					通用类型:
					kubectl create secret generic 名称 [选项/参数]
					kubectl create secret generic timezone --from-literal 'TZ="Asia/Shanghai"'
					用于认证登录私有仓库的子类型
					kucbectl create secret docker-registry 名称[选项/参数]
					
					用于创建TLS证书的子类型
					kubectl create secret tls 名称 [选项/参数]
					
			2.1 配置登录秘钥
				[root@master ~]# kubectl create secret docker-registry harbor-auth \
                         --docker-server=harbor:443 \   #登录的主机名称
                         --docker-username="用户名" \   #登录的用户名
                         --docker-password="密码"       #登录的密码
						 
			2.2认证私有仓库
				[root@master ~]# vim web2.yaml 
				---
				kind: Pod
				apiVersion: v1
				metadata:
				  name: web2
				spec:
				  imagePullSecrets:
				  - name: harbor-auth
				  containers:
				  - name: apache
					image: harbor:443/private/httpd:latest
					
	(3)emptyDir:一个空目录,提供临时空间,同一个pod里面可实现数据共享
		3.1 临时空间
			[root@master ~]# vim web2.yaml
			---
			kind: Pod
			apiVersion: v1
			metadata:
			  name: web2
			spec:
			  imagePullSecrets:
			  - name: harbor-auth
			  volumes:                   # 卷配置
			  - name: cache              # 卷名称
				emptyDir: {}             # 资源类型
			  containers:
			  - name: apache
				image: harbor:443/private/httpd:latest
				volumeMounts:            # 挂载卷
				- name: cache            # 卷名称
				  mountPath: /var/cache  # 路径
				  
		3.2 共享传递文件(同一个pod中数据的交互)
			---
			kind: Pod
			apiVersion: v1
			metadata:
			  name: web2
			spec:
			  imagePullSecrets:
			  - name: harbor-auth
			  volumes:
			  - name: cache
				emptyDir: {}
			  initContainers:
			  - name: task1
				image: myos:latest
				volumeMounts:
				- name: cache
				  mountPath: /var/cache
				command: ["sh"]
				args:
				- -c
				- |
				  echo -e "\n#-----------------#" |tee -a /var/cache/init.log
				  ID=${RANDOM}
				  echo "获取随机数: ${ID}" |tee -a /var/cache/init.log
				  echo "执行初始化任务" |tee -a /var/cache/init.log
				  echo "随机数取余 $((ID%2))" |tee -a /var/cache/init.log
				  echo "执行初始化任务完成" |tee -a /var/cache/init.log
				  sleep 1
				  exit $((ID%2))
			  containers:
			  - name: apache
				image: harbor:443/private/httpd:latest
				volumeMounts:
				- name: cache
				  mountPath: /var/cache

k8存储卷管理

k8s支持的卷类型
    1.持久卷:存储的数据不会随着pod的删除消失
    2.临时卷:卷遵循pod的生命周期,与pod一起创建和删除
    3.投射卷:通过将不同的卷组合成一个统一的卷,更方地管理和使用这些资源


1.持久卷

    (1)hostPath持久卷
    ---
    kind: Pod
    apiVersion: v1
    metadata:
      name: web1
    spec:
      volumes:                              # 卷定义
      - name: logdata                       # 卷名称
        hostPath:                           # 资源类型
          path: /var/weblog                 # 宿主机路径
          type: DirectoryOrCreate           # 目录不存在就创建
      containers:
      - name: nginx
        image: myos:nginx
        volumeMounts:                       # mount 卷
        - name: logdata                     # 卷名称
          mountPath: /usr/local/nginx/logs  # 容器内路径    

    (2)nfs卷:不同的pod中共享读写数据
        ---
        kind: Pod
        apiVersion: v1
        metadata:
          name: web1
        spec:
          volumes:
          - name: website                       # 卷名称
            nfs:                                # NFS 资源类型
              server: 192.168.88.240            # NFS 服务器地址
              path: /var/webroot                # NFS 共享目录
          containers:
          - name: nginx
            image: myos:nginx
            volumeMounts:
            - name: website                     # 卷名称
              mountPath: /usr/local/nginx/html  # 路径
        
    (3)PV和PVC(持久卷和持久卷申明):提供一种通用的api实现对卷的管理
    pv:
        ---
        kind: PersistentVolume
        apiVersion: v1
        metadata:
          name: pv-local
        spec:
          volumeMode: Filesystem   #卷的资源类型
          accessModes:         #卷的访问模式(官网查阅)
          - ReadWriteOnce
          capacity:             #卷的提供的存储空间
            storage: 30Gi
          persistentVolumeReclaimPolicy: Retain  #数据回收方式,删除还是取消挂载
          hostPath:
            path: /var/weblog
            type: DirectoryOrCreate

        ---
        kind: PersistentVolume
        apiVersion: v1
        metadata:                       
          name: pv-nfs
        spec:
          volumeMode: Filesystem
          accessModes:
          - ReadWriteOnce
          - ReadOnlyMany
          - ReadWriteMany
          capacity:
            storage: 20Gi
          persistentVolumeReclaimPolicy: Retain(umount)
          nfs:
            server: 192.168.88.240
            path: /var/webroot
            
    pvc:(自动匹配pv)
        ---
        kind: PersistentVolumeClaim
        apiVersion: v1
        metadata:
          name: pvc1
        spec:
          volumeMode: Filesystem
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 25Gi

        ---
        kind: PersistentVolumeClaim
        apiVersion: v1
        metadata:
          name: pvc2
        spec:
          volumeMode: Filesystem
          accessModes:
          - ReadWriteMany
          resources:
            requests:
              storage: 15Gi

2.临时卷
    (1)configMap:向pod注入配置数据,
        用途:(1)配置环境变量
             (2)修改配置文件(挂载)
        1.1 configMap设置时区’环境变量‘
            ---
            kind: ConfigMap #资源
            apiVersion: v1
            metadata:
              name: timezone
            data:
              TZ: Asia/Shanghai(键值对)
    
        1.2 使用资源修改时区
            ---
            kind: Pod
            apiVersion: v1
            metadata:
              name: web1
            spec:
              volumes:
              - name: logdata
                persistentVolumeClaim:
                  claimName: pvc1
              containers:
              - name: nginx
                image: myos:nginx
                envFrom:              # 配置环境变量
                - configMapRef:       # 调用资源对象
                    name: timezone    # 资源对象名称
                volumeMounts:
                - name: logdata
                  mountPath: /usr/local/nginx/logs

        1.1 nginx解析php,在 Pod 中增加 php 容器,与 nginx 共享同一块网卡
            ---
            kind: Pod
            apiVersion: v1
            metadata:
              name: web1
            spec:
              volumes:
              - name: logdata
                persistentVolumeClaim:
                  claimName: pvc1
              - name: website
                persistentVolumeClaim:
                  claimName: pvc2
              containers:
              - name: nginx
                image: myos:nginx
                envFrom:
                - configMapRef:
                    name: timezone
                volumeMounts:
                - name: logdata
                  mountPath: /usr/local/nginx/logs
                - name: website
                  mountPath: /usr/local/nginx/html
              - name: php                            # 以下为新增加内容
                image: myos:php-fpm
                envFrom:                             # 不同容器需要单独配置时区
                - configMapRef:
                    name: timezone
                volumeMounts:
                - name: website                      # 不同容器需要单独挂载NFS
                  mountPath: /usr/local/nginx/html
                  
        1.2 使用 nginx '配置文件'创建 configMap
            # 使用命令创建 configMap
            [root@master ~]# kubectl create configmap nginx-php --from-file=nginx.conf --dry-run=client -o yaml
            # 使用配置文件
            [root@master ~]# cat nginx-conf.yaml
            ---
            kind: ConfigMap
            apiVersion: v1
            metadata:
              name: nginx-conf
            data:
              nginx.conf: |
                # 以下为原始配置文件内容
                # 注意缩进对其
                # ......
        
        1.3 挂载 ConfigMap
            [root@master ~]# vim web1.yaml
            ---
            kind: Pod
            apiVersion: v1
            metadata:
              name: web1
            spec:
              volumes:
              - name: logdata
                persistentVolumeClaim:
                  claimName: pvc1
              - name: website
                persistentVolumeClaim:
                  claimName: pvc2
              - name: nginx-php     # 卷名称
                configMap:          # 引用资源对象
                  name: nginx-php   # 资源对象名称
              containers:
              - name: nginx
                image: myos:nginx
                envFrom:
                - configMapRef:
                    name: timezone
                volumeMounts:
                - name: nginx-php                              # 卷名称
                  subPath: nginx.conf                         # 键值(以文件的方式映射,而不是目录)
                  mountPath: /usr/local/nginx/conf/nginx.conf  # 路径
                - name: logdata
                  mountPath: /usr/local/nginx/logs
                - name: website
                  mountPath: /usr/local/nginx/html
              - name: php
                image: myos:php-fpm
                envFrom:
                - configMapRef:
                    name: timezone
                volumeMounts:
                - name: website
                  mountPath: /usr/local/nginx/html
                  
    (2)secret卷:类似于configMap的使用,但专门用于保存机密数据(加密存储)
                用途:设置环境变量,配置文件,登录仓库 
    
            2.1创建secret卷的语法格式
                kubectl create secret 子类型 名称 [选项/参数]
                子类型:
                    通用类型:
                    kubectl create secret generic 名称 [选项/参数]
                    kubectl create secret generic timezone --from-literal 'TZ="Asia/Shanghai"'
                    用于认证登录私有仓库的子类型
                    kucbectl create secret docker-registry 名称[选项/参数]
                    
                    用于创建TLS证书的子类型
                    kubectl create secret tls 名称 [选项/参数]
                    
            2.1 配置登录秘钥
                [root@master ~]# kubectl create secret docker-registry harbor-auth \
                         --docker-server=harbor:443 \   #登录的主机名称
                         --docker-username="用户名" \   #登录的用户名
                         --docker-password="密码"       #登录的密码
                         
            2.2认证私有仓库
                [root@master ~]# vim web2.yaml 
                ---
                kind: Pod
                apiVersion: v1
                metadata:
                  name: web2
                spec:
                  imagePullSecrets:
                  - name: harbor-auth
                  containers:
                  - name: apache
                    image: harbor:443/private/httpd:latest
                    
    (3)emptyDir:一个空目录,提供临时空间,同一个pod里面可实现数据共享
        3.1 临时空间
            [root@master ~]# vim web2.yaml
            ---
            kind: Pod
            apiVersion: v1
            metadata:
              name: web2
            spec:
              imagePullSecrets:
              - name: harbor-auth
              volumes:                   # 卷配置
              - name: cache              # 卷名称
                emptyDir: {}             # 资源类型
              containers:
              - name: apache
                image: harbor:443/private/httpd:latest
                volumeMounts:            # 挂载卷
                - name: cache            # 卷名称
                  mountPath: /var/cache  # 路径
                  
        3.2 共享传递文件(同一个pod中数据的交互)
            ---
            kind: Pod
            apiVersion: v1
            metadata:
              name: web2
            spec:
              imagePullSecrets:
              - name: harbor-auth
              volumes:
              - name: cache
                emptyDir: {}
              initContainers:
              - name: task1
                image: myos:latest
                volumeMounts:
                - name: cache
                  mountPath: /var/cache
                command: ["sh"]
                args:
                - -c
                - |
                  echo -e "\n#-----------------#" |tee -a /var/cache/init.log
                  ID=${RANDOM}
                  echo "获取随机数: ${ID}" |tee -a /var/cache/init.log
                  echo "执行初始化任务" |tee -a /var/cache/init.log
                  echo "随机数取余 $((ID%2))" |tee -a /var/cache/init.log
                  echo "执行初始化任务完成" |tee -a /var/cache/init.log
                  sleep 1
                  exit $((ID%2))
              containers:
              - name: apache
                image: harbor:443/private/httpd:latest
                volumeMounts:
                - name: cache
                  mountPath: /var/cache

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/965839.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

星闪开发入门级教程之安装编译器与小项目烧录

系列文章目录 星闪开发入门级教程 好久不见,已经好几年没有发文章了,星闪-作为中国原生的新一代近距离无线联接技术品牌。我想着写点东西。为了适合新手,绝对小白文。 文章目录 系列文章目录前言一、Hispark Studio1.安装Hispark Studio2.安…

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException解决办法

1.问题描述 在编写完一个功能后,第一次启动这个模块的启动类时,报以下错误, 2.文件解决 检查了controller,service和mapper,均未发现有问题,核对了依赖也未发现依赖冲突 在网上也找了资料,有总结的比较好的: controller层service层dao层注解是否都使用正确?接口…

记录 | WPF基础学习Style局部和全局调用

目录 前言一、Style1.1 例子1.2 为样式起名字1.3 BasedOn 继承上一个样式 二、外部StyleStep1 创建资源字典BaseButtonStyle.xamlStep2 在资源字典中写入StyleStep3 App.xaml中写引用路径【全局】Step4 调用三、代码提供四、x:Key和x:Name区别 更新时间 前言 参考文章&#xff…

信创数据库使用问题汇总

笔者工作中需要使用多种信创数据库,在使用过程中发现一些问题,现记录如下。 1 OceanBase-Oracle租户的Python连接方式 用Python连接OB数据库的mysql租户可以使用连接mysql的包,但连接oracle租户是没有官方包的,必须使用基于jdbc…

多光谱成像技术在华为Mate70系列的应用

华为Mate70系列搭载了光谱技术的产物——红枫原色摄像头,这是一款150万像素的多光谱摄像头。 相较于普通摄像头,它具有以下优势: 色彩还原度高:色彩还原准确度提升约 120%,能捕捉更多光谱信息,使拍摄照片色…

Web3 与区块链:开启透明、安全的网络新时代

在这个信息爆炸的时代,我们对网络的透明性、安全性和隐私保护的需求日益增长。Web3,作为新一代互联网的代表,正携手区块链技术,引领我们走向一个更加透明、安全和去中心化的网络世界。本文将深入探讨 Web3 的基本概念、区块链技术…

[Android] 全球网测-版本号4.3.8

[Android] 全球网测 链接:https://pan.xunlei.com/s/VOIV5G3_UOFWnGuMQ_GlIW2OA1?pwdfrpe# 应用介绍 "全球网测"是由中国信通院产业与规划研究所自主研发的一款拥有宽带测速、上网体验和网络诊断等功能的综合测速软件。APP突出六大亮点优势&#xff1a…

AI智算-k8s部署DeepSeek Janus-Pro-7B 多模态大模型

文章目录 简介环境依赖模型下载下载Janus库GPU环境镜像模型manifest调用Janus多模态文生图 简介 DeepSeek Janus Pro 作为一款强大的多模态理解与生成框架,正在成为研究人员和开发者的热门选择。本文将详细介绍如何在云原生k8s环境中部署配置和使用 DeepSeek Janus…

windows 安装nvidaia驱动和cuda

安装nvidaia驱动和cuda 官网搜索下载驱动 https://www.nvidia.cn/drivers/lookup/ 这里查出来的都是最高支持什么版本的cuda 安装时候都默认精简就行 官网下载所需版本的cuda包 https://developer.nvidia.com/cuda-toolkit-archive 安装成功但是nvcc -V 失败 &#xff0c…

HAL库外设宝典:基于CubeMX的STM32开发手册(持续更新)

目录 前言 GPIO(通用输入输出引脚) 推挽输出模式 浮空输入和上拉输入模式 GPIO其他模式以及内部电路原理 输出驱动器 输入驱动器 中断 外部中断(EXTI) 深入中断(内部机制及原理) 外部中断/事件控…

动态规划(01背包问题)

目录 题目内容题目分析未装满情况思路一思路二代码实现滚动数组优化优化代码 恰好装满情况代码实现滚动数组优化 题目内容 你有一个背包,最多能容纳的体积是V。 现在有n个物品,第i个物品的体积为Vi​,价值为Wi (1)求这个背包至多能…

力扣.270. 最接近的二叉搜索树值(中序遍历思想)

文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的中序遍历) 本题的难点在于可能存在多个答案,并且要返回最小的那一个,为了解决这个问题,我门则要利用上二叉搜索树中序遍历为有序序列的特性,具体到代码中&a…

高效协同,Tita 助力项目管理场景革新

在当今快节奏、高度竞争的商业环境中,企业面临着前所未有的挑战:如何在有限资源下迅速响应市场变化,确保多个项目的高效执行并达成战略目标?答案就在于优化项目集程管理。而在这个过程中,Tita项目管理产品以其独特的优…

Java使用aspose实现pdf转word

Java使用aspose实现pdf转word 一、下载aspose-pdf-21.6.jar包【下载地址】&#xff0c;存放目录结构如图&#xff1b;配置pom.xml。 <!--pdf to word--> <dependency><groupId>com.aspose</groupId><artifactId>aspose-pdf</artifactId>…

【数据结构-C语言】绪论

文章目录 一、前言二、基本概念和术语2.1 数据元素、数据项和数据对象2.2 数据结构2.2.1 逻辑结构2.2.2 存储结构 2.3 时间复杂度 一、前言 数据结构部分是根据严蔚敏老师的《数据结构-C语言版第2版》书中内容整理的。 二、基本概念和术语 2.1 数据元素、数据项和数据对象 …

anaconda中可以import cv2,但是notebook中cv2 module not found

一、问题 anaconda中成功import cv2 但是jupyter notebook中却无法导入cv2 二、排查 anaconda中使用python路径如下&#xff1a; jupyter notebook中使用python路径如下&#xff1a; 可以发现路径不一致。 三、解决 ①查看可用的kernel ②选中想要修改的kernel&#xff0c;打…

华北平原shp格式范围

华北平原是中国东部的重要地理区域&#xff0c;以下是对其的简要介绍&#xff1a; 此数据为付费数据&#xff0c;如有需求&#xff0c;请联系本人。 1. 地理位置与范围 位置&#xff1a;位于中国东部&#xff0c;西起太行山脉和伏牛山&#xff0c;东至黄海、渤海&#xff0c;北…

MySQL - 字段内分组

1、MySQL 5.7及之前版本 SELECT A.要显示的字段名称,FIRST_VALUE : A.分组字段名称,last :IF(FIRST_VALUE A.分组字段名称, last 1, 1 ) AS rn,FROM 表1 A,(SELECT last : 0, FIRST_VALUE : NULL ) BORDER BY A.排序字段例&#xff1a;SELECT A.DLR_CODE,A.VAILD_CARD_NO,A.L…

【FPGA】 MIPS 12条整数指令 【3】

实现乘除 修改框架 EX&#xff1a;实现带符号乘除法和无符号乘除法 HiLo寄存器&#xff1a;用于存放乘法和除法的运算结果。Hi、Lo为32bit寄存器。电路描述与实现RegFile思想一致 仿真 代码 DataMem.v include "define.v"; module DataMem(input wire clk,input…

电路笔记(电源模块): 直流双路输出电源输出正负5伏电压

实现方法 以E3620A直流电源为例&#xff0c;调节两个电源的电压&#xff0c;并正负短接&#xff1a; 原理 图片来源&#xff1a;https://2.eewimg.cn/mp/uploads/2022/09/13/f6f96c1c-333c-11ed-b203-00163e2e672a.jpg CG 【产品】50W最大工作功率&#xff0c;1A/25V高精度…