飞天使-k8s基础组件分析-持久化存储

news2024/11/16 1:38:34

文章目录

      • emptyDir
      • hostpath
      • pv和pvc介绍
      • nfs作为静态pv案例
      • nfs作为动态pv案例
      • 使用本地文件夹作为pv
      • 改变默认存储类及回收策略
      • 参考文档

emptyDir

重启文件还有,但是如果杀了进程,则会丢失文件
创建pod
# kubectl apply –f redis.yaml

校验pod是否处于运行,并观察pod的改变
# kubectl get pod redis –-watch

在其它终端上执行如下命令进入容器
# kubectl exec –it redis -- /bin/bash

在shell中,进入/data/redis,然后创建文件
# cd /data/redis/
# echo Hello > test-file

运行以下命令查找redis的进程
# apt-get update
# apt-get install procps
# ps aux

杀掉redis进程,并观察redis pod的改变
# kill <pid>

再次进入到redis的容器,查看文件是否存在。
# kubectl exec –it redis -- /bin/bash



[root@k8s-01 chapter07]# cat redis.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: redis
spec:
  containers:
  - name: redis
    image: redis
    volumeMounts:
    - name: redis-storage
      mountPath: /data/redis
  volumes:
  - name: redis-storage
    emptyDir: {}

hostpath

只要在一个node 里面,就会找到文件
[root@k8s-01 chapter07]# cat hostpath.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: test-pod
spec:
  containers:
  - image: nginx
    name: test-container
    volumeMounts:
    - name: test-volume
      mountPath: /usr/share/nginx
  volumes:
  - name: test-volume
    hostPath:
      path: /data

pv和pvc介绍

Pv: 是集群中的一段存储,由管理员提供或使用存储类动态提供。
Pvc(PersistentVolumeClaim)是用户对存储资源的请求。

在这里插入图片描述

nfs作为静态pv案例

新增nfs
[root@k8s-01 data]# vim /etc/exports
[root@k8s-01 data]# exportfs -rv
exporting 192.168.100.0/24:/data/nfs5
exporting 192.168.100.0/24:/data/nfs4
exporting 192.168.100.0/24:/data/nfs3
exporting 192.168.100.0/24:/data/nfs2
exporting 192.168.100.0/24:/data/nfs1
[root@k8s-01 data]# cat /etc/exports
/data/nfs1 192.168.100.0/24(rw,async,insecure,no_root_squash)
/data/nfs2 192.168.100.0/24(rw,async,insecure,no_root_squash)
/data/nfs3 192.168.100.0/24(rw,async,insecure,no_root_squash)
/data/nfs4 192.168.100.0/24(rw,async,insecure,no_root_squash)
/data/nfs5 192.168.100.0/24(rw,async,insecure,no_root_squash)
[root@k8s-01 data]# yum install -y nfs-utils rpcbind

客户端安装 
yum install -y utils

创建pv并查看Pv
# showmount –e 192.168.20.88 
# kubectl create –f nfs-pv.yaml
# kubectl get pv

创建pvc
# kubectl create –f nfs-pvc.yaml

使用以下命令查看pv和pvc是否绑定
kubectl get pvc

创建pod使用先前创建的pvc
# kubectl create –f nginx-pvc.yaml
# kubectl get pod nginx-vol-pvc –o yaml


[root@k8s-01 chapter07]# cat nfs-pv.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv001
  labels:
    name: pv001
spec:
  nfs:
    path: /data/nfs1
    server: 192.168.20.111
  accessModes: ["ReadWriteMany","ReadWriteOnce"]
  capacity:
    storage: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv002
  labels:
    name: pv002
spec:
  nfs:
    path: /data/nfs2
    server: 192.168.20.111
  accessModes: ["ReadWriteMany","ReadWriteOnce"]
  capacity:
    storage: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv003
  labels:
    name: pv003
spec:
  nfs:
    path: /data/nfs3
    server: 192.168.20.111
  accessModes: ["ReadWriteMany","ReadWriteOnce"]
  capacity:
    storage: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv004
  labels:
    name: pv004
spec:
  nfs:
    path: /data/nfs4
    server: 192.168.20.111
  accessModes: ["ReadWriteMany","ReadWriteOnce"]
  capacity:
    storage: 2Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv005
  labels:
    name: pv005
spec:
  nfs:
    path: /data/nfs5
    server: 192.168.20.111
  accessModes: ["ReadWriteMany","ReadWriteOnce"]
  capacity:
    storage: 2Gi[root@k8s-01 chapter07]# 
[root@k8s-01 chapter07]# 
[root@k8s-01 chapter07]# cat nfs-pvc.yml 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mypvc
  namespace: default
