自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

process的博客

kubernetes

  • 博客(63)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 saltstack安装

1. 安装1.安装步骤 找到对应的源加入salt的源[root@10-8-58-159 ~]# yum install -y https://repo.saltstack.com/py3/redhat/salt-py3-repo-3001-1.el8.noarch.rpmLast metadata expiration check: 0:00:43 ago on Mon 28&

2022-02-28 22:01:01 654

原创 DCGM Exporter

写在前面:健康检查:https://docs.nvidia.com/datacenter/dcgm/dcgm-user-guide/feature-overview.html#background-health-checks其实我想找到能够检测gpu error 不能使用的metrics,但是没有找到,呜呜呜呜呜。寻求解决方案,欢迎留言一、背景因为gpu集群越来越大,为及时发现故障需要设置gpu物理告警。二、相关方法论1、dcgm-exporter是能够拿到gpu的使用量、温度、一些ecc错误数的指标。但是

2022-02-16 21:59:47 2139

原创 创建BPF映射方式

 ???? BPF映射如何创建程序员经常向程序传递消息引起程序行为被调用。bpf 最神奇的功能就是内核中运行的代码,和加载这些代码的程序可以通过消息传递方式实现实时通信。BPF 映射是键值保存在内核中,可以被 BPF 程序访问。用户空间的程序也可以通过文件描述符访问 bpf 映射。bpf 映射中可以保存事先指定的大小任何类型数据。内核将键值作为二进制块,内核并不关系 bpf 映射的具体内容,由验证器来保证安全。创建 BPF 映射创建 BPF 映射最直接的方法是使用 bpf 系统调用,第一个参数设置

2022-02-09 00:07:16 584

原创 BPF验证器

 ???? hello everyone !!!BPF能够允许任何人在linux内核中执行任意代码,那么安全性怎么保证呢?CVE-2017-16995 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16995Dave S.Miller 的话说:“eBPF验证器是eBPF程序与毁灭的深渊之间的分水岭。”BPF程序曾经出现过一些漏洞,例如允许攻击者甚至在非特权模式下访问内核的随机内存。为了阻止诸如此类的问题发生,验证器的第一项检查就是对

2022-01-17 22:51:06 1730

原创 kubernetes审计

写在前面:用到的一些参考链接官方介绍:https://github.com/kubernetes/website/blob/release-1.12/content/zh/docs/tasks/debug-application-cluster/audit.md阿里云介绍:https://help.aliyun.com/document_detail/91406.html腾讯云介绍:https://cloud.tencent.com/document/product/457/50510ucloud配置

2022-01-12 23:21:45 602

原创 BPF程序类型

 ???? hello everyone !!!BPF没有明确的分类,可以将其分为两类:跟踪提供系统行为及系统硬件的直接信息。也可以访问特定程序的内存区域,从运行进程中提取执行跟踪信息,还可以访问进程分配的特定资源,文件描述符、cpu、内存。网络检测和控制系统的网络流量。可以对网络接口数据包进行过滤,甚至可以完全拒绝数据包。BPF程序可以附加到网络驱动程序接收数据包的网络事件中,也可以附加到数据包传递给用户空间的网络事件。man bpf 获得更多知识:BPF(2)  &nbsp

2022-01-05 00:19:48 513

原创 kubelet自签证书

观察到kubelet的服务端证书过期了,但是集群还是正常的,就想看下kubelet的服务端证书时干什么用的。 所在的位置:[root@zyx-dev-k8s-node-cpu-220-0122 pki]# ls -la /var/lib/kubelet/pki/total 12drwxr-xr-x 2 root root 124 Apr 1 2020 .drw

2021-12-30 22:29:47 3815

翻译 BPF程序

bpf程序能够在一些内核事件触发时运行。bpf程序需要被bpf虚机机进行加载,加载的时候需要知道具体的程序类型。1. hello word!一般常见使用C语言子集编写BPF程序,使用LLVM编译器进行编译。LLVM能够编译出加载到内核中执行的汇编代码。bpf程序编译后,内核通过bpf系统调用将程序字节码加载到bpf虚拟机中。#include <linux/bpf.h>#define SEC(NAME) __attribute__((section(NAME), used))s

2021-12-27 23:31:12 682

原创 kubelet参数解释about kubelet gc image and evict pod.

???? something about kubelet gc image and evict pod.1. imagefs删除镜像的规则1.1 官网介绍1.1.1 参数介绍imageMinimumGCAgemeta/v1.Duration imageMinimumGCAge is the minimum age for an unused image before it is garbage collected. Dynamic Kubelet Config (beta): If dynam

