В Kubernetes при создании модуля Controller с конфигурацией In Cluster kubeapi я хотел бы общаться с kubernetes так же, как вы делаете строку cmd
Я работаю над созданием модуля контроллера Kubernetes (или контейнера), который обращается к Kubernetes для изменения состояния кластера Kubernetes из модуля.
Проблема заключается в сложности работы с официальными клиентскими библиотеками Kubernetes. Когда вы работаете с Kubernetes в командной строке, это просто. Вы просто создаете файл манифеста kubernetes
# manifest.yaml
apiVersion: <some-version>
Kind: <some-kind>
metadata:
<some-metadata>
spec:
<some-spec>
Затем вы звоните
kubectl create -f manifest.yaml
Для меня это очень простой способ работы с Kubernetes.
Я хочу работать с Kubernetes таким же образом, когда пишу модуль контроллера Kubernetes, который обращается к Kubernetes из конфигурации inCluster.
Что я хотел бы сделать:
В моем модуле контроллера я хочу открыть API Kubernetes и установить локальную установку kubectl в контейнере. Затем я хочу сгенерировать любой манифест в виде текстового файла в моем коде контроллера и просто запустить простой
kubectl create -f <file.yaml>
в этом манифесте, чтобы создать ресурс в кластере, в котором работает Pod.
Как это возможно?