gpt4 book ai didi

kubernetes - Kubernetes Kubectl exec如何工作以及如何对其进行故障排除

转载 作者:行者123 更新时间:2023-12-02 11:54:30 24 4
gpt4 key购买 nike

任何人都可以分享kubectl exec的工作方式,例如技术概述。
还有解决问题的方法。

例如,当尝试连接到Pod时,我遇到以下问题:

kubectl.exe : I0502 04:25:18.562064 7288 loader.go:357] Config loaded from file C:\Users\u615648/.kube/config At line:1 char:1 + .\kubectl.exe exec dataarchives-service-264802370-mjwcl date -n fdm- ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (I0502 04:25:18....48/.kube/config:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError

I0502 04:25:18.636776 7288 round_trippers.go:414] GET https://fdmmgmt.uksouth.cloudapp.azure.com/api/v1/namespaces/fdm-development/pods/dataarchives-service-264802370-mjwcl I0502 04:25:18.636776 7288 round_trippers.go:421] Request Headers: I0502 04:25:18.636776 7288 round_trippers.go:424] Accept: application/json, / I0502 04:25:18.636776 7288 round_trippers.go:424] User-Agent: kubectl.exe/v1.9.3 (windows/amd64) kubernetes/d283541 I0502 04:25:18.716758 7288 round_trippers.go:439] Response Status: 200 OK in 79 milliseconds I0502 04:25:18.716758 7288 round_trippers.go:442] Response Headers: I0502 04:25:18.716758 7288 round_trippers.go:445] Content-Type: application/json I0502 04:25:18.716758 7288 round_trippers.go:445] Content-Length: 3167 I0502 04:25:18.716758 7288 round_trippers.go:445] Date: Wed, 02 May 2018 04:25:18 GMT I0502 04:25:18.717872 7288 request.go:873] Response Body: {"kind":"Pod","apiVersion":"v1","metadata":{"name":"dataarchives-service-264802370-mjwcl","generateName":"da taarchives-service-264802370-","namespace":"fdm-development","selfLink":"/api/v1/namespaces/fdm-development/pods/dataarchives-service-264802370-mjwcl","uid":"eeb7d14f-49 5e-11e8-9d96-002248014205","resourceVersion":"15681866","creationTimestamp":"2018-04-26T14:34:31Z","labels":{"app":"dataarchives","pod-template-hash":"264802370"},"annot ations":{"kubernetes.io/created-by":"{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicaSet\",\"namespace\":\"fdm-development\",\"n ame\":\"dataarchives-service-264802370\",\"uid\":\"eeaf949c-495e-11e8-9d96-002248014205\",\"apiVersion\":\"extensions\",\"resourceVersion\":\"15075652\"}}\n"},"ownerRefe rences":[{"apiVersion":"extensions/v1beta1","kind":"ReplicaSet","name":"dataarchives-service-264802370","uid":"eeaf949c-495e-11e8-9d96-002248014205","controller":true,"b lockOwnerDeletion":true}]},"spec":{"volumes":[{"name":"uploadsfileshare [truncated 2143 chars] I0502 04:25:18.908749 7288 round_trippers.go:414] POST https://fdmmgmt.uksouth.cloudapp.azure.com/api/v1/namespaces/fdm-development/pods/dataarchives-service-26480237 0-mjwcl/exec?command=date&command=cmd&container=dataarchives&container=dataarchives&stderr=true&stdout=true I0502 04:25:18.908749 7288 round_trippers.go:421] Request Headers: I0502 04:25:18.908749 7288 round_trippers.go:424]
X-Stream-Protocol-Version: v4.channel.k8s.io I0502 04:25:18.908749
7288 round_trippers.go:424] X-Stream-Protocol-Version: v3.channel.k8s.io I0502 04:25:18.908749 7288 round_trippers.go:424] X-Stream-Protocol-Version: v2.channel.k8s.io I0502 04:25:18.908749
7288 round_trippers.go:424] X-Stream-Protocol-Version: channel.k8s.io I0502 04:25:18.908749 7288 round_trippers.go:424]
User-Agent: kubectl.exe/v1.9.3 (windows/amd64) kubernetes/d283541 I0502 04:25:19.086745 7288 round_trippers.go:439] Response Status: 401 Unauthorized in 177 milliseconds I0502 04:25:19.086745 7288 round_trippers.go:442] Response Headers: I0502 04:25:19.086745 7288 round_trippers.go:445] Date: Wed, 02 May 2018 04:25:19 GMT I0502 04:25:19.086745 7288 round_trippers.go:445] Content-Length: 12 I0502 04:25:19.086745 7288 round_trippers.go:445] Content-Type: text/plain; charset=utf-8 F0502 04:25:19.086745 7288 helpers.go:119] error: unable to upgrade connection: Unauthorized



帮助表示赞赏。

最佳答案

在内部,kubectl命令通过HTTP / SPDY与Kubernetes API服务器进行交互。 Kubernetes的API服务器是常规的REST API。 Kubernetes目前正在使用SPDY,但是维护者计划在Docker允许的情况下尽快切换到HTTP / 2:https://github.com/kubernetes/kubernetes/issues/7452

您实际上可以在这里看看,看看kubectl命令如何调用kubernetes go-client与REST API交互:https://github.com/kubernetes/kubernetes/blob/e6272b887b81a62e6f06b7fac4b3b61d1c8bf657/pkg/kubectl/cmd/exec/exec.go#L310

关于您的具体堆栈跟踪:“错误:无法升级连接:未经授权”看起来您无权。您是否可以使用kubectl运行其他命令,例如“kubectl get po --all-namespaces”?

关于kubernetes - Kubernetes Kubectl exec如何工作以及如何对其进行故障排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50150649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com