使用kubectl,我可以执行以下命令:
kubectl get serviceentries
字符串
然后我会收到一些信息。但是serviceentries是一个自定义资源。那么我如何使用kubernetes客户端来获取相同的信息呢?
例如,Yaml看起来像这样:
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
name: external-svc-https
spec:
hosts:
- api.dropboxapi.com
- www.googleapis.com
- api.facebook.com
location: MESH_EXTERNAL
ports:
- number: 443
name: https
protocol: TLS
resolution: DNS
型
有谁知道正确的使用方法吗?
3条答案
按热度按时间qlfbtfca1#
你应该能够像这样使用python客户端拉取它:
字符串
该方法适用于kubernetes中的每个自定义资源,并且不需要对python客户端进行任何进一步的定义。
6uxekuva2#
要从Moshe Shitrit非常有帮助的答案中进一步了解,您需要检查kubectl响应以查看使用什么
apiVersion
,因为它可能因自定义对象的类型而异。例如,对于virtualservices:字符串
你可以从
items
数组中的apiVersion看到group应该是:networking.istio.io
,version应该是:v1beta1
。如果你列出了一个命名空间的virtualservices,那么它应该是:型
rmbxnbpk3#
这是一段Python代码:
字符串
如果资源是集群范围(非名称空间范围),请使用
list_cluster_custom_object
同样的逻辑也适用于其他语言。