spec:
  accessModes: ["ReadWriteMany"]
  resources:
    requests:
      storage: 2Gi


[root@k8s-01 chapter07]# cat nginx-pvc.yml 
apiVersion: v1
kind: Pod
metadata:
  name: nginx-vol-pvc
  namespace: default
spec:
  containers:
  - name: mywww
    image: nginx
    volumeMounts:
    - name: www
      mountPath: /usr/share/nginx/html
  volumes:
  - name: www
    persistentVolumeClaim:
      claimName: mypvc

[root@k8s-01 chapter07]# kubectl get pv
NAME    CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM           STORAGECLASS   REASON   AGE
pv001   1Gi        RWO,RWX        Retain           Available                                           2m46s
pv002   1Gi        RWO,RWX        Retain           Available                                           2m46s
pv003   1Gi        RWO,RWX        Retain           Available                                           2m46s
pv004   2Gi        RWO,RWX        Retain           Bound       default/mypvc                           2m46s
pv005   2Gi        RWO,RWX        Retain           Available                                           2m46s
[root@k8s-01 chapter07]# kubectl get pvc
NAME    STATUS   VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
mypvc   Bound    pv004    2Gi        RWO,RWX                       2m8s


进去查看
[root@k8s-01 chapter07]# kubectl exec -it nginx-vol-pvc -- bash
root@nginx-vol-pvc:/# df -h   
Filesystem                 Size  Used Avail Use% Mounted on
overlay                     50G   11G   40G  21% /
tmpfs                       64M     0   64M   0% /dev
tmpfs                      1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda2                   50G   11G   40G  21% /etc/hosts
shm                         64M     0   64M   0% /dev/shm
192.168.100.30:/data/nfs4   50G  8.9G   41G  18% /usr/share/nginx/html
tmpfs                      1.9G   12K  1.9G   1% /run/secrets/kubernetes.io/serviceaccount
tmpfs                      1.9G     0  1.9G   0% /proc/acpi
tmpfs                      1.9G     0  1.9G   0% /proc/scsi
tmpfs                      1.9G     0  1.9G   0% /sys/firmware

nfs作为动态pv案例

安装部署存储
创建服务帐户
# kubectl create –f serviceaccount.yaml
创建集群角色并与服务帐户绑定
# kubectl create –f clusterrole.yaml
# kubectl create –f clusterrolebinding.yaml

创建角色,并与服务帐户绑定
# kubectl create –f role.yaml
# kubectl create –f rolebinding.yaml

创建动态存储类
# kubectl create –f class.yaml

部署
# kubectl create –f deployment.yaml]
注意:以上也可以直接执行 kubectl apply –f ./nfs-de

创建pv,pod及查看pvc是否通过类创建了pv并且绑定
# kubectl create –f test-claim.yaml
# kubectl create –f test-pod.yaml
# kubectl get pvc –n aishangwei



文件内容
[root@k8s-01 nfs-de]# ll
total 28
-rw-r--r--. 1 root root 247 Aug 22 10:32 class.yaml
-rw-r--r--. 1 root root 306 Aug 22 10:32 clusterrolebinding.yaml
-rw-r--r--. 1 root root 525 Aug 22 10:32 clusterrole.yaml
-rw-r--r--. 1 root root 901 Aug 24 13:58 deployment.yaml
-rw-r--r--. 1 root root 311 Aug 22 10:32 rolebinding.yaml
-rw-r--r--. 1 root root 228 Aug 22 10:32 role.yaml
-rw-r--r--. 1 root root  76 Aug 22 10:32 serviceaccount.yaml
[root@k8s-01 nfs-de]# cat class.yaml 
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: managed-nfs-storage
provisioner: fuseim.pri/ifs # or choose another name, must match deployment's env PROVISIONER_NAME'
reclaimPolicy: Retain
parameters:
  archiveOnDelete: "false"[root@k8s-01 nfs-de]# cat clusterrolebinding.yaml 
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: run-nfs-client-provisioner
subjects:
  - kind: ServiceAccount
    name: nfs-client-provisioner
    namespace: default
