遍历匹配和指定ingress所有冲突的配置

遍历匹配和指定ingress所有冲突的配置

原因
  • 集群经常出现ingress调用404,原因为配置的server或者path冲突导致
#!/bin/bash
#遍历匹配和指定ingress所有冲突的配置
read -p "Enter cluster:" CLUSTER		#输入集群名称
read -p "Enter namespace:" NAMESPACE		#输入异常ingress的空间名
read -p "Enter ingressName:" INGRESSNAME		#输入异常ingress名

echo "find the repeatHosts in $CLUSTER cluster"

REPEATHOST=`kubectl get ingress --all-namespaces -owide |egrep "<输入集群域名,如*.csdn.net|www.csdn.net>"`
echo $REPEATHOST

if [[ `echo $REPEATHOST` != "" ]];then
  echo $REPEATHOST "is a repeat server,please change it!"
  else
  echo "Dons't have a repeat server"
fi

INGRESSADD=`kubectl get ingress -n $NAMESPACE $INGRESSNAME -owide |grep -v ADDRESS |awk '{print $3}'`
INGRESSHOST=`kubectl get ingress -n $NAMESPACE $INGRESSNAME -owide |grep -v ADDRESS |awk '{print $2}'`

INGRESSPATH=`kubectl get ingress --all-namespaces -oyaml |grep -v nginx.ingress.kubernetes.io |grep -w path:`

IFS=$'\n'    #设置默认分隔符

echo "This ingress address is $INGRESSADD;"

for i in `kubectl get ingress --all-namespaces -owide |grep $INGRESSADD |grep "$INGRESSHOST" |awk '{print $1,$2}'`;do
  if [[ `echo $i|awk '{print $2}'` != $INGRESSNAME ]];then
    PATHALL=`kubectl get ingress --all-namespaces -oyaml |grep -v nginx.ingress.kubernetes.io |grep path:`
    if [[ $INGRESSPATH =~ $PATHALL ]];then
      echo $i "have a repeat path"$PATHALL
    fi
  else
    echo "Dons't have a repeat path"
  fi
done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值