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

问题描述 投票:1回答:1

任何人都可以分享kubectl exec的工作原理,比如技术概述。还有什么方法可以解决它。

例如,我有以下问题:尝试连接到pod时:

kubectl.exe:I0502 04:25:18.562064 7288 loader.go:357]从文件C:\ Users \ u615648 / .kube / config加载的配置在行: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]请求标题:I0502 04:25:18.636776 7288 round_trippers.go:424]接受: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]回复状态:200 OK在79毫秒I0502 04:25:18.716758 7288 round_trippers.go:442]响应标题:I0502 04:25:18.716758 7288 round_trippers.go:445]内容类型:application / json I0502 04:25:18.716758 7288 round_trippers.go :445]内容长度:3167 I0502 04:25:18.716758 7288 round_trippers.go:445]日期:星期三,02五月2018 04:25:18 GMT I0502 04:25:18.717872 7288 request.go:873]回复正文: {“kind”:“Pod”,“apiVersion”:“v1”,“metadata”:{“name”:“dataarchives-service-264802370-mjwcl”,“generateName”:“da taarchives-service-264802370-”, “命名空间”: “FDM式发展”, “selfLink”:“/ API / V1 /命名空间/ FDM开发/ p ods / dataarchives-service-264802370-mjwcl“,”uid“:”eeb7d14f-49 5e-11e8-9d96-002248014205“,”resourceVersion“:”15681866“,”creationTimestamp“:”2018-04-26T14:34:31Z “,”“label”:{“app”:“dataarchives”,“pod-template-hash”:“264802370”},“annot ations”:{“kubernetes.io/created-by”:“{\”“kind \ “:\” SerializedReference \ “\ ”apiVersion \“:\ ”V1 \“,\ ”引用\“:{\ ”之类的\“:\ ”ReplicaSet \“,\ ”命名空间\“:\” FDM式发展\“,\”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 [截断2143字符] 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&std out = true I0502 04:25:18.908749 7288 round_trippers.go:421]请求标题: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] 用户代理:kubectl.exe / v1.9.3(windows / amd64)kubernetes / d283541 I0502 04:25:19.086745 7288 round_trippers.go:439]响应状态:401未授权,177毫秒I0502 04:25:19.086745 7288 round_trippers.go :442]回复标题:I0502 04:25:19.086745 7288 round_trippers.go:445]日期:2018年5月2日星期三04:25:19 GMT I0502 04:25:19.086745 7288 round_trippers.go:445]内容长度:12 I0502 04:25:19.086745 7288 round_trippers.go:445]内容类型:text / plain; charset = utf-8 F0502 04:25:19.086745 7288 helpers.go:119]错误:无法升级连接:未经授权

帮助赞赏。

kubernetes
1个回答
4
投票

在内部,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”吗?

© www.soinside.com 2019 - 2024. All rights reserved.