runstrider
码龄13年
关注
提问 私信
  • 博客:44,376
    44,376
    总访问量
  • 26
    原创
  • 1,022,526
    排名
  • 1
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2011-06-19
博客简介:

wasd12121212的博客

查看详细资料
个人成就
  • 获得8次点赞
  • 内容获得3次评论
  • 获得17次收藏
创作历程
  • 5篇
    2019年
  • 33篇
    2018年
成就勋章
TA的专栏
  • k8s
    34篇
  • golang
    12篇
  • linux系统
    1篇
  • 网络
  • 问题汇总
  • 人生
  • java
  • git
  • 金融
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

cgroup相关

subsystem 一个subsystem就是一个内核模块,他被关联到一颗cgroup树之后,就会在树的每个节点(进程组)上做具体的操作。subsystem经常被称作"resource controller",因为它主要被用来调度或者限制每个进程组的资源,但是这个说法不完全准确,因为有时我们将进程分组只是为了做一些监控,观察一下他们的状态,比如perf_event subsystem。到目前为...
转载
发布博客 2019.01.04 ·
522 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

k8s oom

这段代码就是讲的如何计算每个容器的oom score的。首先看这个容器所属的Pod是属于什么级别的,如果是Guaranteed级别的直接返回-998也是最高级最后被Kill掉的,如果是BestEffort级别则直接返回1000是最低级别的,最有可能被杀掉。如果是Burstable则是中间级别需要按照资源的申请量来计算oom score。oomScoreAdjust := 1000 - (1...
转载
发布博客 2018.12.19 ·
1119 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

k8s HorizontalPodAutoscaler

k8s scale其实就是调用apiserver提供的api接口,然后更新replicationcontroller,然后由rc controler进行控制pod的数量。 HorizontalPodAutoscaler:客户端;    通过kubectl创建一个horizontalPodAutoscaler对象,并存储到etcd中服务端:    api server:负责接...
原创
发布博客 2018.09.19 ·
2094 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

普罗米修斯监控系统部署方式

发布资源 2019.05.05 ·
odt

linux父子进程

(1)父进程先退出 当父进程退出,子进程必须找到父进程才能释放掉子进程占用的进程信息,如果父进程先退出,则子进程首先从当前线程组里寻找适合做父进程的进程,不然就让init 1作为父进程。(2)子进程先退出 子进程先退出,需要父进程进行“收尸”,收尸就是父进程调用wait函数,(或者父进程想内核传递不进行收尸信号)。避免生成僵尸进程。...
原创
发布博客 2019.05.05 ·
1404 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

ISTIO中包含有四种流量管理配置资源

Istio 中包含有四种流量管理配置资源,分别是 VirtualService、DestinationRule、ServiceEntry、以及 Gateway。下面会讲一下这几个资源的一些重点。在网络参考中可以获得更多这方面的信息。 在请求被 VirtualService 路由之后,DestinationRule 配置的一系列策略就生效了。这些策略由服务属主编写,包含断路器、负载均衡以及 ...
转载
发布博客 2019.01.30 ·
1354 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

kubernets eviction策略

pod eviction当资源使用情况触发了驱逐条件时,kubelet会启动一个任务去轮流停止运行中的pod,直到资源使用状况恢复到阈值以下。以硬驱逐为例,整体流程是:每隔一段时间从cadvisor中获取资源使用情况,发现触发了阈值; 从运行中的pod里找到QoS策略最开放的一个,比如策略为bestEffort的一个pod(即便这个pod没有吃多少内存,大部分内存是另一个策略为burst...
转载
发布博客 2019.01.15 ·
396 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

statefulset创建

所有Pod的Volume必须使用PersistentVolume或者是管理员事先创建好 为了保证数据安全,删除StatefulSet时不会删除VolumeStatefulSet是为了解决有状态服务的问题(对应Deployments和ReplicaSets是为无状态服务而设计),其应用场景包括稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据,基于PVC来实现 稳定的网络标志...
转载
发布博客 2019.01.14 ·
569 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

kubernetes dns功能

创建dns记录的必要条件,创建出endpoint,无endpoint无dns记录SVC创建dns记录(1)正常的service创建的dns a记录,通过my-svc.my-namespace.svc.cluster.local与clusterip映射(2)headless service创建dns a记录,通过service的域名(如上),返回的是pod与pod domain对应的dn...
原创
发布博客 2018.12.13 ·
218 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

kubernetes service

headless service:使用场景:(1)statefulset中进行pod的网络功能域名的,如创建的pod的名字为web-0,web-1那网络一致性其对应的dns存储就是以web-0,web-1打头(2)进行跨namespace的访问服务(service),只有headless中的pod设置spec.hostname字段的pod才会在dns中单独记录pod的dns值(3)...
原创
发布博客 2018.12.13 ·
235 阅读 ·
0 点赞 ·
3 评论 ·
0 收藏

golang引号

Golang的双引号和反引号都可用于表示一个常量字符串,不同在于: 双引号用来创建可解析的字符串字面量(支持转义,但不能用来引用多行) 反引号用来创建原生的字符串字面量,这些字符串可能由多行组成(不支持任何转义序列),原生的字符串字面量多用于书写多行消息、HTML以及正则表达式 而单引号则用于表示Golang的一个特殊类型:rune,类似其他语言的byte但又不完全一样,是指:...
转载
发布博客 2018.11.27 ·
167 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

kubernetes中跨namespace访问服务

问题的场景: kubernetes中的namespace=A中的Pod需要访问namespace=B中的Pod所提供service=service_B解决办法: 在namespace_A中创建一个service_c, service_c里面不指定selector, 采用type=ExternalName的方式,externalName定义成为指向namespace=B中的service_B...
转载
发布博客 2018.11.24 ·
1611 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

k8s APIservice

他是通过创建kind:APIservice来创建的;APIserver通过创建APIservice controller来进行监控创建APIservice资源,然后通过注册path转到proxy,proxy通过获取APIservice指定的server,获取其对应endpoint,获取到相应的host。通过将请求发送到对应pod获得返回结果,然后将结果copy到请求的返回结果,完成功能。...
原创
发布博客 2018.11.23 ·
2368 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

kubelete对pod中容器的探测分为liveness,失败则重启容器;readiness失败则不作为service的后端pod进行服务,等待;

本文将向展示如何配置容器的存活和可读性探针。Kubelet使用liveness probe(存活探针)来确定何时重启容器。例如,当应用程序处于运行状态但无法做进一步操作,liveness探针将捕获到deadlock,重启处于该状态下的容器,使应用程序在存在bug的情况下依然能够继续运行下去(谁的程序还没几个bug呢)。Kubelet使用readiness probe(就绪探针)来确定容器是...
原创
发布博客 2018.11.21 ·
1377 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

通过nsenter进入容器命令

$ sudo docker inspect -f {{.State.Pid}} 44fc0f0582d9在拿到该进程PID之后我们就可以使用nsenter命令访问该容器了。$ sudo nsenter --target 3326 --mount --uts --ipc --net --pid如果想用tcpdump,一般docker没有bash所以:由于DNS容器往往不具备ba...
原创
发布博客 2018.11.20 ·
1692 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

k8s volumn与配置管理

1pod定义详解下面是一个完整的yaml格式定义的文件,注意格式,子集包含关系,不要有tab,要用空格。不是所有的元素都要写,按照实际应用场景配置即可。apiVersion: v1 //版本kind: pod //类型,podmetadata: //元数据 name: String ...
转载
发布博客 2018.10.18 ·
527 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Docker数据卷 转载自简书

Docker数据卷 岦_ 关注2015.11.11 17:52* 字数 385 阅读 5322评论 2喜欢 5Docker数据管理和网络基础默认情况下,当用户退出容器而容器中又没有非守护进程在运行时,容器会进入关闭状态,同时,数据的修改会保留在层级的可写文件系统内。当用户需要重新开启一个容器时,是无法访问原来所做的修改的,而是恢复到镜像的初始化状态。为了解决数据持久化的问题,Doc...
转载
发布博客 2018.10.17 ·
121 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

docker privileged

privileged参数$ docker help run ...--privileged=false         Give extended privileges to this container...大约在0.6版,privileged被引入docker。使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普...
转载
发布博客 2018.10.17 ·
5909 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

k8s认证

RBAC可以设置subject:user,group和serviceaccount.user不是k8s管理的,可以通过具体的服务进行管理。对应k8s中就是secret。serviceaccount是通过k8s管理的。就是每个pod访问api server的权限。 api启动参数分为--client的各种crt,key kubelete各种证书,tls(api srever自己用于客...
原创
发布博客 2018.10.17 ·
954 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

k8sproxy原理

pod 访问service服务这里涉及到k8s里面一个重要的概念service。它是一个服务的抽象,通过label(k8s会根据service和pod直接的关系创建endpoint,可以通过kubectl get ep查看)关联到后端的pod容器。Service分配的ip叫cluster ip是一个虚拟ip(相对固定,除非删除service),这个ip只能在k8s集群内部使用,如果serv...
转载
发布博客 2018.10.16 ·
816 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多