ZWEI

Time flies.


  • 首页

  • 标签48

  • 分类8

  • 归档113

  • 搜索

理解 K8S 的设计精髓之 List-Watch机制和Informer模块

发表于 2020-06-12 | 更新于 2020-12-28 | 分类于 Kubernetes | 评论数:
本文字数: 5.1k | 阅读时长 ≈ 5 分钟

前言

最近想深入了解一下K8S的内部通信机制,因此读了几遍K8S的源码,感慨很深。至今清楚的记得,当了解到K8S组件之间仅采用HTTP 协议通信,没有依赖中间件时,我非常好奇它是如何做到的。

阅读全文 »

eBPF介绍

发表于 2020-05-28 | 更新于 2020-12-29 | 分类于 Kubernetes | 评论数:
本文字数: 3.4k | 阅读时长 ≈ 3 分钟

eBPF是什么?

BPF(Berkeley Packet Filter) 提供了强大的网络包过滤规则,可以确定应该检查哪些流量、忽略哪些流量等,而内核近几年发展的 Extended BPF, eBPF 实际上将应用范围,处理效率进行了更新。通过一个内核内置的字节码虚拟机,完成数据包过滤、调用栈跟踪、耗时统计、热点分析等等高级功能。

阅读全文 »

etcd重置

发表于 2020-05-18 | 更新于 2020-12-28 | 分类于 Kubernetes | 评论数:
本文字数: 6.4k | 阅读时长 ≈ 6 分钟

获取现有etcd集群状态

1
ETCDCTL_API=3 etcdctl --endpoints=33.41.0.187:3379 -w table endpoint status --cluster #查看集群leader 节点
阅读全文 »

etcd数据库异常

发表于 2020-05-03 | 更新于 2020-08-31 | 分类于 Kubernetes | 评论数:
本文字数: 4.9k | 阅读时长 ≈ 4 分钟

Etcd 维护

Etcd 集群少不了日常维护来保持其可用性。这些运维操作一般都是自动化且期间 Etcd 不会停止对外服务,或者严重影响 Etcd 集群的性能。

所有的运维管理都在操作 Etcd 的存储空间。存储空间的配额用于控制 Etcd 数据空间的大小,如果 Etcd 节点磁盘空间不足了,配额会触发告警,然后 Etcd 系统将进入操作受限的维护模式。为了避免存储空间消耗完导致写不进去,应该定期清理 key 的历史版本。在清理 Etcd 节点存储碎片之后,存储空间会重新进行调整。最后,定期对 Etcd 节点状态做快照备份,以便在错误的运维操作引起数据丢失或数据不一致时进行数据恢复。

阅读全文 »

nginx日志时间输出

发表于 2020-04-26 | 更新于 2020-08-20 | 分类于 Kubernetes | 评论数:
本文字数: 1.5k | 阅读时长 ≈ 1 分钟

nginx 日志打印响应时间 request_time 和 upstream_response_time

设置log_format,添加request_time,$upstream_response_time,位置随意
1
2
3
4
5
log_format  main  '"$request_time" "$upstream_response_time" $remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';
阅读全文 »

k8s节点下线

发表于 2020-04-20 | 更新于 2020-08-20 | 分类于 Kubernetes | 评论数:
本文字数: 370 | 阅读时长 ≈ 1 分钟

下线一般有两种情况,一般是故障或者是迁移。故障节点下线只需要直接摘除下来就可以,因为会从新调度到新的节点。而正常节点迁移则需要先排干节点,即将所有pod在此节点上迁移出去其他节点。

阅读全文 »

Golang sync.Mutex用法(互斥量用法)

发表于 2020-04-18 | 更新于 2020-06-10 | 分类于 Kubernetes | 评论数:
本文字数: 1k | 阅读时长 ≈ 1 分钟

介绍

golang 中的 sync 包实现了两种锁:

  1. Mutex:互斥锁
  2. RWMutex:读写锁,RWMutex 基于 Mutex 实现
阅读全文 »

centos7安装kernel 4.x

发表于 2020-04-15 | 更新于 2021-01-05 | 分类于 Kubernetes | 评论数:
本文字数: 2.7k | 阅读时长 ≈ 2 分钟

Install Linux Kernel 4.4.5 LTS in CentOS 7

I tested this tutorial on CentOS 7 64 bit edition. Although, these steps should work on RHEL 7.

Note: Since this kernel is just released, the latest kernel haven’t pushed into the ELRepo yet. It stills shows the 4.4.4 version. I think the latest kernel will be pushed to the repository in few hours.

To install the latest kernel, add ELRepo repository.

Add ELRepo GPG key:

阅读全文 »

理解Go Context机制

发表于 2020-04-03 | 更新于 2020-06-03 | 分类于 Kubernetes | 评论数:
本文字数: 1.3k | 阅读时长 ≈ 1 分钟

1 什么是Context

最近在公司分析gRPC源码,proto文件生成的代码,接口函数第一个参数统一是ctx context.Context接口,公司不少同事都不了解这样设计的出发点是什么,其实我也不了解其背后的原理。今天趁着妮妲台风妹子正面登陆深圳,全市停工、停课、停业,在家休息找了一些资料研究把玩一把。

阅读全文 »

docker看veth对

发表于 2020-04-01 | 更新于 2020-05-27 | 分类于 Kubernetes | 评论数:
本文字数: 689 | 阅读时长 ≈ 1 分钟

找到网卡对应的方式,在主机上执行如下命令

1
2
3
4
5
6
7
docker exec -it <container-name> bash -c 'cat /sys/class/net/eth0/iflink'

# 假设返回 12
grep -l 12 /sys/class/net/veth*/ifindex
# 此时会有如下类似返回
/sys/class/net/veth11d4238/ifindex
# veth11d4238 即主机上的另一半
阅读全文 »
1234…12

zwei

Believe in yourself.

113 日志
7 分类
45 标签
  • TangLei
Advertising Position
© 2021 zwei | 站点总字数: 429k | 站点阅读时长 ≈ 6:30
|