2021-11-12 11:01:37 1650

原创 Kubernets中的IPVLAN如何使用???

2. ipvlanmacvlan是有一些局限性的,ipvlan也能够解决macvlan的一些限制。macvlan和ipvlan虚拟网络模型提供的功能看起来差不多。macvlan存在一些先天不足:无法支持大量的mac地址无法工作在无线网络环境中2.1 ipvlan介绍ipvlan也是从一个主机的接口虚拟出多个网络接口。区别在于ipvlan的所有虚拟接口都是用相同的mac地址,而ip地址却各不相同。因为共享mac地址,所以DHCP的场景一般会使用mac地址作为机器的标识。在macvlan的场景下

2021-10-07 22:19:16 473

原创 更新yum服务器的方式

更新yum服务器文件登录yum主机将所需要的文件传至此主机。[root@fileserver zhf]# scp -r root@101.36.113.51:/root/1.22.2/*1.22.2* .The authenticity of host '101.36.113.51 (101.36.113.51)' can't be established.ECDSA key fingerprint is SHA256:21IB7b819QmfdMsyxXKOR/oXITuAZ23iVigHr

2021-09-28 12:30:47 819

转载 NUMA知识扫盲

NUMA相关numa:参考: https://www.cnblogs.com/machangwei-8/p/10402644.htmlhttps://www.thegeekdiary.com/centos-rhel-how-to-find-if-numa-configuration-is-enabled-or-disabled/、架构演进SMP 到 NUMA所谓对称多处理器结构,是指服务器中多个CPU对称工作,无主次或从属关系。各CPU共享相同的物理内存,每个 CPU访问内存中的任何地址所

2021-08-16 16:31:52 1621

原创 kubernetes endpoint 代码阅读

