<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bob_tthp的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bob_tthp</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bob_tthp]]></copyright><item><title><![CDATA[创建 deployment 每个组件如何响应？]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/128800592</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/128800592</guid><author>bob_tthp</author><pubDate>Mon, 30 Jan 2023 13:23:49 +0800</pubDate><description><![CDATA[k8s 创建一个 deployment 会发生什么]]></description><category></category></item><item><title><![CDATA[使用 docker 编译 go 程序开启缓存出现权限问题]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/127581149</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/127581149</guid><author>bob_tthp</author><pubDate>Fri, 28 Oct 2022 23:22:39 +0800</pubDate><description><![CDATA[go程序编译缓存导致的权限问题]]></description><category></category></item><item><title><![CDATA[mac 访达指定目录]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/127480184</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/127480184</guid><author>bob_tthp</author><pubDate>Sun, 23 Oct 2022 20:35:01 +0800</pubDate><description><![CDATA[mac finder 选择制定路径]]></description><category></category></item><item><title><![CDATA[网络故障排查]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/107371524</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/107371524</guid><author>bob_tthp</author><pubDate>Wed, 15 Jul 2020 22:13:39 +0800</pubDate><description><![CDATA[网络链路大概方向：
client —&gt; 路由 —&gt; 防火墙 —&gt; 负载均衡设备 —&gt; 交换机 —&gt; server防火墙 —&gt; server交换机 —&gt; server服务器
问题：
1、每个链路之前都可能存在丢包可能
2、tcp重传判断判断是否存在丢包现象（seq变化）
方案：
1、包数量检测
2、分段丢包计算
3、包内容对比
细节：
tcp重传 1、ipid 会变大 2、seq小于等于上一个包

...]]></description><category></category></item><item><title><![CDATA[kubeadm 安装k8s指定版本]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/105327010</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/105327010</guid><author>bob_tthp</author><pubDate>Mon, 04 May 2020 13:50:16 +0800</pubDate><description><![CDATA[yum install kubelet-1.11.2 kubectl-1.11.2 kubeadm-1.11.2
kubeadm init --kubernetes-version=v1.11.2
查看需要的镜像列表
kubeadm config images list --kubernetes-version=1.11.2
k8s.gcr.io/kube-apiserver-amd64:v1.1...]]></description><category></category></item><item><title><![CDATA[kafka启动脚本]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/91041426</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/91041426</guid><author>bob_tthp</author><pubDate>Thu, 06 Jun 2019 11:31:17 +0800</pubDate><description><![CDATA[#!/bin/bash
zoo_home=/opt/kafka/zoo_3.4.9/
for i in {1…3}
do
#echo  zoohomezookeeper−{zoo_home}zookeeper-zooh​omezookeeper−{i}/bin/zkServer.sh
bash  zoohomezookeeper−{zoo_home}zookeeper-zooh​omezookee...]]></description><category></category></item><item><title><![CDATA[Linux—shell中$(( ))、$( )、``与${ }的区别]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/87701640</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/87701640</guid><author>bob_tthp</author><pubDate>Tue, 19 Feb 2019 12:52:47 +0800</pubDate><description><![CDATA[命令替换
在bash中，$( )与（反引号）都是用来作命令替换的。
命令替换与变量替换差不多，都是用来重组命令行的，先完成引号里的命令行，然后将其结果替换出来，再重组成新的命令行。
exp 1
[root@localhost ~]# echo today is $(date “+%Y-%m-%d”)
today is 2017-11-07
[root@localhost ~]# echo toda...]]></description><category></category></item><item><title><![CDATA[安装buildbot]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/86715542</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/86715542</guid><author>bob_tthp</author><pubDate>Thu, 31 Jan 2019 15:30:58 +0800</pubDate><description><![CDATA[pip install buildbot
pip install buildbot-www
pip install buildbot-grid_view
pip install buildbot-waterfall_view
pip install buildbot-console_view

]]></description><category></category></item><item><title><![CDATA[python解析xml文件（xml.etree.cElementTree）]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/84938754</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/84938754</guid><author>bob_tthp</author><pubDate>Mon, 10 Dec 2018 13:48:33 +0800</pubDate><description><![CDATA[Element中的遍历与查询
Element.iter(tag=None)：遍历该Element所有后代，也可以指定tag进行遍历寻找。
Element.findall(path)：查找当前元素下tag或path能够匹配的直系节点。
Element.find(path)：查找当前元素下tag或path能够匹配的首个直系节点。
Element.text: 获取当前元素的text值。
Element....]]></description><category></category></item><item><title><![CDATA[linux添加只读用户]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/84936169</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/84936169</guid><author>bob_tthp</author><pubDate>Mon, 10 Dec 2018 10:36:37 +0800</pubDate><description><![CDATA[useradd -s /bin/bash test
这步不要指定rbash，否侧cd等內建命令无法使用
#3.修改用户密码
passwd test
#4.创建用户shell执行命令目录
mkdir /home/test/.bin
#5.root修改用户的shell配置文件
chown root. /home/test/.bash_profile
chmod 755 /home/test/.bash...]]></description><category></category></item><item><title><![CDATA[redis批量删除指定db的key]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/84192388</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/84192388</guid><author>bob_tthp</author><pubDate>Sat, 17 Nov 2018 20:30:29 +0800</pubDate><description><![CDATA[某些key可能不在默认的db中，需要选择db
redis-cli  -n “db”  -h  “ip” -p “port”  keys ‘xxx*’  -a  “password”  |  redis-cli  -n “db”  -h  192.168.179.127 -p “port”  keys ‘xxx*’  -a  “password”  del

...]]></description><category></category></item><item><title><![CDATA[docker 开放API接口]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/84139944</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/84139944</guid><author>bob_tthp</author><pubDate>Fri, 16 Nov 2018 15:21:59 +0800</pubDate><description><![CDATA[/usr/lib/systemd/system/docker.service
ExecStart=
部分增加最后一行
-H unix://var/run/docker.sock -H tcp://0.0.0.0:2375  \
systemctl reload-daemon
systemctl restart docker
curl -X GET http://127.0.0.1:2375/ver...]]></description><category></category></item><item><title><![CDATA[java抓线程堆栈]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/83827611</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/83827611</guid><author>bob_tthp</author><pubDate>Wed, 07 Nov 2018 17:12:45 +0800</pubDate><description><![CDATA[1.获取线程信息，并找到占用CPU高的线程
top -H -p pid
2.将需要的线程ID转换为16进制格式
printf “%x\n” tid
3.打印线程的堆栈信息
jstack pid |grep tid -A 30
=============================
栈内容分析：
线程名,如“main”
线程属性（如果是Daemon线程，会有Daemon标识，否则，什么都没有）
...]]></description><category></category></item><item><title><![CDATA[curl命令行请求]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/83653654</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/83653654</guid><author>bob_tthp</author><pubDate>Fri, 02 Nov 2018 13:14:29 +0800</pubDate><description><![CDATA[curl -X POST http://xxxx/xx -h “args” -d “args”
-X 请求方式（post/get）
-h 设置header中内容 (Content-Type:application/json)
-d 请求参数(比如json{“id”:1})

]]></description><category></category></item><item><title><![CDATA[docker镜像、容器导出、导入]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/83546147</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/83546147</guid><author>bob_tthp</author><pubDate>Tue, 30 Oct 2018 17:56:10 +0800</pubDate><description><![CDATA[docker save保存的是镜像（image），docker export保存的是容器（container）；
docker load用来载入镜像包，docker import用来载入容器包，但两者都会恢复为镜像；
docker load不能对载入的镜像重命名，而docker import可以为镜像指定新名称。

...]]></description><category></category></item><item><title><![CDATA[shell中花括号，3个小于号功能]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/83374174</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/83374174</guid><author>bob_tthp</author><pubDate>Thu, 25 Oct 2018 09:01:58 +0800</pubDate><description><![CDATA[

{}
可以做一些字符串的操作
2.&amp;amp;lt;&amp;amp;lt;&amp;amp;lt;
可以将标准输入流重定向
awk -vRS=’ ’ ‘!a[$1]++’ &amp;amp;lt;&amp;amp;lt;&amp;amp;lt; ${a[@]}


截断功能
${file#/}:       拿掉第一条/及其左边的字符串：dir1/dir2/dir3/my.file.txt
${file##/}:    拿掉最后一条/及其左边的字符串：my.file.txt]]></description><category></category></item><item><title><![CDATA[python日志轮转RotatingFileHandler动态加载导致不能记录日志问题]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/82966455</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/82966455</guid><author>bob_tthp</author><pubDate>Mon, 08 Oct 2018 12:55:00 +0800</pubDate><description><![CDATA[linux下：
Traceback (most recent call last):  File “/usr/lib64/python2.7/logging/handlers.py”, line 77, in emit     self.doRollover()  File “/usr/lib64/python2.7/logging/handlers.py”, line 136, in doRol...]]></description><category></category></item><item><title><![CDATA[shell后台daemon脚本]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/82926040</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/82926040</guid><author>bob_tthp</author><pubDate>Tue, 02 Oct 2018 14:27:17 +0800</pubDate><description><![CDATA[有些脚本，可能防止重复启动，处于后台daemon状态
#!/bin/bash
#指定锁文件=========
lockfile=/test/lock.txt
#检测锁文件,避免重复启动========
function check()
{
#==============kill -0不发送信号，判断进程是否存在，返回1/0
if [ -e $lockfile ] &amp;amp;amp;&amp;amp;amp; kill -...]]></description><category></category></item><item><title><![CDATA[net.ipv4.tcp_tw_recycle、net.ipv4.tcp_tw_reuse回收tcp连接总结]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/82917697</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/82917697</guid><author>bob_tthp</author><pubDate>Mon, 01 Oct 2018 17:45:03 +0800</pubDate><description><![CDATA[对于tcp连接 TIME_WAIT使用建议使用以下优化方式：
1.修改net.ipv4.ip_local_port_range参数，增加客户端端口可用范围。
2.或服务器IP，让服务器能容纳足够多的TIME-WAIT状态连接。在我们常见的互联网架构中（NGINX反代跟NGINX，NGINX跟FPM，FPM跟redis、mysql、memcache等），减少TIME-WAIT状态的TCP连接，最有效...]]></description><category></category></item><item><title><![CDATA[sed、awk截取日志]]></title><link>https://blog.youkuaiyun.com/bob_tthp/article/details/82815791</link><guid>https://blog.youkuaiyun.com/bob_tthp/article/details/82815791</guid><author>bob_tthp</author><pubDate>Sat, 22 Sep 2018 19:12:46 +0800</pubDate><description><![CDATA[awk ‘/字符串1/{a=1}a{b=b?b&quot;\n&quot;$0:$0;if(b~/字符串2/){print b;b=&quot;&quot;}}’  file
sed -n ‘/字符串1/{p;:1;n;:2;/字符串2/{p;b1};N;b2}’  file
awk ‘/字符串1/{a=1}a{b=b?b&quot;\n&quot;$0:$0;if(b~/字符串2/){print b;b=&quot;&quot;}}’  file
sed -n ‘/字符串1...]]></description><category></category></item></channel></rss>