14 russle

尚未进行身份认证

我要认证

Java开发工程师 **注意事项**:本博客所有代码是为了介绍相关内容而编写或者引用的,示例代码并非可直接用于生产的代码。仅供参看而已。

等级
TA的排名 2k+

kubernetes上节点node.kubernetes.io/disk-pressure:NoSchedule污点导致pod 被驱逐

现象:k8s集群中某台计算节点上pod大量pending,通过describe node发现该node上有Taints: node.kubernetes.io/disk-pressure:NoSchedule 污点。寻找分析:查阅文档提示磁盘不足,因为时间紧张,就快速通过df -h命令查看当前磁盘情况,并在可疑的主要目录执行du -d 1 -h |sort -hr查看文件夹大小并删除一部分无用文件。结果k8s node一直没有恢复,仔细分析才先该机器有两块磁盘,一个根分区, 一

2020-07-25 19:44:36

ip_local_port_range与ip_local_reserved_ports

ip_local_port_rangeThe /proc/sys/net/ipv4/ip_local_port_range defines the local port range that is used by TCP and UDP traffic to choose the local port.它指定了本地发起连接请求时可以获取的随机端口ip_local_reserved_ports它指定了本地预留的服务端监听端口,默认无。参考1,https://www.thegeekdiary.com

2020-07-19 15:04:16

Go interface强制类型转换的小demo

