Kubectl 命令如何从远程服务器检索清单

How Kubectl command retrieves the manifest from remote server

当我们运行kubectl apply -k github.com/minio/direct-csi命令时,kubectl如何下载并应用部署清单?

我们如何使用curlwget命令将此文件下载到本地?

谢谢 SR

您可以看到 kubectl 通过使用 verbose log level 所做的所有 http 请求。

例如

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

How can we download this file to local using curl or wget command?

您可以对例如curl,在 Kubernetes is a REST API 中的每一件事,您需要来自 .kube/config 的适当身份验证或其他一些有效身份验证。

what is download from github.com/minio/direct-cs ?

您可以不使用 kustomize (apply -k) 来构建 kustomize,而无需使用此命令来应用:

kubectl kustomize github.com/minio/direct-csi

您应该会在大型清单的远程位置看到所有清单(派生自 kustomization.yaml)。