- 博客(274)
- 收藏
- 关注
原创 PV 、PVC的使用
文章目录一、PV 的使用1、概念2、NFS2、PVCapacity(存储能力)AccessModes(访问模式)persistentVolumeReclaimPolicy(回收策略)状态二、PVC 的使用1、准备工作1、新建 PVC3、使用 PVC注意事项补充:报错一、PV 的使用前面我们和大家一起学习了一些基本的资源对象的使用方法,前面我们也和大家讲到了有状态的应用和对数据有持久化的应用,我们有通过 hostPath 或者 emptyDir 的方式来持久化我们的数据,但是显然我们还需要更加可靠的存储来
2022-03-15 23:25:03
941
原创 PV、PVC的知识
一、PV/PVCpv : 相当于磁盘分区pvc: 相当于磁盘请求使用NFS提供存储,此时就要求用户会搭建NFS系统,并且会在yaml配置nfs。由于kubernetes支持的存储系统有很多,要求客户全都掌握,显然不现实。为了能够屏蔽底层存储实现的细节,方便用户使用, kubernetes引入PV和PVC两种资源对象。 1、PersistentVolume(PV)是集群中已由管理员配置的一段网络存储。集群中的资源就像一个节点是一个集群资源。 PV是诸如卷之类的卷插件,但是具有独立于使用PV的任
2022-03-15 22:54:44
11174
原创 DaemonSet 与 StatefulSet 的使用
文章目录DaemonSet 与 StatefulSet 的使用1、DaemonSet 的使用2、StatefulSet 的使用3、创建StatefulSet4、 检查 Pod 的顺序索引5、 使用稳定的网络身份标识DaemonSet 与 StatefulSet 的使用1、DaemonSet 的使用通过该控制器的名称我们可以看出它的用法:Daemon,就是用来部署守护进程的,DaemonSet用于在每个Kubernetes节点中将守护进程的副本作为后台进程运行,说白了就是在每个节点部署一个Pod副本,当
2022-03-15 22:54:30
180
原创 安全认证、准入控制、RBAC
文章目录准入机制一、Authentication:认证1.https的认证需要认证的节点总结二、鉴权(Authorization)API Server目前支持以下几种授权策略:RBAC授权RBAC的API资源说明对象1、Role and ClusterRole2、RoleBinding、ClusterRoleBindingResourcesto subject实践--创建一个用户只能管理dev命名空间下载证书工具设置集群参数设置客户端认证参数设置上下文参数设置默认上下文普通用户查看pod以及状态准入控制二、
2022-03-15 00:23:29
2345
原创 service的认识
文章目录一、service的概念二、service的类型vip和service代理代理模式的分类1)userspace代理模式2)iptabels代理模式3)ipvs模式1) ClusterIP部署deployment部署svc2) svc-headless3) NodePort查询流程4) LoadBalancer5)ExternalName(将其他连接设置一个集群内部的别名)一、service的概念service 是 k8s 中的一个重要概念,主要是提供负载均衡和服务自动发现。它是 k8s 中最核心
2022-03-14 18:49:53
438
原创 secret的认识
文章目录一、secret的认识1、serviceaccount2.Opaque Secret1)创建secret2)将secret挂载到volume中3)将secret挂载到环境变量中4)Secre存储私有docker registry的认证使用kubectl创建docker regiestry认证的secret4、kubernetes.io/dockerconfigjson5、kubernetes.io/service-account-token6、kubernetes.io/service-accoun
2022-03-14 18:44:33
2759
原创 Service的认识
一、Service我们学习了Pod的基本用法,我们也了解到Pod的生命是有限的,死亡过后不会复活了。我们后面学习到的RC和Deployment可以用来动态的创建和销毁Pod。尽管每个Pod都有自己的IP地址,但是如果Pod重新启动了的话那么他的IP很有可能也就变化了。这就会带来一个问题:比如我们有一些后端的Pod的集合为集群中的其他前端的Pod集合提供API服务,如果我们在前端的Pod中把所有的这些后端的Pod的地址都写死,然后去某种方式去访问其中一个Pod的服务,这样看上去是可以工作的,对吧?但是如果这
2022-03-14 17:26:40
263
原创 configmap知识
文章目录一 、configMap1.使用目录创建查看效果2.使用文件创建3.使用字面值创建4.使用configmap中的数值来定义容器的环境变量演示效果5.用configmap设置命令行参数演示效果6.通过数据卷插件使用configmap演示效果7.configMap的热更新查看效果8.ConfigMap更新后滚动更新pod一 、configMap许多应用程序会从配置文件 、命令行参数或者环境变量中读取配置信息,configMap api给我们提供了向容器中注入配置信息的机制,configMap可以用
2022-03-14 17:26:29
434
原创 ConfigMap的了解
文章目录ConfigMap1、创建2、使用ConfigMap前面我们学习了Service的使用,Service是Kubernetes系统中非常重要的一个核心概念,我们还会在后面 的课程中继续学习Service的一些使用方法的。这节课我们来学习另外一个非常重要的资源对象:ConfigMap,我们知道许多应用经常会有从配置文件、命令行参数或者环境变量中读取一些配置信息,这些配置信息我们肯定不会直接写死到应用程序中去的,比如你一个应用连接一个redis服务,下一次想更换一个了的,还得重新去修改代码,重新制作一
2022-03-14 17:26:02
406
原创 Job 和 Cronjob 的使用
Job 和 Cronjob 的使用上节课我们学习了Pod自动伸缩的方法,我们使用到了HPA这个资源对象,我们在后面的课程中还会和大家接触到HPA的。今天我们来给大家介绍另外一类资源对象:Job,我们在日常的工作中经常都会遇到一些需要进行批量数据处理和分析的需求,当然也会有按时间来进行调度的工作,在我们的Kubernetes集群中为我们提供了Job和CronJob两种资源对象来应对我们的这种需求。Job负责处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束。而CronJob则就是在J
2022-03-14 12:51:04
253
原创 maven命令、npm命令
maven命令1.mvn clean deploy#打包jar到远端(Nexus)2.mvn clean install#打包JAR到本地Repo3.mvn clean package#仅仅打包JAR到代码目录下4.mvn clean#清除之前打包所产生的文件或目录5.mvn install -Dmaven.test.skip=true#跳过测试6.mvn参数介绍参考 https://www.cnblogs.com/zhaoyan001/p/8735196.html-U 强制更新s
2022-03-13 22:41:44
1815
原创 Kubernetes HPA 使用详解、metrics-server的部署
文章目录一、Kubernetes HPA 使用详解1、Metrics Server2、聚合 APi3、安装Metrics Server(1)下载metrics-server资源清单2) 修改镜像(3)启动metrics-server4、补充报错信息解决办法:我们这里使用第二种方式,然后重新安装:二、基于 CPU补充:autoscaling/v2beta2(多指标)基于内存一、Kubernetes HPA 使用详解在前面的学习中我们使用用一个 kubectl scale 命令可以来实现 Pod 的扩缩容功
2022-03-13 22:38:59
234
原创 Deployment的使用(扩容、回滚、更新)
文章目录Deployment的使用创建滚动升级解释查看状态:暂停升级继续升级升级结束后,继续查看rs的状态:回滚Deployment首先,查看Deployment的升级历史:补充:1>弹性扩容的3种方法2>更新(首先要存在低版本才可以更新)Deployment的使用前面的课程中我们学习了Replication Controller和Replica Set两种资源对象,RC和RS的功能基本上是差不多的,唯一的区别就是RS支持集合的selector。我们也学习到了用RC/RS来控制Pod副本的数
2022-03-13 16:38:58
1588
原创 Mysql备份命令Mysqldump导入、导出以及压缩成zip、gz格式
Mysql备份命令Mysqldump导入、导出以及压缩成zip、gz格式可以创建一个只有本地备份权限的用户:CREATE USER 'backuser'@'localhost' IDENTIFIED BY '********';GRANT SELECT, RELOAD, PROCESS, SHOW DATABASES, LOCK TABLES ON *.* TO 'backuser'@'localhost';1、导出命令:mysqldump -u用户名 -p数据库密码 数据库名 > 文件名
2022-03-10 16:50:22
7423
原创 如何排查 Kubernetes 的内存增长问题?
如何排查 Kubernetes 的内存增长问题?某用户生产环境的 kubernetes 节点遇到的一个问题,大概问题是这样的,用户反馈他的业务所在 pod 一在吃内存,内存占用高达 17 G 并且还是持续在增长。接到用户反馈后,我秒登 VPN ,进到用户的环境开始排查问题。当时想的思路是这样的,既然是内存问题,那先看看这个业务所在 pod 里面到底是哪个进程在吃内存吧。kubectl exec -it pod -n xxx /bin/bash执行top 命令查看下当前 pod 正在运行的进程,发现
2022-03-10 15:18:28
2458
原创 K8S了解、资源、init容器
文章目录K8S资源yaml字段解释pod生命周期init容器init模板init特殊说明探针就绪性检测存活性检测liveness-execliveness-httpGetliveness-tcp就绪检查与存活检查合二为一start stopK8S#deployment会链接一个rs 会有一个随机的哈希值[root@VM-16-10-centos ~]# kubectl get deployments.apps -n jenkins NAME READY UP
2022-02-13 15:10:45
530
原创 screen模拟后台启动脚本
#!/bin/bashscreen_name=$"authelia"# 检查screen是否存在,等于0.表示screen不存在。则创建screenscreen_num=0pre=`screen -ls |grep Detached |grep authelia |wc -l`if [ $pre -eq $screen_num ];then screen -S authelia -X quit >/dev/null screen -wipe >/dev/null
2022-02-13 15:09:03
281
原创 docker磁盘清理的迁移
文章目录1.查看磁盘使用情况2.类似于Linux上的df命令,用于查看Docker的磁盘使用情况3.清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)注意:这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚4.迁移 /var/lib/docker 目录4.1 停止docker服务4.2 创建新的docker目录,执行命令df -h,找一个大的磁盘。 我在 /home目录下面建了 /home/docker/lib目录4.
2022-02-13 15:06:59
195
原创 nginx日志访问量统计
1).根据访问IP统计UVawk '{print $1}' access.log|sort | uniq -c |wc -l过滤指定接口地址,例如getCurrentUser()作为获取用户信息接口,访问一次网站只统计一次,因此可以作为UV参考awk '{print $1 $7}' access.log|grep rresource/api/userInfo/getCurrentUser|sort | uniq -c |wc -l2).统计访问URL统计PVawk '{print $7}'
2022-02-13 15:06:06
2095
原创 Supervisor使用详解
文章目录一、Supervisor使用详解二、supervisor安装三、supervisor使用四、配置文件说明子进程配置文件说明:子进程配置示例:五、supervisor命令说明常用命令注意事项常见问题配置systemd管理一、Supervisor使用详解Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在
2022-02-13 15:05:54
287
原创 kubernetes Pod驱逐迁移
kubernetes Pod驱逐迁移在使用k8s集群过程中,可能会遇到节点异常或需要节点升级的情况,但又不能影响节点中服务的正常运行,就要涉及到对pod信息迁移和node节点维护。维护主要分为两部分:pod驱逐、节点维护node节点维护查看k8s集群node节点情况[root@prod-k8s-master001 ~]# kubectl get nodeNAME STATUS ROLES AGE VERSION172.
2022-02-13 15:03:30
225
原创 K8s节点的下线
K8s节点的下线在实际使用中,master节点一般不会进行频繁的操作,一般都是对node节点进行扩容或下线操作。node节点下线操作流程如下:node节点配置pod不可调度到该节点上。node节点上的服务驱逐。node节点下线。首先,为了避免在驱逐该节点上的pod资源重复调度到该节点,对需要下线的节点配置不可调度。#配置节点不可调度kubectl cordon <NODE_NAME>或者kubectl cordon <NODE_ip地址>然后,对该节
2022-02-13 15:02:12
1675
原创 清理docker占用的磁盘
文章目录docker 占用的空间可以通过下面的命令查看:TYPE 列出了docker 使用磁盘的 4 种类型:容器的磁盘占用数据卷的磁盘占用Build Cache 的磁盘占用Docker 很占用空间,每当我们运行容器、拉取镜像、部署应用、构建自己的镜像时,我们的磁盘空间会被大量占用。如果你也被这个问题所困扰,咱们就一起看一下 Docker 是如何使用磁盘空间的,以及如何回收。docker 占用的空间可以通过下面的命令查看:$ docker system dfTYPE 列出了docker 使用
2022-02-13 15:00:10
980
原创 拆分数据库
复制数据-- 转移12月份的数据DROP TABLE IF EXISTS `dm_overview_copy`;create table dm_overview_copy (select * from dm_overview t where t.evtTime < '2022-01-01 00:00:00' and t.evtTime >= '2021-12-01 00:00:00');-- 转移11月份的数据INSERT INTO `dm_overview_copy` (`id
2022-02-13 14:58:38
151
原创 linux服务器磁盘满了怎么办
方法一步骤一:遇到磁盘空间不足的报错时候,首先使用df -h查看磁盘空间使用情况,如图/home/zhang目录磁盘空间达到100%。步骤二:进入目录/home/zhang,查找磁盘空间中的大文件,使用命令du -h --max-depth=1 /du -sh *查找占用空间大的目录,可以看到tomcat空间占用的空间比较大,通过逐层定位,最后会找到具体的文件步骤三:除了上面逐层定位的方法,我们也可以直接查找出大文件,使用命令find /home/zhang -size +400M查找出大于4
2022-02-13 14:58:04
17472
1
原创 查询数据库对应表的大小
查询表对应的大小BYTESSELECT (data_length+index_length) tablesizeFROM information_schema.tablesWHERE table_schema='mydb' and table_name='mytable';KILOBYTESSELECT (data_length+index_length)/power(1024,1) tablesize_kbFROM information_schema.tablesWHERE table
2022-02-13 14:56:52
1718
原创 jumpserver的安装
文章目录一、jumpserver堡垒机1.jumpserver简介2.jumpserver功能3.jumpserver的特点二、安装jumpserver1.安装要求2.安装地址3.帮助三、jumpserver管理测试1、创建 Jumpserver 用户2、创建管理用户3、 创建系统用户4、创建资产5、资产授权6、用户使用资产四、jumserver管理详解一、jumpserver堡垒机1.jumpserver简介Jumpserver是一款由python编写, Django开发的开源跳板机/堡垒机系统,
2021-10-12 11:19:38
3292
1
原创 alpine Linux简介、alpine制作jdk镜像、jre镜像、 Alpine 命令
文章目录一、alpine Linux简介alpine制作jdk镜像1.下载镜像Alpine制作jre镜像二、 Alpine 命令0- 简介0.1- 特点0.2- Docker下的运行0.3- 作为Docker容器的基础镜像0.4- 网卡配置文件1- Alpine Linux源管理1.1- 国内源1.2- 配置1.3- 执行命令2- Alpine包管理2.1- apk命令2.1.1- apk update2.1.2- apk search2.1.3- apk add2.1.4- apk info2.1.5-
2021-10-07 22:10:01
1129
原创 Tcpdump 详解(抓包)
一、命令常用参数-A : 以ASCII格式打印出所有分组,并将链路层的头最小化。-c :在收到指定的数量的分组后,tcpdump就会停止。-C :在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_size 中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。参数 file_size 的单位是兆字节(是1,000,000字节,而不是1,048,576字节)。-d :将匹配信息包的代码以人们能够理解的汇编格式给出。-dd :将匹配信息包的代码以c语言程序段的
2021-10-07 22:09:29
2372
原创 linux优秀命令(dig traceroute)、java的启动命令、wget命令详解
一、使用dig/nslookup命令查看dns解析详情当域名出现访问故障时,可以通过检查域名解析来判断是否是由错误的解析导致的问题。1.域名解析无结果(不存在或被HOLD(未实名认证等))2.域名解析到错误的IP(被阻断,被劫持响应错误结果,需要对解析流程做判断)3.对应CNAME记录的值无法解析4.部分解析异常(配置多个域名服务器时,多个服务器解析结果不一致,需要确认是否在DNS服务器上配置添加的解析记录一致)简单使用解析一下www.baidu.com结果如下:1.dig命令做迭代查询在
2021-09-28 11:16:50
556
原创 zabbix面试技巧
文章目录一、面试技巧1.面试常问二、单机监控命令1.CPU 监控命令2.内存监控命令3.磁盘监控命令4.网络监控命令5.TCP11种状态监控命令6.生产场景需求7.系统的oom(out of memory)8.使用脚本监控nginx三、zabbix数据库拆分1.环境准备2.导出原MySQL中的zabbix数据3.准备新的数据库环境4.关闭原来的数据库测试5.修改连接数据库代码一、面试技巧1.面试常问#1.面试官:你们公司监控是如何做的? 你:用zabbix 面试官:....#2.面试技
2021-09-03 21:55:37
953
原创 配置文件详解+AlertManager微信邮件告警配置
文章目录前言AlertManager告警简单部署一、AlertManager告警简介1.简介2.告警规则组成1)告警名称2)告警规则3.Alertmanager特性1)分组2)抑制3)静默二、安装部署1.容器化部署1)部署Alert-Manager2)查看部署结果3)创建Ingress4)部署服务5)测试访问2、物理机部署1)下载安装包2)创建目录并解压3)授权4)添加环境变量5)加入systemd管理6)启动并加入开机自启三、配置告警邮件+微信1.全局配置2.配置邮件告警1)发件2)收件3)邮件告警模板测
2021-09-03 13:05:44
10230
原创 监控不携带metrics接口的服务(nginx、mysql、redis)
文章目录prometheus的架构图监控不携带metrics接口的服务监控流程:一、监控nginx0 、准备测试环境1、部署expertor,从而创建一个`metrics接口2、部署Endpoints,链接expertor暴露出来的metrics接口3、部署Service,基于`ServiceMonitor`使用4、创建ServiceMonitor,注入promethues二、监控redis1.部署测试环境1)编写部署清单2)编写Service清单3)部署2.配置部署exporter1)编写部署清单2)编写
2021-09-02 21:58:25
1086
原创 监控携带metriecs接口的服务(etcd)
文章目录一、普罗米修斯监控服务1.监控携带metrics接口的服务(etcd)1)测试etcd服务的`metrics接口`2)通过`endpoint`获取需要监控的`etcd`的地址1>前期查看2>编辑yaml文件3)创建`service`,给集群内部的`servicemonitor`使用4)创建servicemonitor部署需要的访问证书5)创建一个secrets,用来保存prometheus监控的etcd的证书6)重启普罗米修斯监控pod(prometheus-k8s-0),载入监控项7)
2021-09-02 09:26:48
480
原创 普罗米修斯容器化监控、PromQL的使用、Grafana添加普罗米修斯数据源模板
一、普罗米修斯容器化普罗米修斯容器化就是在kubernetes中安装。#1.下载普罗米修斯配置清单[root@k8s-master-01 ~]# git clone -b release-0.5 --single-branch https://github.com/prometheus-operator/kube-prometheus.git正克隆到 'kube-prometheus'...remote: Enumerating objects: 8081, done.remote: Cou
2021-09-01 17:49:09
2428
原创 kubeadm部署高可用k8s
KubeAdmin安装k8s1、集群类型# kubernetes集群大体上分为两类: 一主多从和多主多从# 1、一主多从:一台 Master节点和多台Node节点,搭建简单,有单机故障分析,适合于测试环境# 2、多主多从:多台 Master节点和多台Node节点,搭建麻烦,安全性比较高,适合于生产环境2、安装方式官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/# 方式一: kubeadmK
2021-08-31 12:23:48
513
原创 乱七八糟小问题
apiVersion: apps/v1kind: Deploymentmetadata: name: testspec: selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx - na
2021-08-30 22:29:43
868
原创 kubernetes必备面试题
文章目录1、监控Docker命令2、K8s的组件有哪些3、常用控制器以及特点?4、Service的类型有哪些?5、Ingress-Nginx的工作原理6、从ingress到pod的流程7、控制器、service、ngress管理pod的方式?8、主容器的作用9、Pod的生命周期10、在k8s中yaml配置清单的最基本结构11、Ingress 设置重定向的方式有哪些,区别是什么?12、部署Wordpress的流程13、Docker的四种网络模式14、Dockerfile常用指令15、K8s组件及协同关系16、
2021-08-30 18:48:45
2264
原创 kuborad图形化界面
安装kuborad1、简介Kuboard,是一款免费的 Kubernetes 图形化管理工具,Kuboard 力图帮助用户快速在 Kubernetes 上落地微服务2、安装[root@k8s-master-01 ~]# kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml[root@k8s-master-01 ~]# kubectl apply -f https://addons.kuboard.cn/metrics-ser
2021-08-30 18:16:46
424
原创 安全认证篇
文章目录一、 安全认证1、访问控制概述客户端2、认证、授权与准入控制二、认证管理HTTPS认证大体分为3个过程:四、授权管理1、Role、ClusterRole需要详细说明的是,rules中的参数:2、RoleBinding、ClusterRoleBinding3、RoleBinding引用ClusterRole进行授权4、实战:创建一个只能管理dev空间下Pods资源的账号1、创建账号2、 创建Role和RoleBinding,为devman用户授权3、切换账户,再次验证五、准入控制一、 安全认证1、
2021-08-30 18:12:00
1037
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