kubectl结合grep的复合操作及grep简单总结

1 GREP多重筛选

## 1 -e选项实现搜索并列存在的多个之一关键词(或)
ls | grep -e tmp -e db
## 2 -E正则表达式检索多个并列条件()--通过正则表达式或操作
ls | grep -E "lib|tmp"

2 GREP常见参数梳理

grep -v 排除内容
grep -B 显示匹配行和之前num行
grep -A 显示匹配行和之后num行
grep -C 显示匹配行和前后num行
grep --color=auto 匹配字符串加色显示
grep -n 打印行号
grep -i 不区分大小写
grep -w 匹配单词
grep -E 即egrep使用扩展正则表达式
grep -e 匹配多个模式
grep -c 匹配到的行数

3 kubectl结合grep的复合操作脚本

登录指定服务服务器

  • 不输入关键词时候可以打印指定服务pod
  • 输入关键词时候可以直接进入指定服务
#! /bin/bash
[ -z $1 ] && echo "[提示]请输入具体服务pod名字:" \
  && kubectl get po -o wide | \
  grep -e service1 -e service2 -e service3 -e service4\
  | awk '{print $1"\t\t"$6}' && exit 1
ip=`kubectl get pods -o wide | grep $1 | awk '{print $6}'| head -1`

echo $ip

ssh root@$ip

删除指定pod–重启服务

#! /bin/bash
[ -z $1 ] && echo "[提示]请输入具体服务pod名字:" \
  && kubectl get po -o wide | \
  grep -e service1 -e service2 -e service3 -e service4\
  | awk '{print $1"\t\t"$6}' && exit 1
podname=`kubectl get pods -o wide | grep $1 | awk '{print $1}'| head -1`
read -p "是否重启服务$podname, yes or no?\n #" answer
if [[ $answer == yes ]];then
  kubectl delete pods $podname --grace-period=0 --force
else
  echo "[提示] 跳过本次操作!退出..."
fi
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值