Существуют ли какие-либо API-интерфейсы REST для стандартных команд kubectl, такие как apply / delete и т.д. - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь написать скрипт автоматизации для развертывания какого-либо приложения в службе Azure Kubernetes.Итак, мне нужны некоторые REST API или клиентские библиотеки, которые я могу использовать вместо использования нативных cmds kubectl.Я могу использовать C # или Powershell для сценария автоматизации.

Я нашел одну клиентскую библиотеку для управления кластером kubernetes с помощью dotnet, но, похоже, она не поддерживает команды apply / delete cmds. Ссылка

Ответы [ 2 ]

1 голос
/ 21 сентября 2019

Служба Azure Kubernetes поддерживает развертывание приложений Kubernetes с использованием диаграмм Helm.Использование Helm для автоматического развертывания является лучшим вариантом.

1 голос
/ 20 сентября 2019

kubectl выполняет API-вызовы на API-сервере Kubernetes в фоновом режиме, поэтому я думаю, что вы можете использовать любую из официальных или поддерживаемых сообществом клиентских библиотек для достижения того, что вы описываете.Вы можете найти список библиотек здесь .

Команда apply может генерировать множество различных вызовов API в зависимости от объекта, к которому она применяется, если это новый объект или если онуже существует и т. д. Я думаю, что по этой причине вы не можете найти его доступным в клиентских библиотеках

Попробуйте запустить kubectl с любой из команд, которые вы хотели бы добавить в скрипт автоматизации.Например,

kubectl get pods -v=10

Вы увидите генерируемые базовые вызовы API

    GET https://172.17.0.45:8443/api/v1/namespaces/default/pods?limit=500 200 OK in 9 milliseconds
    Response Headers:
        Content-Type: application/json
        Content-Length: 3631
        Date: Fri, 20 Sep 2019 20:21:48GMT 
    ...

Возможно, более простой вариант - просто автоматизировать с помощью скрипта Powershell, который вызывает собственный клиент kubectl

...