momo's Blog.

momo's Blog.

大佬带带我啊!我很好带的。

kube-proxy 源码分析
从 kube-proxy 看 service 机制代码根据最新版本 release-1.30 kube-proxy 启动流程123456//cmd/kube-proxy/proxy.gofunc main() { command := app.NewProxyCommand() code := cli.Run(command) os.Exit(code)} 此为 kube-proxy 的入口函数,app.NewProxyCommand() 返回一个 cobra.Command 对象,cli.Run(command) 运行这个命令。 123456789//cmd/ku...
ssh补全设置
Bash 自动补全: 在 ~/.bashrc 中添加以下内容:1complete -W "$(grep '^Host ' ~/.ssh/config | awk '{print $2}')" ssh Zsh 自动补全: 在 ~/.zshrc 中添加以下内容:123456compdef _ssh_hosts ssh_ssh_hosts() {local hostshosts=("${(@f)$(<~/.ssh/config awk '/^Host / {print $2}')}")_values 'ho...
排查consul拿不到锁引出常用的nfs参数
前言最近在排查consul拿不到锁的问题.报错信息failed to acquire lock: lock not available 我们consul跑在k8s当中, 数据持久化是用nfs做的,但是最近新部署的consul一直卡在拿锁卡主, 或者直接拿不到锁. 排查思路一直在为什么拿不到锁上。 拿不到锁的原因是:通常没有启动rpc-statd nfs的锁依赖于rpcbind服务,如果rpcbind服务不可用,那么nfs的锁也就不可用。 但是我们宿主机上的rpcbind服务是正常的. 通过执行命令rpcinfo -p可以看到rpcbind服务的进程. 发现缺少一个关键服务nlockmgr...
git 使用format-patch将某个目录指定commit合并到其他分支
前言有时候我们需要将某个目录指定commit合并到其他分支,这时候我们可以使用git format-patch来生成patch文件,然后使用git am来应用patch文件。 找到需要合并的commit123# 指定某个文件或者某个目录git log -- <path># 找到需要合并的commit起始点 生成patch文件1234# 这里的`bc12f43a404406df0e5316ac0dfcf1054f40af62`是需要合并的commit的起始点, 但是不包含这个commitgit format-patch bc12f43a404406df0e5316ac0dfc...
使用cert-manager自动配置证书
安装建议跟着官方文档来 1helm -n cert-manager install cert-manager jetstack/cert-manager --version v1.13.3 --set prometheus.enabled=false 配置配置Issuer12345678910111213141516171819apiVersion: cert-manager.io/v1kind: ClusterIssuermetadata: name: letsencrypt namespace: cert-managerspec: acme: # The A...
使用kubebuilder写一个cron Operator
前言算是记录一下学习笔记,完全按照官方文档来的.https://book.kubebuilder.io/cronjob-tutorial/basic-project 项目初始化123456# create a project directory, and then run the init command.mkdir projectcd project# we'll use a domain of tutorial.kubebuilder.io,# so all API groups will be <group>.tutorial.kubebuilder.io.kubebu...
重新温习一下iptables
前言新版本traefik 又拿不到IP了, 12345678910+ iptables -t filter -I FORWARD -s 0.0.0.0/0 -p TCP --dport 30003 -j ACCEPT+ echo 10.130.0.6+ grep -Eq :+ cat /proc/sys/net/ipv4/ip_forward+ '[' 1 '==' 1 ]+ iptables -t filter -A FORWARD -d 10.130.0.6/32 -p TCP --dport 30003 -j DROP+ iptables -t nat -I PREROUTING ...
gitlab runner 使用 dind
前言gitlab 使用 dind 安装docker1234567sudo yum install -y yum-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginsystemctl start dockersystemctl enable docker 安装...
对象存储,NAS,本地盘对比
前言对于Pod落地的BI日志, 有几种处理方法. 直接落本地磁盘 挂载NAS 挂载对象存储 首先很明显, 这3个存储方式, 性能从高到低是 1 > 2 > 3。而站在需求的角度上考虑, 首先是在弹性伸缩的前提下, 如何保证BI的日志不丢, 如果丢了需要保留原始日志做补传。那日志肯定是需要保留的, 而集群的弹性伸缩, node肯定是要删掉的。所以落本地磁盘就有几个问题。 如何保证日志收集完整上传日志以后才删除node. 如何保留源日志,以便出现问题能够补发之类的操作. 这次主要是针对于3种类型磁盘, 简单做一个对比. OSS 测试写入 使用 1 MB 的 I/O 块大...
K8S中CAP配置使用
前言https://www.jianshu.com/p/ada5810fb28a https://www.kernel.org/doc/gorman/html/understand/understand016.html 1If the process has CAP_SYS_RAWIO capabilities, a SIGTERM is sent to give the process a chance of exiting cleanly, otherwise a SIGKILL is sent. https://github.com/torvalds/linux/blob/mas...
avatar
Momo
不专业的运维工程师
FRIENDS
Baidu Google