ポッド内から OpenShift および Kubernetes API にアクセスして、ポッドが属するアプリケーション内のオブジェクトを照会および変更したいと考えています。
ドキュメント ( https://docs.openshift.org/latest/dev_guide/service_accounts.html ) で、API へのアクセス方法に関する次の説明を見つけました。
$ TOKEN="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)"
$ curl --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt \
"https://openshift.default.svc.cluster.local/oapi/v1/users/~" \
-H "Authorization: Bearer $TOKEN"
問題は、たとえばポッドにアクセスしたい場合、自分がいる名前空間を知る必要があることです:
https://openshift.default.svc.cluster.local/oapi/v1/namespaces/${namespace}/pods
これまでに見つけた唯一の方法は、名前空間を環境変数として送信することですが、ユーザーがその情報を入力する必要がないようにしたいと思います。