遍历匹配和指定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
    评论
Rancher是一个开源的容器管理平台,支持Kubernetes集群的部署和管理。而Ingress是Kubernetes的一种资源对象,用于管理分发入站流量到集群中的服务。 在Rancher中配置Ingress可以通过以下步骤完成: 1. 登录Rancher并选择所需的环境。 2. 在“项目”部分,创建或选择一个项目,在该项目下创建一个命名空间用于部署Ingress资源。 3. 在该命名空间下创建Ingress对象。可以在Rancher提供的图形化界面中创建,也可以通过YAML文件定义并导入。 4. 在Ingress对象中定义路由规则。可以设置路径和主机名等规则来将流量分发到不同的服务。 5. 为每个路由规则定义后端服务。可以选择Kubernetes服务、外部IP或者主机名来作为后端服务。 6. 配置Ingress Controller。Ingress Controller是Kubernetes集群中负责处理Ingress对象并实际转发流量的组件。在Rancher中,可以选择Nginx Ingress Controller或者Traefik等常用的Ingress Controller进行配置和部署。 7. 部署Ingress Controller。可以通过Rancher提供的应用商店或者手动创建来部署Ingress Controller。 8. 验证配置。在部署完成后,可以通过访问指定的主机名或者路径来验证Ingress配置是否生效。 总而言之,通过Rancher可以方便地配置和管理Ingress对象,并通过选择合适的Ingress Controller来实现流量的负载均衡和路由分发。这样可以更好地管理和控制集群中的服务访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值