Kubernetes api — различия между версиями

Материал из InformationSecurity WIKI
Перейти к: навигация, поиск
(Новая страница: «Категория:Pentest Страница посвящена командам kubectl и curl, которые позволяют работать с Kubern…»)
 
м
Строка 38: Строка 38:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Запросы ==
+
= Запросы =
  
 
Запросы будут разделены на ресурсы, к которым их отправляют.
 
Запросы будут разделены на ресурсы, к которым их отправляют.
  
  
=== Текущая конфигурация ===
+
== Текущая конфигурация ==
  
==== Конфиг ====
+
=== Конфиг ===
  
 
Общая информация
 
Общая информация
Строка 53: Строка 53:
  
  
==== Пользователи ====
+
=== Пользователи ===
  
 
Список пользователей
 
Список пользователей
Строка 66: Строка 66:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== Контексты ====
+
=== Контексты ===
  
 
Список контекстов
 
Список контекстов
Строка 84: Строка 84:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== Namespace  ====
+
=== Namespace  ===
  
 
Установить namespace по-умолчанию
 
Установить namespace по-умолчанию

Версия 12:12, 13 марта 2022


Страница посвящена командам kubectl и curl, которые позволяют работать с Kubernetes API.

Похожую информацию можно найти тут https://kubernetes.io/ru/docs/reference/kubectl/cheatsheet/

Настройка утилит

kubectl

Для общения с API можно воспользоваться стандартным ПО kubectl.

Пример запроса:

1 kubectl get secrets


Запросы можно делать inline с токеном:

1 kubectl --token=$TOKEN --server=$APISERVER --insecure-skip-tls-verify=true

curl

Для curl кроме стандартных параметров (токен, неймспейс) потребуется адрес API-сервера.

1 export APISERVER=${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT_HTTPS}
2 export SERVICEACCOUNT=/var/run/secrets/kubernetes.io/serviceaccount
3 export NAMESPACE=$(cat ${SERVICEACCOUNT}/namespace)
4 export TOKEN=$(cat ${SERVICEACCOUNT}/token)
5 # Лишняя строка, но можно использовать с curl --cacert ${CACERT}
6 # export CACERT=${SERVICEACCOUNT}/ca.crt
7 
8 curl -k --header "Authorization: Bearer ${TOKEN}"

Запросы

Запросы будут разделены на ресурсы, к которым их отправляют.


Текущая конфигурация

Конфиг

Общая информация

1 kubectl config view


Пользователи

Список пользователей

1 kubectl config get-users
2 kubectl config view -o jsonpath='{.users[*].name}'

Удалить пользователя

1 kubectl config unset users.foo

Контексты

Список контекстов

1 kubectl config get-contexts


Текущий контекст

1 kubectl config current-context

Установить контекст

1 kubectl config use-context my-cluster-name

Namespace

Установить namespace по-умолчанию

1 kubectl config set-context --current --namespace=ggckad-s2