Kubernetes api — различия между версиями
Материал из InformationSecurity WIKI
Drakylar (обсуждение | вклад) (Новая страница: «Категория:Pentest Страница посвящена командам kubectl и curl, которые позволяют работать с Kubern…») |
Drakylar (обсуждение | вклад) м (→Запросы) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 38: | Строка 38: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | = Запросы = | |
Запросы будут разделены на ресурсы, к которым их отправляют. | Запросы будут разделены на ресурсы, к которым их отправляют. | ||
+ | == Текущая конфигурация == | ||
− | + | === Конфиг === | |
− | |||
− | |||
Общая информация | Общая информация | ||
Строка 53: | Строка 52: | ||
− | + | === Пользователи === | |
Список пользователей | Список пользователей | ||
Строка 66: | Строка 65: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | === Контексты === | |
Список контекстов | Список контекстов | ||
Строка 84: | Строка 83: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | === Namespace === | |
Установить namespace по-умолчанию | Установить namespace по-умолчанию | ||
+ | <syntaxhighlight lang="bash" line="1" enclose="div" style="overflow-x:auto" > | ||
+ | kubectl config set-context --current --namespace=ggckad-s2 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | == Secrets == | ||
+ | |||
+ | Секреты - токены, пароли, ключи. | ||
+ | |||
+ | === list === | ||
+ | |||
<syntaxhighlight lang="bash" line="1" enclose="div" style="overflow-x:auto" > | <syntaxhighlight lang="bash" line="1" enclose="div" style="overflow-x:auto" > | ||
kubectl config set-context --current --namespace=ggckad-s2 | kubectl config set-context --current --namespace=ggckad-s2 | ||
</syntaxhighlight> | </syntaxhighlight> |
Текущая версия на 12:16, 13 марта 2022
Страница посвящена командам kubectl и curl, которые позволяют работать с Kubernetes API.
Похожую информацию можно найти тут https://kubernetes.io/ru/docs/reference/kubectl/cheatsheet/
Содержание
Настройка утилит
kubectl
Для общения с API можно воспользоваться стандартным ПО kubectl.
Пример запроса:
kubectl get secrets
Запросы можно делать inline с токеном:
kubectl --token=$TOKEN --server=$APISERVER --insecure-skip-tls-verify=true
curl
Для curl кроме стандартных параметров (токен, неймспейс) потребуется адрес API-сервера.
export APISERVER=${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT_HTTPS}
export SERVICEACCOUNT=/var/run/secrets/kubernetes.io/serviceaccount
export NAMESPACE=$(cat ${SERVICEACCOUNT}/namespace)
export TOKEN=$(cat ${SERVICEACCOUNT}/token)
# Лишняя строка, но можно использовать с curl --cacert ${CACERT}
# export CACERT=${SERVICEACCOUNT}/ca.crt
curl -k --header "Authorization: Bearer ${TOKEN}"
Запросы
Запросы будут разделены на ресурсы, к которым их отправляют.
Текущая конфигурация
Конфиг
Общая информация
kubectl config view
Пользователи
Список пользователей
kubectl config get-users
kubectl config view -o jsonpath='{.users[*].name}'
Удалить пользователя
kubectl config unset users.foo
Контексты
Список контекстов
kubectl config get-contexts
Текущий контекст
kubectl config current-context
Установить контекст
kubectl config use-context my-cluster-name
Namespace
Установить namespace по-умолчанию
kubectl config set-context --current --namespace=ggckad-s2
Secrets
Секреты - токены, пароли, ключи.
list
kubectl config set-context --current --namespace=ggckad-s2