要使用curl调用Kubernetes API服务器接口并从Ingress列表中根据host字段和path字段内容进行过滤,可以按照以下步骤进行操作:

  1. 获取Kubernetes集群的API服务器地址和令牌,这些信息将用于curl请求。可以使用以下命令获取:

    KUBE_API_SERVER=$(kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}')
    KUBE_TOKEN=$(kubectl get secret -n <namespace> <secret-name> -o jsonpath='{.data.token}' | base64 -d)
    
  2. 使用curl发出GET请求来获取Ingress列表。在请求中指定命名空间(namespace)和API版本(extensions/v1beta1):

    curl -X GET $KUBE_API_SERVER/apis/extensions/v1beta1/namespaces/dev/ingresses -H "Authorization: Bearer $KUBE_TOKEN" -k
    
  3. 过滤结果以匹配所需的host字段和path字段内容。可以使用jq工具来处理JSON响应,例如:

    curl -X GET $KUBE_API_SERVER/apis/extensions/v1beta1/namespaces/dev/ingresses -H "Authorization: Bearer $KUBE_TOKEN" -k | jq '.items[] | select(.spec.rules[].host == "<desired-host>" and .spec.rules[].http.paths[].path == "<desired-path>")'
    

    其中,<desired-host><desired-path>应替换为要过滤的host和path字段值。

这样,您将获得满足过滤条件的Ingress对象列表

使用curl调用k8s apiserver接口如何从ingress列表中根据host字段和path字段内容进行过滤用以获取到符合要求的extensionsv1beta1 命名空间dev下的ingress对象

原文地址: https://www.cveoy.top/t/topic/iylV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录