roleRef:
  kind: ClusterRole
  name: nfs-client-provisioner-runner
  apiGroup: rbac.authorization.k8s.io[root@k8s-01 nfs-de]# cat clusterrole.yaml 
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: nfs-client-provisioner-runner
rules:
  - apiGroups: [""]
    resources: ["persistentvolumes"]
    verbs: ["get", "list", "watch", "create", "delete"]
  - apiGroups: [""]
    resources: ["persistentvolumeclaims"]
    verbs: ["get", "list", "watch", "update"]
  - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["get", "list", "watch"]
  - apiGroups: [""]
    resources: ["events"]
    verbs: ["create", "update", "patch"][root@k8s-01 nfs-de]# cat deployment.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nfs-client-provisioner
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nfs-client-provisioner
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: nfs-client-provisioner
    spec:
      serviceAccountName: nfs-client-provisioner
      containers:
        - name: nfs-client-provisioner
          image: quay.io/external_storage/nfs-client-provisioner:latest
          volumeMounts:
            - name: nfs-client-root
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME
              value: fuseim.pri/ifs
            - name: NFS_SERVER
              value: 192.168.100.30
            - name: NFS_PATH
              value: /data/nfs1
      volumes:
        - name: nfs-client-root
          nfs:
            server: 192.168.100.30
            path: /data/nfs1[root@k8s-01 nfs-de]# ls
class.yaml  clusterrolebinding.yaml  clusterrole.yaml  deployment.yaml  rolebinding.yaml  role.yaml  serviceaccount.yaml
[root@k8s-01 nfs-de]# ll
total 28
-rw-r--r--. 1 root root 247 Aug 22 10:32 class.yaml
-rw-r--r--. 1 root root 306 Aug 22 10:32 clusterrolebinding.yaml
-rw-r--r--. 1 root root 525 Aug 22 10:32 clusterrole.yaml
-rw-r--r--. 1 root root 901 Aug 24 13:58 deployment.yaml
-rw-r--r--. 1 root root 311 Aug 22 10:32 rolebinding.yaml
-rw-r--r--. 1 root root 228 Aug 22 10:32 role.yaml
-rw-r--r--. 1 root root  76 Aug 22 10:32 serviceaccount.yaml
[root@k8s-01 nfs-de]# cat rolebinding.yaml 
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: leader-locking-nfs-client-provisioner
subjects:
  - kind: ServiceAccount
    name: nfs-client-provisioner
    namespace: default
roleRef:
  kind: Role
  name: leader-locking-nfs-client-provisioner
  apiGroup: rbac.authorization.k8s.io[root@k8s-01 nfs-de]# cat role.yaml 
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: leader-locking-nfs-client-provisioner
rules:
  - apiGroups: [""]
    resources: ["endpoints"]
    verbs: ["get", "list", "watch", "create", "update", "patch"][root@k8s-01 nfs-de]# cat serviceaccount.yaml 
apiVersion: v1
kind: ServiceAccount
metadata:
  name: nfs-client-provisioner[root@k8s-01 nfs-de]# 


[root@k8s-01 chapter07]# cat test-claim.yaml 
apiVersion: v1
kind: Namespace
metadata:
  name: aishangwei
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: test-claim
  namespace: aishangwei
  annotations:
    volume.beta.kubernetes.io/storage-class: "managed-nfs-storage"
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Mi

[root@k8s-01 chapter07]# cat test-pod.yaml 
kind: Pod
apiVersion: v1
metadata:
  name: test-pod
  namespace: aishangwei
spec:
  containers:
  - name: test-pod
    image: busybox
    command:
      - "/bin/sh"
    args:
      - "-c"
      - "touch /mnt/aishangwei-SUCCESS && exit 0 || exit 1"
    volumeMounts:
      - name: nfs-pvc
        mountPath: "/mnt"
  restartPolicy: "Never"
  volumes:
    - name: nfs-pvc
      persistentVolumeClaim:
        claimName: test-claim


在这里插入图片描述

使用本地文件夹作为pv


创建文件夹,并创建文件
# mkdir /mnt/data
# echo ‘Hello from Kubernetes storage’ > /mnt/data/index.html

执行如下命令创建pv,并查看创建的pv信息
# kubectl create –f pv-volume.yaml
# kubectl get pv task-pv-volume

创建pvc并校验pv和pvc的信息
# kubectl create –f pvc-claim.yaml
# kubectl get pv task-pv-volume
# kubectl get pvc task-pv-claim

创建pod,并引用使用的pvc
# kubectl create –f pv-pod.yaml
# kubectl get pod taks-pv-pod



[root@k8s-01 chapter07]# cat pv-volume.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:
  name: task-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"[root@k8s-01 chapter07]# cat pv-claim.yaml 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: task-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi[root@k8s-01 chapter07]# cat pv-
pv-claim.yaml   pv-pod.yaml     pv-volume.yaml  
[root@k8s-01 chapter07]# cat pv-
pv-claim.yaml   pv-pod.yaml     pv-volume.yaml  
[root@k8s-01 chapter07]# cat pv-pod.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: task-pv-pod
spec:
  volumes:
    - name: task-pv-storage
      persistentVolumeClaim:
        claimName: task-pv-claim
  containers:
    - name: task-pv-container
      image: nginx
      ports:
        - containerPort: 80
          name: "http-server"
      volumeMounts:
        - mountPath: "/usr/share/nginx/html"
          name: task-pv-storage




 

