Kubernetes Python Clientlabel selectors
を介してService を取得しようとしています。list_service_for_all_namespacesメソッドを使用してサービスを取得し、次のようなパラメーターでフィルター処理しています。field_selector
...
field_selector="spec.selector={u'app': 'redis'}
...
services = v1.list_service_for_all_namespaces(field_selector=field_selector, watch=False)
for service in services.items:
print(service)
...
次のエラーが表示されます。
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"\"spec.selector\" is not a known field selector: only \"metadata.name\", \"metadata.namespace\"","reason":"BadRequest","code":400}
したがって、文書化されていない有効なパラメーターはname
とのみのようです。namespace
field_selector = 'field_selector_example' # str | 返されるオブジェクトのリストをフィールドごとに制限するセレクター。デフォルトはすべてです。(オプション)
今のところ、私の回避策は、ラベルセレクターと同じラベルをサービスに設定し、パラメーターを介して取得することですが、 .label_selector
label selectors
問題は、最初からサービスの背後にあるエンドポイント (バックエンド ポッド) を取得する必要があることですが、API 呼び出しではこの情報が返されないため、セレクターを取得して、それらをポッドのラベルと照合します。 、そこに行きますが、セレクターも取得できないことに気付きました。
これは制限が多すぎます。私のアプローチが間違っているのではないかと考えています。サービスから取得する方法を知っている人はいlabel selectors
ますか?