一个简单的go语言interfae强制转换例子,非常初级的强制转换demo。非产品代码,仅供参考。package mainimport ( "fmt" "log")func FilterByType(arr []interface{}, deviceType string, myFunc func( interface{}, string) bool) []interface{} { var result []interface{} if len(arr)==0 { result =

2020-06-06 16:30:58

go解析yaml文件示例

yaml文件已经成为配置的一种主要格式,因此各种语言都提供了相应的解析类库, 本文就以go语言中常用的yaml解析库 gopkg.in/yaml为例,简单展示一下如何解析yaml文件具体代码在这里:具体思路1, 直接将yaml文件内容解析为我们定义好的struct, 这种简单方便,想获取对应值,可以直接获取。2, 将yaml文件解析为map[string] interface{}, 然后根据需要层层解析, 主要优点不需要提前定义yaml文件的struct,可以随时更改yaml文件格式。具体实现a

2020-05-17 13:12:50

go语言中的反射Reflect初探

我们先看看什么是反射,它有什么用。我们先看卡wiki上关于反射的介绍。 链接为https://en.wikipedia.org/wiki/Reflection_(computer_programming)In computer science, reflection is the ability of a process to examine, introspect, and modify i...

2020-05-01 22:16:26

vs code golang代码自动补全

VS Code也是一款非常不错的IDE工具, 在没钱购买GoLand,使用vs code也可以较好进行go开发工作。 本文简单介绍如何在vs code中启用go语言的代码自动补全功能。我的vs code版本信息, 我是在Windows上使用vs code。Version: 1.44.2 (user setup)Commit: ff915844119ce9485abfe8aa9076ec76b...

2020-05-01 12:30:45

pod内访问kubernetes API server

本文接上一篇介绍如何从pod内部访问kubernetes API server。 所有的pod默认都关联上一个serviceAccount,只要该serviceAccount有权限访问你访问的资源对象,就可以直接访问。我们使用default namespace中default serviceAccount, 提前创建了一个role并将default和该role进行roleBinding。前提...

2020-04-05 21:41:12

通过serviceAccount的secret访问kubernetes API Server

本文简单介绍如何通过serviceAccount访问kubernetes API server,不会详细介绍serviceAccount role, roleBinding, clusterRole以及clusterRoleBinding。简单描述。serviceAccount与role通过roleBinding或者clusterRoleBinding关联后就获得访问指定资源的权限,就如同我们应...

2020-04-05 15:34:14

kubectl apply -f kube-flannel.yml

问题及分析按照以往通过kubeadm安装k8s集群配置网络的时候执行kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml直接报错如下图所示:根据错误信息,提示Daem...

2020-03-19 18:00:33

k8s node notReady之kubelet cgroup driver: "cgroupfs" is different from docker

问题worker节点运行正常,因为安装其他软件我就重启了一下,结果发现kubectl get nodes显示node1notReady,这是执行kubectl describe node node1发现node1上的kubelet没有正常运行,我手动执行systemctl start kubelet.service没有报错,但是当我执行systemctl statuskubelet.ser...

2020-03-18 21:54:53

k8s pod 无法运行,错误registry.access.redhat.com/rhel7/pod-infrastructure:latest

之前的k8s环境都是通过kubeadm安装,安装完成后通过kubectl run nginx --image=nginx 验证环境Ok,都正常运行。 今天的k8s采用二进制安装的方式,结果运行kubectl run一致在 ContainerCreating状态,通过kubectl describe pod xxx, 错误如下:问题Events: FirstSeen LastSee...

2020-03-16 20:00:58

k8s节点变为NotReady状态

记录一个小教训。切记: k8s安装完成后不要轻易修改hostname。问题:k8s的master节点变为notReady,另外一个worker节点正常。症状:master上的flannel pod显示为pending状态,但是describe pod没有有用信息,最后运行journalctl -f -u kubelet.service 日志中,发现节点名称的问题, 想起来刚才修改过主机名,...

2020-03-08 21:21:25

MongoDB中有关数据库连接

本文系个人经验以及官方文档总结,并非适用于所有版本的MongoDB或者所有语言的MongoDB驱动。 本人使用MongoDB v3.6.4, Java语言的驱动。启动MongoDB时,限制连接总数启动mongo是在配置文件中,或者在启动参数加上maxConns–maxConns The maximum number of simultaneous connections that mong...

2019-12-15 11:05:34

MongoDB提供的GridFS分布式文件存储系统

简介:什么是GridFSGridFS 是基于MongoDB的分布式文件存储系统。 它是Mongo的一个子模块, 使用GridFS可以基于MongoDB来持久存储文件并且支持分布式应用(文件分布存储和读取)。GridFS不是MongoDB自身特性,只是一种将大型文件存储在MongoDB的文件规范,所有官方支持的驱动均实现了GridFS规范。GridFS制定大文件在数据库中如何处理,通过开发语言...

2019-12-14 21:29:17

OOM之GC Overhead limit exceeded

Java8常见的OOM主要有三种,分别是Exception in thread thread_name: java.lang.OutOfMemoryError: Java heap space、Exception in thread thread_name: java.lang.OutOfMemoryError: GC Overhead limit exceeded 以及Exception in ...

2019-12-08 19:38:20

Kafka消息可靠性配置

Kafka发送消息是异步的,因此如果没有设置异步回调异常处理,很容易导致消息丢失而且系统不知道的情况的。 因此我们在业务有需要的情况下,配置好消息的可靠性参数。主要配置以下参数block.on.buffer.full = trueacks = all or -1retries = Integer.MAX_VALUEmax.in.flight.requests.per.connection...

2019-12-01 10:20:03

Kafka集群扩容

Kafka集群的服务发现是有zk实现的,因此想kafka集群添加新的broker就非常容易。我们只需要为新的broker设置一个唯一的broker.id, 然后启动新增的kafka就行。Kafka集群会自动发现新增的broker并同步原数据,包括当前集群有哪些topics以及topics的分区信息等。但是我们需要的注意的一点,新增的broker不能分担之前已经创建的topic的负载,必须手动执行...

2019-11-30 20:28:35

Nginx 基于TCP的四层负载均衡介

最近有人讨论问题时说:nginx不能实现TCP层load balance, 只能做HTTP websocket这些协议的load balance。虽然没做过SLB,但我印象中nginx是可以做4层 load balance,会后查询的官方文档,也确实如此,顺便记录下来。同时提醒自己:以官方为主,以实践为准,切忌信口雌黄。官方文档地址:https://docs.nginx.com/nginx/...

2019-11-24 13:17:08

强一致性 单调一致性 最终一致性 zookeeper一致性

我们都了解分布式CAP原则,其中的C就是一致性。有关一致性,实践中又可以分为:强一致性、单调一致性、最终一致性。CAP中的C默认就是指:在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)。1、强一致性(Strong Consistency)在任何时刻所有的用户或者进程查询到的都是最近一次成功更新的数据。强一致性是程度最高一致性要求,也是最难实现的...

2019-11-17 10:22:40

MySQL存储引擎myISAM与innoDB区别

MyISAM和 InnoDB.是MySQL中最常用的存储引擎。 这两个引擎各有优劣势,我们需要根据业务需求进行选择。MyISAM 与INNODB的主要差异:1, MyISAM 不支持事务,而 InnoDB支持2, MyISAM 无法实现行级别锁,关系完整性,而 InnoDB可以。 MyISAM是表级别锁.3, InnoDB不支持FULLTEXT索引,而 MyISAM 支持.4, MyI...

2019-11-10 22:12:40

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。