改变默认存储类及回收策略

查看存储类
# kubectl get storageclass

2. 将存储类设置为非默认的
# kubectl patch storageclass <your-class-name> -p ‘{“metadata”:{“annotations”:{“storageclass.Kubernetes.io/is-default-class”:”false”}}}’

3. 标记存储类为默认的
# kubectl patch storageclass <your-class-name> -p ‘{“metadata”:{“annotations”:{“storageclass.Kubernetes.io/is-default-class”:”true”}}}’

列出持久卷
# kubectl get pv

选择一个持久卷来改变它的回收策略
# kubectl patch pv <your-pv-name> -p ‘{“spec”:{“persistentVolumeReclaimPolicy”:”Retain”}}’

查看设置是否正确
# kubectl get pv

参考文档

https://edu.csdn.net/course/detail/27762?spm=1003.2449.3001.8295.3

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pyside6--核心版本的信号与槽的小示例

pyside6--核心版本的信号与槽的小示例 一、自定义的信号与槽的示例 1.1界面函数 还是使用上次的常用功能组件的界面&#xff0c;只是这次我 只使用按钮以及标签进行测试 1.2主函数核心代码 # 导入 t1gui_ui _ui from t1gui_ui import Ui_Form from PySide6.QtWidgets import …

Java8 Stream流 flatMap使用

