自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(274)
  • 收藏
  • 关注

原创 用户交互、格式化输出、基本运算符

文章目录一 程序与用户交互用户交互格式化输出二 基本运算符算数运算符链式赋值交叉赋值解压赋值逻辑运算符身份、成员运算符一 程序与用户交互用户交互'''1.获取用户数据 username = input('请输入名字>>>') print(type(username)) 请输入名字>>>jyh jyh <class 'str'> # input获取到的用户都是字符串类型 2.输出内部数据 print(use

2022-04-20 00:15:20 651

原创 python变量、数据类型

文章目录一、什么是变量?二、为什么要有变量?三、怎么使用变量(先定义、后使用)3.1、变量的定义与使用变量的本质3.2、变量名的命名规范3.3、变量名的命名风格3.4、变量值的三大特性四、常量4.1、什么是常量?4.2、为什么要有常量?4.3、怎么使用常量?引入五、数字类型5.1 整型int5.2 浮点型float5.3 字符串类型str5.4 列表list5.4.1 作用5.4.2 定义5.4.3 使用5.4.4 列表可以嵌套,嵌套取值如下5.5 字典5.5.1 作用5.5.2 使用5.6 集合5.7 元

2022-04-20 00:13:00 474

原创 k8s创建用户账号——User Account

k8s创建用户账号——User Account用户账户和用户组Kubernetes 并不会存储由认证插件从客户端请求中提取出的用户及所属组的信息,它们仅仅用于检验用户是否有权限执行其所请求的操作。客户端访问API服务的途径通常有三种:kubectl、客户端库或者直接使用 REST接口进行请求。而可以执行此类请求的主体也被 Kubernetes 分为两类:现实中的“人”和 Pod 对象, 它们的用户身份分别对应于常规用户 (User Account )和服务账号 ( Service Account) 。

2022-04-19 00:12:24 1090

原创 Iptables防火墙

Iptables防火墙一、Iptables防火墙概述0.前言# 学好iptables的基础: 1、OSI7层模型以及不同层对应哪些协议? 2、TCP/IP三次握手,四次断开的过程,TCP HEADER,状态转换 3、常用的服务端口要非常清楚了解。 4、常用服务协议原理http协议,icmp协议。企业中安全配置原则: 1、尽可能不给服务器配置外网IP,可以通过代理转发或者通过防火墙映射。 2、并发不是特别大情况有外网IP,可以开启防火墙服务。 3、大并发的情况,不能开ip

2022-04-13 01:32:41 604

原创 日志清理脚本

1、创建一个日志清理脚本#/bin/bashfor i in `find /root/.pm2/logs -name "*.log"`do cat /dev/null > $idone 将该脚本添加至定时任务,每隔30分钟执行一次*/30 * * * * /usr/bin/sh /root/.pm2/logs/cleanlog.sh >/dev/null 2>&1删除/opt目录下所有的日志文件find /opt -name *.log.* | xargs

2022-04-13 01:31:52 1653

原创 初识python、python解释器、pycharm安装、多版本共存、注释器

文章目录一、python1、安装python解释器环境windows运行python环境windows环境变量2、执行python程序三种方式3、安装pycharm现在开始激活:pycharm需要绑定解释器调整字体调整背景4、pycharm版本迭代注意:重启windows机器5、多版本共存cmd共存在pycharm共存1)第一种方法2)第二种方法6、python的注释器一、python#Python 官方网站:https://www.python.org#Anaconda 官方下载地址:http

2022-04-13 01:30:41 785

原创 Linux 安装InfluxDB1.8版本(CentOS 7)

Linux 安装InfluxDB1.8,配置及使用1.安装以及服务端启动官网地址:https://docs.influxdata.com/platform/getting-started/https://docs.influxdata.com/influxdb/v1.8/introduction/install/?t=%3Cfont+style%3D%22vertical-align%3A+inherit%3B%22%3E%3Cfont+style%3D%22vertical-align%3A+in

2022-04-13 01:29:44 2021 3

原创 k9s安装和体验

k9s安装和体验k9s是一个基于终端的UI,用于与你的Kubernetes集群互动。这个项目的目的是使其更容易导航、观察和管理你在kubernetes集群部署的应用程序。k9s持续观察Kubernetes的变化,并提供后续的命令来与你观察到的资源进行互动。github链接:https://github.com/derailed/k9s/tree/v0.25.181、安装k9s(linux)curl -sS https://webinstall.dev/k9s | bashvim /etc/prof

2022-04-05 20:53:52 3735

原创 Helm的认识

文章目录helm是Kubernetes 包管理工具1、安装2、示例3、定制4、更多安装方式5、升级和回滚helm是Kubernetes 包管理工具Helm 可以帮助我们管理 Kubernetes 应用程序 - Helm Charts 可以定义、安装和升级复杂的 Kubernetes 应用程序,Charts 包很容易创建、版本管理、分享和分布。Helm 对于 Kubernetes 来说就相当于 yum 对于 Centos 来说,如果没有 yum 的话,我们在 Centos 下面要安装一些应用程序是极度麻烦

2022-04-05 16:16:48 1060

原创 prometheus之relabel详解

一、relabel简介为了更好的识别监控指标,便于后期调用数据绘图、告警等需求,prometheus支持对发现的目标进行label修改,可以在目标被抓取之前动态重写目标的标签集。每个抓取配置可以配置多个重新标记步骤。它们按照它们在配置文件中出现的顺序应用于每个目标的标签集。除了配置的每个目标标签之外,prometheus还会自动添加几个标签:job标签:设置为job_name相应的抓取配置的值。instance标签:__address__设置为目标的地址:。重新标记后,如果在重新标记期间未设置标签

2022-04-03 19:38:45 3499

原创 在jenkins中连接kubernetes集群

在jenkins中连接kubernetes集群配置kubernetes plugin连接kubernetes集群1.点击系统管理->系统设置-添加一个云,在下拉菜单中选择kubernets并添加2.填写云kubernetes配置内容注:Name值任意添加,Kubernetes URL值添加K8S apiserver连接地址和端口配置云kubernetes连接K8S集群的验证文件1.获取K8S的/root/.kube/config文件cat /root/.kube/configapiV

2022-04-03 19:17:40 1750

原创 devops

文章目录使用 Jenkins + Gitlab + Harbor + Helm + Kubernetes 来实现一个完整的 CI/CD 流水线作业。流程项目服务端客户端JenkinsPipeline使用 Jenkins + Gitlab + Harbor + Helm + Kubernetes 来实现一个完整的 CI/CD 流水线作业。其实我们就已经学习了 Jenkins Pipeline 与 Kubernetes 的完美结合,我们利用 Kubernetes 来动态运行 Jenkins 的 Slave

2022-04-02 01:26:58 1816

原创 线上的kustmozie的使用

文章目录安装kustmozienginx配置dockerfilekustomiza的使用创建/k8s/base的目录deployment.yamlservice.yamlkustomization.yaml创建/k8s/overlays/prod的目录custom-env.yamlreplica-and-rollout-strategy.yamlservice.yamlkustomization.yamlnginx.conf安装kustmoziewget https://github.com/kuber

2022-03-31 23:41:53 2554

原创 基于 Jenkins 的 CI/CD (二)

文章目录基于 Jenkins 的 CI/CD (二)Jenkins Pipeline 介绍创建一个简单的 Pipeline在 Slave 中构建任务部署 Kubernetes 应用利用 kubectl 工具部署应用第一步,Clone 代码第二步,测试第三步,构建镜像第四步,推送镜像第五步,更改 YAML第六步,部署人工确认Jenkinsfile基于 Jenkins 的 CI/CD (二)Jenkins Pipeline 介绍要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的

2022-03-31 23:40:55 168

原创 基于 Jenkins slave pod 的CI/CD (一)

文章目录基于 Jenkins 的 CI/CD (一)安装优点配置测试基于 Jenkins 的 CI/CD (一)提到基于Kubernete的CI/CD,可以使用的工具有很多,比如Jenkins、Gitlab CI已经新兴的drone之类的,我们这里会使用大家最为熟悉的Jenkins来做CI/CD的工具。安装既然要基于Kubernetes来做CI/CD,当然我们这里需要将 Jenkins 安装到 Kubernetes 集群当中,新建一个 Deployment:(jenkins2.yaml)---a

2022-03-31 23:40:22 995

原创 Prometheus 监控外部 Kubernetes 集群

文章目录Prometheus 监控外部 Kubernetes 集群Prometheus 监控外部 Kubernetes 集群前面我们的文章中都是将 Prometheus 安装在 Kubernetes 集群中来采集数据,但是在实际环境中很多企业是将 Prometheus 单独部署在集群外部的,甚至直接监控多个 Kubernetes 集群,虽然不推荐这样去做,因为 Prometheus 采集的数据量太大,或大量消耗资源,比较推荐的做法是用不同的 Prometheus 实例监控不同的集群,然后用联邦的方式进行

2022-03-30 01:13:40 725

原创 云硬盘的挂载

云硬盘的挂载1.创建云硬盘2.挂载到云服务器3.fdisk -l#腾讯云参考地址:https://cloud.tencent.com/document/product/362/6734#CreateFileSystemOnPartition1.登录 Linux 云服务器。以 root 用户执行以下命令,查看磁盘名称。fdisk -l回显信息类似如下图,表示当前的云服务器有两块磁盘,“/dev/vda” 是系统盘,“/dev/vdb” 是新增数据盘。执行以下命令,对 “/dev

2022-03-29 00:34:32 1072

原创 使用 Kustomize 配置 Kubernetes 应用

文章目录使用 Kustomize 配置 Kubernetes 应用基础模板定制定义环境变量修改副本数量通过命令行定义 secret修改镜像总结参考文档使用 Kustomize 配置 Kubernetes 应用如果你经常使用 Kubernetes,那么你肯定就有定制资源清单文件的需求,但是貌似现在大家都比较喜欢使用 Helm,Helm 很好用,但也有很多缺点,比如需要一个 tiller 服务端,需要超高的权限,最重要的是如果你要想自己做一个 Helm Chart 包的话,则不是那么容易的,需要你了解一些

2022-03-29 00:33:45 194

原创 mysqldump脚本

#!/bin/bash#保存备份个数,备份31天数据number=31#备份保存路径backup_dir=/root/mysqlbackup#日期dd=`date +%Y-%m-%d-%H-%M-%S`#备份工具tool=mysqldump#用户名username=root#密码password=TankB214#将要备份的数据库database_name=edoctor#如果文件夹不存在则创建if [ ! -d $backup_dir ]; then

2022-03-28 21:57:01 268

原创 deploy部署脚本

2022-03-28 21:56:36 398

原创 拆分数据的sql

- 转移2月份的数据create table dm_overview_copy_20220308 like dm_overview;INSERT INTO `dm_overview_copy_20220308` (`id`, `evtDate`, `evtHour`, `evtTime`, `airCompany`, `flight`, `psgCnt`, `tailNo`, `flightNo`, `flightStatus`, `flightSlot`, `flightDur`, `psgCo

2022-03-28 21:55:54 401

原创 find命令清理日志

find命令清理日志```bash#删除16天之前的日志find /var/lib/docker/overlay2/ -type f -mtime +16 -exec rm -rf {} \;或者find /var/lib/docker/overlay2/ -type f -mtime +16 |xargs rm -rf find /root -name "song*" | xargs rm -rvf #删除管道里的内容find /root -name "song*" | x

2022-03-28 21:55:21 905

原创 systemd管理openresty

cat > /usr/lib/systemd/system/openresty.service <<EOF[Unit]Description=The OpenResty Application PlatformAfter=syslog.target network-online.target remote-fs.target nss-lookup.targetWants=network-online.target[Service]Type=forkingPIDFile=/u

2022-03-28 21:55:01 264

原创 Prometheus Operator部署

文章目录一、Prometheus Operator的部署1、安装配置2、介绍1)Prometheus2)Alertmanager3)ThanosRuler4)ServiceMonitor5)PodMonitor6)Probe7)PrometheusRule8)AlertmanagerConfig3、安装4、配置二、自定义监控报警etcd 监控配置 PrometheusRule配置报警三、高级配置自动发现配置数据持久化一、Prometheus Operator的部署1、安装配置前面的章节中我们学习了用自

2022-03-28 21:54:04 984

原创 Alertmanager报警策略

文章目录Alertmanager安装报警规则WebHook 接收器自定义模板记录规则Alertmanager前面我们学习 Prometheus 的时候了解到 Prometheus 包含一个报警模块,就是我们的 AlertManager,Alertmanager 主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,而且很容易做到告警信息进行去重,降噪,分组等,是一款前卫的告警通知系统。通过在 Prometheus 中定义告警规则,Prometheus会周期性的对告警规则进行计算

2022-03-28 21:53:00 649

原创 删除ns显示Terminating 状态的解决办法

k8s 解决运行kubectl api-resources报错“the server is currently unable to handle the request”故障现象:查看发现有一个false的服务把这个服务删除即可删除一个 namespace 卡住了,始终处于 Terminating 状态,网上说的将 finalizers 中的数据删除没有成功可以使用下面的命令来强制删除:(不建议使用)NAMESPACE=your-rogue-namespacekubectl proxy

2022-03-28 21:41:09 797

原创 java微服务的dockerfile

FROM openjdk:8-jdk-alpineRUN echo http://mirrors.ustc.edu.cn/alpine/v3.9/main > /etc/apk/repositories \ && echo http://mirrors.ustc.edu.cn/alpine/v3.9/community >> /etc/apk/repositories \ && apk update \ && a.

2022-03-28 21:40:46 583

原创 Centos7安装jq

Centos7安装jqjq可以给shell提供json解析功能,但托管在epel仓库yum -y install epel-releaseyum clean allyum makecacheyum -y install jq若安装过程遇到如下问题:yum Cannot retrieve metalink for repository: epel/x86_64解决办法:既然不能用https的仓库,那就直接使用http吧,epel也正好支持http+https两种方式,然后清理,重新安装:

2022-03-28 21:40:16 630

原创 secret的知识

Secret我们说ConfigMap这个资源对象是Kubernetes当中非常重要的一个对象,一般情况下ConfigMap是用来存储一些非安全的配置信息,如果涉及到一些安全相关的数据的话用ConfigMap就非常不妥了,因为ConfigMap是名为存储的,我们说这个时候我们就需要用到另外一个资源对象了:Secret,Secret用来保存敏感信息,例如密码、OAuth 令牌和 ssh key等等,将这些信息放在Secret中比放在Pod的定义中或者docker镜像中来说更加安全和灵活。Secret有三种类

2022-03-26 23:42:04 1145

原创 PromQL

文章目录一、PromQL1、时间序列2、指标类型1)Counter (计数)2) Gauge (仪表)3)Histogram 和 Summary3、查询查询结构`正则匹配`范围选择器关联查询瞬时向量和标量结合一、PromQLPrometheus 通过指标名称(metrics name)以及对应的一组标签(label)唯一定义一条时间序列。指标名称反映了监控样本的基本标识,而 label 则在这个基本特征上为采集到的数据提供了多种特征维度。用户可以基于这些特征维度过滤、聚合、统计从而产生新的计算后的一条时

2022-03-25 20:12:57 131

原创 Grafana的应用

文章目录Grafana1、安装2、插件base64 解码3、导入 Dashboard4、自定义图表Grafana前面我们使用 Prometheus 采集了 Kubernetes 集群中的一些监控数据指标,我们也尝试使用 promQL 语句查询出了一些数据,并且在 Prometheus 的 Dashboard 中进行了展示,但是明显可以感觉到 Prometheus 的图表功能相对较弱,所以一般情况下我们会一个第三方的工具来展示这些数据,今天我们要和大家使用到的就是 https://grafana.com/

2022-03-24 23:12:36 241

原创 prometheus监控K8S组件

文章目录Prometheus一、简介1、安装二、应用监控2、普通应用(coredns)3、使用 exporter 监控4、集群节点5、监控集群节点6、服务自动发现7、容器监控8、监控 apiserver9、监控 Pod10、kube-state-metrics与 metric-server 的对比安装使用Prometheus我们知道监控是保证系统运行必不可少的功能,特别是对于 Kubernetes 这种比较庞大的系统来说,监控报警更是不可或缺,我们需要时刻了解系统的各种运行指标,也需要时刻了解我们的 P

2022-03-24 22:07:20 774

原创 ingress nginx

一、 ingress nginx1、两个核心概念:# ingress:kubernetes中的一个对象,作用是`定义请求如何转发到service的规则`# ingress controller:`具体实现反向代理及负载均衡的程序`,对ingress定义的规则进行解析,根据配置的规则来实现请求转发,实现方式有很多,比如Nginx, Contour, Haproxy等等2、Ingress(以Nginx为例)的工作原理如下:1. 用户编写Ingress规则,`说明哪个域名对应kubernete

2022-03-17 22:13:16 4433

原创 Kubernetes 亲和性调度、污点、容忍

文章目录一、Kubernetes 亲和性调度nodeSelector亲和性和反亲和性调度nodeAffinitypodAffinitypodAntiAffinity二、污点(taints)与容忍(tolerations)一、Kubernetes 亲和性调度一般情况下我们部署的 Pod 是通过集群的自动调度策略来选择节点的,默认情况下调度器考虑的是资源足够,并且负载尽量平均,但是有的时候我们需要能够更加细粒度的去控制 Pod 的调度,比如我们内部的一些服务 gitlab 之类的也是跑在Kubernetes

2022-03-17 22:12:56 299

原创 污点、容忍

2022-03-17 22:12:30 178

原创 集群调度、亲和性

一、集群调度二、节点亲和性(pod与node的亲和性)定向调度,指的是利用在pod上声明nodeName或者nodeSelector,以此将Pod调度到期望的node节点上。注意,这里的调度是强制的,这就意味着即使要调度的目标Node不存在,也会向上面进行调度,只不过pod运行失败而已。NodeName​ NodeName用于强制约束将Pod调度到指定的Name的Node节点上。这种方式,其实是直接跳过Scheduler的调度逻辑,直接将Pod调度到指定名称的节点。NodeSelecto

2022-03-17 22:10:58 548

原创 指定调度节点

2022-03-17 22:03:53 332

原创 ingress的认识

文章目录为什么要使用 Ingress?简单 HTTP server简单的 Kubernetes 示例使用 ClusterIP 服务使用 LoadBalancer 服务手动配置 Nginx 代理服务使用 Kubernetes Ingress安装 Ingress 控制器Ingress 配置示例配置 Ingress Nginx查看 ingress-nginx 日志使用 Curl 测试重定向规则SSL/HTTPS总结1.部署ingress访问nginx(使用一个域名)为什么要使用 Ingress?我们可以使用

2022-03-17 19:33:48 359

原创 内部服务发现:kubedns

文章目录一、内部服务发现1、apiserver2、环境变量二、KubeDNS1、kubedns 介绍2、对 Pod 的影响3、域名格式4、测试一、内部服务发现前面Service 的用法,我们可以通过 Service 生成的 ClusterIP(VIP)来访问 Pod 提供的服务,但是在使用的时候还有一个问题:我们怎么知道某个应用的 VIP 呢?比如我们有两个应用,一个是 api 应用,一个是 db 应用,两个应用都是通过 Deployment 进行管理的,并且都通过 Service 暴露出了端口提供服务

2022-03-16 17:13:19 96

原创 StorageClass

文章目录一、StorageClass1、创建注意2、新建3、测试一、StorageClass前面我们学习了PV 和 PVC的使用方法,但是前面的 PV 都是静态的,什么意思?就是我要使用的一个 PVC 的话就必须手动去创建一个 PV,我们也说过这种方式在很大程度上并不能满足我们的需求,比如我们有一个应用需要对存储的并发度要求比较高,而另外一个应用对读写速度又要求比较高,特别是对于 StatefulSet 类型的应用简单的来使用静态的 PV 就很不合适了,这种情况下我们就需要用到动态 PV,也就是我们今天

2022-03-16 00:46:44 190

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除