“ 想了解service和pod之间的关系”kubernetes的服务可用性通过endpoint来控制,直接决定是否能够将流量打入到后端服务中。01—endpoint controller首先看一些常量参数:maxRetries: 服务在退出队列之前的重试次数。会因为限速控制器,重试间隔越来越长。maxCapacity: 存储在endpoint资源中的最大地址数,在未来的版本中可能会超过此长度的控制。const ( // maxRetries is the number of times a

2021-07-01 18:41:32 429

原创 Kubernetes scheduler代码解读

scheduler 调度器代码解读调度器程序入口:通过app.NewSchedulerCommand使用cobra执行命令运行scheduler。

2021-05-07 19:49:37 491 1

原创 kubernetes velero 使用奇技淫巧

你是否在运维kubernetes集群中有过这样的经历:一个新人把某个namespace点击删除,导致这下面所有的资源全部丢失,只能一步一步的重新部署。新搭建集群,为了保证环境尽可能一致,只能从老集群拿出来yaml文件在新集群中疯狂apply。令人抓狂的瞬间随之而来的就是浪费大好青春的搬砖时光。现在已经开源了很多集群资源对象备份的工具,把这些工具利用起来让你的工作事半功倍,不在苦逼加班。集群备份比较etcd备份etcd备份可以实现K8S集群的备份,但是这种备份一般是全局的,可以恢复到集群某一时刻

2021-03-07 16:33:33 2936

原创 keda--kubernetes实现扩缩容的利器

第1章 kubernetes原生的扩缩容介绍引用链接:https://mp.weixin.qq.com/s/mRwvZBVfWPYvE7hERbGMTAhttps://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/https://github.com/kubernetes-sigs/custom-metrics-apiserverhttps://kubernetes.io/zh/docs/tasks/run-ap

2021-02-23 00:07:57 789

原创 容器平台自愈简介,kubernetes集群巡检 remedy controller

容器平台自愈简介公有云现状摘自:https://mp.weixin.qq.com/s/CLoALO6r9bb3cE7CLTvZUQ各类硬件和软件故障已成为常态,直接导致 Kubernetes 集群工作节点时常处于一种不稳定的状态,人肉运维不仅效率低下,误操作及 24 小时 OnCall 也是巨大的挑战,因此容器服务通过托管节点池为用户提供了一个自愈的免运维的云上 Kubernetes 集群服务。本文将重点介绍如何通过托管节点池实现 Kubernetes 节点自愈能力。阿里云公有云提供了.

2021-02-21 18:52:49 1148

原创 node_lifecycle_controller

个人理解,欢迎指正节点控制器的工作原理版本: rancher/kubernetes v1.17.5代码部分:nodeliefcyclenode_lifecycle_controller.gofunc init() { // Register prometheus metrics Register()}metrics.go// Register the metrics that are to be monitored.func Register() { registerMet.

2021-01-30 16:40:22 767 1

原创 ebpf的大杀器cilium可视化追踪hubble部署方式和展示

12月-hubble and check写在前面: hubble的yaml文件: cilium 1.7版本 https://github.com/cilium/hubble/tree/v0.5/tutorials/deploy-hubble-servicemap 测试的yaml文件: https://github.com/cilium/cilium/blob/master/examples/kubernetes/connectivity-check/connectivity-check.yamlcili

2020-12-28 21:02:09 2278

原创 节点网络BGP链接探测Bird-Exporter

Bird-Exporter可根据指标进行判断bgp连接是否正常bird_protocol_up{export_filter=”(unnamed)”,import_filter=”(unnamed)”,ip_version=”4”,name=”uplink0”,proto=”BGP”} 0当bgp建立连接失败# HELP bird_protocol_up Protocol is up# TYPE bird_protocol_up gaugebird_protocol_up{export_filt

2020-12-28 15:39:31 392

原创 华为鲲鹏服务器国产统信系统ARM64架构的kubernetes上的flannel网络排查

记一次醉生梦死的容器网络排查情况rkeflannel首先,在适配 统信系统 的鲲鹏服务器的时候遇到了网络的问题。从canal到calico再到flannel挨个玩了一遍,最终在iptables层解决掉得。rke先介绍一下rke:RKE是一款经过CNCF认证的开源Kubernetes发行版,可以在Docker容器内运行。它通过删除大部分主机依赖项,并为部署、升级和回滚提供一个稳定的路径,从而解决了Kubernetes最常见的安装复杂性问题。当我清理集群的时候rke remove命令会删除clus

2020-11-30 22:43:41 1370 2

原创 docker学习--2019年4月10日

2019-04-10 11:16:51 139

原创 验证扩容

--------------------------------------------------------------------------------------------------洛阳核心域进行主机的查看,主机类型的转化,成为共享类型,添加主机标签。 创建存储卷进行读写,注意所属集群 创建服务,注意创建的位置,然后选择创建镜像服务。 创建服务的过程中,选择主机亲和,pod...

2019-04-08 17:33:48 276

翻译 狼叔来找翻译人员了--plato--持续翻译中.....

This project was bootstrapped with Create React App.Below you will find some information on how to perform common tasks.You can find the most recent version of this guide here.Table of ContentsUp...

2019-01-14 08:58:29 995

转载 egg测试的知识大全--mock、superTest、coffee

EGG框架测试初始化const mock = require('egg-mock');describe('test/index.test.js', () =&gt; { let app; before(() =&gt; { app = mock.app({ // 转换成 test/fixtures/apps/example baseDir: 'apps...

2019-01-01 13:57:39 3304 4

转载 日志简介和构建web应用

Logger 日志规范请求响应日志:需要记录的参数:请求方法,请求路由,请求参数。作为一个api端需要的token或者其他authorization信息,响应时间,响应状态(http status)。记录日志的格式自定义解决方法:请求响应日志 目前我们更多是在前面的 Nginx 那层去记录,这块要自己定制一个并不难,ctx.logger 那块应该可以覆盖掉默认的 format 的。...

2019-01-01 13:56:28 345

转载 d.ts---更详细的知识还是需要看官网的介绍(声明文件章节)

d.ts是啥东西js文件缺少了类型,ts那么多的类型数据就都没了,所以需要一个d.ts文件来标记某个js库里面的对象的类型。typings就是网络上的d.ts数据库。简单来说,就是描述库中成员类型来给TS用的。好处:代码安全,编辑器能够智能提醒还会定义很多export的数据类型,和interface供外部模块调用。很显然就是数据规范。声明文件使用第三方库的时候,需要引用它的声明文件...

2019-01-01 13:53:30 1332

转载 node中的redis使用--ioredis

nodejs 链接 redis/mysql 连接池redis是单线程作业,所以不管查询任务是由一个链接发来的还是多个链接发来的,redis是串行的执行。并通过当前的链接返回客户端。nodejs接受redis的返回后,不管是不是并行,都要等主线程空闲下来才能一个个处理服务器返回的数据。再看mysql~mysql不是单线程服务的,可以并行处理多个查询请求。mysql会为每一个链接创建一个单独的...

2019-01-01 13:51:48 13631

转载 Redis的基本知识

Redis绪REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。远端字典服务器Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。BSD协议:BSD 代码鼓励代码共享,但需要尊重代码作者的著...

2019-01-01 13:50:58 211

原创 egg的static的前缀是可以修改惹,靴靴

废话少说,直接上代码:(我是通过这篇文章来骗访问量的,哈哈哈哈哈哈哈哈嗝),谢谢大家惹~'use strict';const path = require('path');module.exports = appInfo =&gt; { const exports = {}; /** * Static file serve * * @member Config#...

2018-12-26 11:41:41 2110

转载 npm升级后问题,慌得一批

大佬原文:点这里npm ERR! code EINTEGRITY 解决方案 天魂_TH 关注2017.08.31 17:38* 字数 170 阅读 11625评论 3喜欢 1npm升级后,npm install 报错了,这就尴尬了。Google了一下在这里(https://github.com/npm/npm/issues/16861)找到了解决方案:里面各种解决方案,让Try...

2018-11-28 17:53:04 998

转载 通过源码解析 Node.js 中 cluster 模块的主要功能实现

https://cnodejs.org/topic/56e84480833b7c8a0492e20c

2018-11-26 11:22:50 149

原创 TSlint注释忽略错误和RESTful理解

restful推荐去看大神的博客tslint注释标记ts文件中使用以下注释来临时忽略规则出现的错误,参考这里/ tslint:disable /——忽略该行以下所有代码出现的错误提示/ tslint:enable /——当前ts文件重新启用tslint// tslint:disable-line——忽略当前行代码出现的错误提示// tslint:disable-next-line——...

2018-11-22 22:29:29 14792

原创 史上最强egg框架的error处理机制

最强搬运工异常处理框架文章阅读得益于框架支持的异步编程模型,错误完全可以用 try catch 来捕获。在编写应用代码时,所有地方都可以直接用 try catch 来捕获异常。按照正常代码写法,所有的异常都可以用这个方式进行捕获并处理,但是一定要注意一些特殊的写法可能带来的问题。打一个不太正式的比方,我们的代码全部都在一个异步调用链上,所有的异步操作都通过 await 串接起来了,但是只要...

2018-11-22 22:26:01 15688 9

原创 egg中的多进程模型--egg文档搬运工

egg中的多进程模型2018年11月19日多进程间的模型2018年11月19日多进程间的模型Master:在这个模型下,Master 进程承担了进程管理的工作(类似 pm2),不运行任何业务代码,我们只需要运行起一个 Master 进程它就会帮我们搞定所有的 Worker、Agent 进程的初始化以及重启等工作了。Master 进程的稳定性是极高的,线上运行时我们只需要通过 egg-sc...

2018-11-22 22:24:35 2471

原创 varnish入门

我是官方文档的搬运工,谢谢官方文档在这里简介Varnish是一个缓存HTTP反向代理。它接收来自客户端的请求并尝试从缓存中回答它们。如果Varnish无法应答来自缓存的请求,它会将请求转发给后端,获取响应,将其存储在缓存中并将其传递给客户端。当Varnish准备好缓存响应时,它通常在几微秒内交付,比典型的后端服务器快两个数量级,因此您需要确保Varnish直接从缓存中尽可能多地回复请求...

2018-11-19 20:30:56 305

原创 egg中的cors和proxy(づ ̄3 ̄)づ╭❤~踩坑填坑的过程~ToT~

直接给我留言就好了

2018-11-15 17:56:28 951 1

转载 react的最新生命周期

文章借鉴地址:这篇文章缘由react打算在17版本退出Async/Rendering,提出一种可能被打断的声明周期,而可以被打断的阶段正是实际dom挂载之前的虚拟dom构建阶段,也就是要被去掉的三个生命周期。旧的:componentWillMount,componentWillReceiveProps,componentWillUpdate新的:static getDeri...

2018-11-13 16:47:12 3315

原创 点击添加按钮--出现一个框框(类似于添加学习经历-本科-研究生)

import React, { Component } from "react";class Inner extends Component { defaultValue = { taskDescription: "", vehicleClean: "" }; constructor() { super(); this.state = [ ...

2018-11-13 15:09:43 819

转载 跨域CORS的情缘~

文章主要内容来自这篇文章cors:完成资源的跨域访问 。相同的协议,主机地址以及端口号才能够进行访问。业界中提出了一些解决该问题的方法:domian属性,跨文档消息,JSONP,以及CORS等~方案各有长处,根据不同的需求来对方案选择。domain直接快速的方法,较为常见。不同域中得到脚本的domain属性设置为同一值,就能使这些脚本进行交互。document.dom...

2018-11-12 19:48:24 155

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

TA关注的人

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