参考链接 import cn.hutool.core.collection.ListUtil; import lombok.AllArgsConstructor; import lombok.Data;import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors;public class FlatMapLearn {DataAllArgsConstructorpublic static c…

iOS开发之查看静态库(.a/.framework)中包含的.o文件和函数符号(ar,nm命令)

.a/.framework其实是把编译生成的.o文件&#xff0c;打包成一个.a/.framework文件。a的意思是archive/归档的意思。 查看静态库.a文件包含的内容用下面的命令解压&#xff1a; ar x xxx.a 用ar命令打包静态库&#xff1a; 参数r是将后面的*.o或者*.a文件添加到目标文件中 参数…

赴日工作SaaS/PaaS/IaaS到底有什么区别?

许多开始关注赴日IT的技术流的小伙伴&#xff0c;已经开始关注外网上的一些案件需求或者招聘需求了。那么你会发现很多需求当中都写着开发SaaS/PaaS/IaaS这些词汇&#xff0c;而且出现频率很高&#xff0c;那他们究竟代表什么意思呢&#xff1f; 先来说SaaS&#xff0c;Softwa…

此股必成大器!【海螺水泥】坚定看好-神奇指标网

8.22此股必成大器&#xff01;【海螺水泥】坚定看好 操盘胜率极高的神奇指标系统已经给出了答案&#xff0c;苦等几日今天终于发出多头信号。 从7月底开始&#xff0c;神奇指标叠线重合并且股价站上叠线上&#xff0c;第二个交易日直接跳空高开&#xff0c;预示多头行情的开始。…

年薪100W的PM如何制定项目进度计划?

大家好&#xff0c;我是老原。 做了这么久的项目经理&#xff0c;也带过很多项目&#xff0c;无论是他人估算还是自己预测&#xff0c;都很少有按期完成的项目&#xff0c;要么提前&#xff0c;要么延后&#xff0c;按期完成的无非是熟门熟路十拿九稳&#xff0c;亦或是运气使…

KusionStack使用文档

下载安装 1. 安装 Kusionup 如果想自定义默认安装版本&#xff0c;可以运行下述命令&#xff08;将最后的 openlatest 替换为你想要默认安装的版本号就就行&#xff09;&#xff1a; curl -s "http://kusion-public.oss-cn-hzfinance.aliyuncs.com/cli/kusionup/script…

spark中排查Premature EOF: no length prefix available

报错信息 /07/22 10:20:28 WARN DFSClient: Error Recovery for block BP-888461729-172.16.34.148-1397820377004:blk_15089246483_16183344527 in pipeline 172.16.34.64:50010, 172.16.34.223:50010: bad datanode 172.16.34.64:50010 [DataStreamer for file /bdp/data/u9…

java学习-阻塞队列原理

JAVA 阻塞队列原理 阻塞队列&#xff0c;关键字是阻塞&#xff0c;先理解阻塞的含义&#xff0c;在阻塞队列中&#xff0c;线程阻塞有这样的两种情况&#xff1a; 当队列中没有数据的情况下&#xff0c;消费者端的所有线程都会被自动阻塞&#xff08;挂起&#xff09;&#x…

Linux的软连接和硬链接

1.创建链接 首先ln --help 可以看到默认创建的链接是硬链接。若是要创建符号链接则需要使用-s 参数 格式是&#xff1a; ln 源文件 链接文件 或者 ln -s 源文件 链接文件 2.区别 首先我创建了a和b文件。 然后又分别建立了a的硬链接a2&#xff0c;b的符号链接b2 由图中即可看…

角色属性04----HP

添加两个变量&#xff0c;使用任意伤害事件来扣除HP&#xff0c;蓝图的方式和加速跑差不多 找到一个死亡动画&#xff0c;先ue4重定向ue5小银人&#xff0c;在ue5重定向ue4给低模人物 进入动画&#xff0c;创建hit把死亡动画给它&#xff0c;同时创建一个变量is_hit作为状态转换…

全国最大规模量子计算云平台重磅发布

8月19日&#xff0c;在2023中国算力大会主论坛上&#xff0c;中国移动携手中国电科发布“量子计算云平台”。这是目前国内最大规模的量子计算云平台&#xff0c;也是业界第一次实现“量子与通用算力统一纳管混合调度”的系统级平台。该发布标志着我国量子计算正在逐步走向实用化…

不要再错过晓程科技【300139】了-神奇指标网

8.24不要再错过晓程科技【300139】了 虽然 晓程科技的庄家操盘不怎么的&#xff0c;经常诱多发套吸筹。但是通过神奇指标系统来操盘基本可以完美吃到这几波冲高。包括今天一开盘就入场了&#xff0c;明天有调整的话看情况还可以低吸一口也是稳的。 我们看到今天5月到至今在这个…

服务器数据恢复-AIX PV完整镜像方法以及误删LV的数据恢复方案

AIX中的PV相当于物理磁盘&#xff08;针对于存储来说&#xff0c;PV相当于存储映射过来的卷&#xff1b;针对操作系统来说&#xff0c;PV相当于物理硬盘&#xff09;&#xff0c;若干个PV组成一个VG&#xff0c;AIX可以将容量不同的存储空间组合起来统一分配。AIX把同一个VG的所…

【安装】MongoDB7安装MongoSH命令

MongoDB Shell Download | MongoDB 下载之后 解压 配置环境变量即可 以前使用 mongo命令 改为 mongosh 官方说明 安装mongosh MongoDB 中文手册 | MongoD Manual | 中文操作手册 | MongoDB 最新版 (whaleal.com) 安装 mongosh — MongoDB Shell

suricata安装以及流量抓包

suricata安装 先安装wazuh的agent上篇博客有提到。Wazuh安装及使用_无所不知的神奇海螺的博客-CSDN博客 与wazuh联动&#xff0c;所以查看wazuh官方文档Network IDS integration - Proof of Concept guide Wazuh documentation 配置要求 跟着配置一步步走就行 到这一步&am…

主力资金指标公式-神奇指标网

主力资金&#xff1a; VA1:100-3*SMA((CLOSE-LLV(LOW,65))/(HHV(HIGH,80)-LLV(LOW,65))*100,20,1)2*SMA(SMA((CLOSE-LLV(LOW,65))/(HHV(HIGH,80)-LLV(LOW,65))*100,20,1),15,1); VARA:EMA(VAR9,3); VARB:(VAR9-VARA)/2; 大盘资金:VARB,COLORGREEN,LINETHICK2; …

聚水潭无需API开发连接伙伴云,实现新增售后申请单自动汇总到表单

聚水潭用户使用场景&#xff1a; 电商行业通常使用聚水潭作为企业的ERP系统。每当聚水潭有新的售后申请时&#xff0c;企业人员常常需要将订单信息手动复制并录入到伙伴云存储、汇总&#xff0c;包括订单单号、状态、金额等20多项信息。这种人工手动复制和录入的方式容易导致订…

vue直接使用高德api

第一步&#xff1a;在index.html 引入 <script src"https://webapi.amap.com/maps?v2.0&key你的key"></script>第二步&#xff1a;在你需要地图的时候 放入 <template><div style"width: 200px; height: 200px"><div id&q…

浅谈电力电容器的在线监测技术与选型

安科瑞 华楠 【摘要】传统的电力电容器检测通常为断电,离线进行,影响了生产。已有的电力电容器在线诊断技术集中于对电容量、介质损耗角的测量,检测结果滞后于故障的发生,且检测结果并不理想。主要针对电力系统中高压电力电容器的常见故障,对其故障中发生放电现象的机理进行了…