首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes节点不启动

Kubernetes节点不启动
EN

Stack Overflow用户
提问于 2019-12-23 09:24:56
回答 2查看 2.1K关注 0票数 0

我在当地的K8s很难拿出我的吊舱。它安装在Ubuntu18.04(1个主VM,1个节点VM)上。

代码语言:javascript
复制
Kubernetes-Master:~$ kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2019-10-15T19:09:08Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes-Slave:/var/lib/kubelet/pki$ kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?

我注意到以下内容(从节点= worker节点):

代码语言:javascript
复制
Kubernetes-Master:~$ kubectl get nodes
NAME                STATUS     ROLES    AGE   VERSION
kubernetes-master   NotReady   master   62d   v1.17.0
kubernetes-slave    NotReady   <none>   62d   v1.17.0

通过检查节点:

代码语言:javascript
复制
Kubernetes-Master:~$ kubelet
F1223 10:25:38.045551   20431 server.go:253] error reading /var/lib/kubelet/pki/kubelet.key, certificate and key must be supplied as a pair

Kubernetes-Slave:/var/lib/kubelet/pki$ kubelet
F1223 10:20:14.651684    3558 server.go:253] error reading /var/lib/kubelet/pki/kubelet.key, certificate and key must be supplied as a pair

两名越南船民都昏迷了几天。启动后一个吊舱没有启动。一次重启之后,所有的吊舱都停了下来:

代码语言:javascript
复制
Kubernetes-Master:~$ kubectl get all -o wide -n gitbucket
NAME                    TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE   SELECTOR
service/gitbucket-svc   ClusterIP   10.97.69.199   <none>        8080/TCP   67m   app=gitbucket

NAME                        READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES                       SELECTOR
deployment.apps/gitbucket   0/1     0            0           67m   gitbucket    gitbucket/gitbucket:latest   app=gitbucket

NAME                                   DESIRED   CURRENT   READY   AGE   CONTAINERS   IMAGES                       SELECTOR
replicaset.apps/gitbucket-67cc5686df   1         0         0       67m   gitbucket    gitbucket/gitbucket:latest   app=gitbucket,pod-template-hash=67cc5686df

知道怎么回事吗?

EN

回答 2

Stack Overflow用户

发布于 2019-12-23 13:23:24

您可能对节点授权有问题。由于节点授权器,kubelet将执行API操作。

然后对任何成功验证的请求(包括匿名请求)进行授权。默认的授权模式是AlwaysAllow,它允许所有请求- kubelet授权

细分对kubelet的访问有许多可能的原因:

  • 启用了匿名的auth,但是匿名用户调用kubelet的能力应该受到限制
  • 启用了承载令牌auth,但是任意API用户(如服务帐户)调用kubelet的能力应该受到限制
  • 启用了客户端证书auth,但只允许由配置的CA签名的某些客户端证书使用kubelet API。

若要细分对kubelet API的访问,请将授权委托给API服务器:

  1. 确保在API服务器中启用Authization.k8s.io/v1beta1API组
  2. 使用--authorization-mode=Webhook启动kubelet,并使用kubelet在配置的API服务器上调用SubjectAccessReview API来确定每个请求是否被授权。
  3. kubelet使用与apiserver相同的请求属性方法授权API请求。

您可以在这里找到更多信息:pki kubernetes

在Kubernetes中的身份验证:奥斯-库伯内特斯

票数 0
EN

Stack Overflow用户

发布于 2019-12-25 20:08:49

我想我找到问题了。这与CSInode从Kubernetes 1.16到1.17的转换有关。升级我的内存后,我有了一个计划好的补丁程序运行(Ubuntu景观),它从1.16迁移到1.17。详细信息可以在这里找到:工作人员开始失败CSINodeIfo:更新CSINode注释时出错

升级细节记录在这里(works):https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/

如果您使用ISTIO:

Istio (在我的例子中为1.3.3)将阻止升级。如果您想要执行对Kubernetes 1.17的升级,最简单的方法是卸载istio并在更新完成后重新安装它。我在istio上找不到定义的迁移路径(只有bug或特性讨论)。请记住:

  • 重新建立kubernetes秘密(istio-system命名空间),包括您的证书
  • 用端口指令重新调整ingressgateway (istio边缘网关)
  • 重新创建您的自定义应用程序网关(如果您选择使用相同的)
  • 重新建立所有虚拟服务

示例配置

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59452828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档