Как команда Kubectl извлекает манифест с удаленного сервера

#kubernetes #kubectl

#kubernetes #kubectl

Вопрос:

Когда мы запускаем kubectl apply -k github.com/minio/direct-csi команду, как kubectl загружает и применяет манифест развертывания?

Как мы можем загрузить этот файл на локальный с помощью команды curl или wget ?

Спасибо SR

Ответ №1:

Вы можете просмотреть весь http-запрос, который kubectl выполняется, используя подробный уровень журнала.

Например.

 kubectl get po --v=7
  

Вывод

 $ kubectl get po --v=7
I0822 20:08:27.940422   36846 loader.go:375] Config loaded from file:  /Users/Jonas/.kube/config
I0822 20:08:27.958708   36846 round_trippers.go:420] GET https://clusteraddress.com/api/v1/namespaces/default/pods?limit=500
I0822 20:08:27.958736   36846 round_trippers.go:427] Request Headers:
I0822 20:08:27.958742   36846 round_trippers.go:431]     Accept: application/json;as=Table;v=v1beta1;g=meta.k8s.io, application/json
I0822 20:08:27.958747   36846 round_trippers.go:431]     User-Agent: kubectl/v1.17.5 (darwin/amd64) kubernetes/e0fccaf
I0822 20:08:28.624188   36846 round_trippers.go:446] Response Status: 200 OK in 665 milliseconds
NAME                  READY   STATUS    RESTARTS   AGE
nx-67b4f5946c-2z58x   1/1     Running   0          21h

  

Как мы можем загрузить этот файл на локальный с помощью команды curl или wget?

Вы можете сделать то же самое, например, curl , все в Kubernetes — это REST API, и вам нужна надлежащая аутентификация с вашего .kube/config или какой-либо другой действительной аутентификации.

что такое загрузка с github.com/minio/direct-cs ?

Вместо применения с помощью kustomize ( apply -k ) вы можете просто создать kustomize без применения с помощью этой команды:

 kubectl kustomize github.com/minio/direct-csi
  

И вы должны увидеть все манифесты (полученные из kustomization.yaml) в удаленном расположении в большом манифесте.

Комментарии:

1. @jons, спасибо, мне было интересно узнать, что такое загрузка с github.com/minio/direct-cs сайта? Я не видел никакого deployment.yaml файла по этому URL.

2. @sfgroups ах! Вместо apply -k вы можете создать kustomize (без применения) с помощью kubectl kustomize такого: kubectl kustomize github.com/minio/direct-cs затем вы увидите все манифесты из этого «удаленного каталога» в собранном виде.

3. Kustomize выполняет преобразования манифестов, поэтому, чтобы использовать, например, curl, вы также должны использовать kustomize локально для выполнения тех же преобразований.

4. Понял, спасибо за подробности.,